Fixed pdroid security hole (ported from OpenPDroid)
[auto-patcher.git] / patches / pdroid / 4.0 / aosp / 20120507 / framework.patch
blob496d87e909d36606662748f121b0955ee3900a04
1 diff -Npru stock-framework/smali/android/accounts/AccountAuthenticatorCache.smali pdroid-framework/smali/android/accounts/AccountAuthenticatorCache.smali
2 --- stock-framework/smali/android/accounts/AccountAuthenticatorCache.smali 2012-05-07 17:01:02.129632553 -0500
3 +++ pdroid-framework/smali/android/accounts/AccountAuthenticatorCache.smali 2012-05-07 17:01:31.697779173 -0500
4 @@ -136,7 +136,7 @@
6 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
7 :try_end_2c
8 - .catchall {:try_start_7 .. :try_end_2c} :catchall_3e
9 + .catchall {:try_start_7 .. :try_end_2c} :catchall_3b
11 move-result v0
13 @@ -144,9 +144,9 @@
15 const/4 v0, 0x0
17 + :goto_30
18 invoke-virtual {v8}, Landroid/content/res/TypedArray;->recycle()V
20 - :goto_33
21 return-object v0
23 :cond_34
24 @@ -157,13 +157,11 @@
26 invoke-direct/range {v0 .. v7}, Landroid/accounts/AuthenticatorDescription;-><init>(Ljava/lang/String;Ljava/lang/String;IIIIZ)V
27 :try_end_3a
28 - .catchall {:try_start_34 .. :try_end_3a} :catchall_3e
29 + .catchall {:try_start_34 .. :try_end_3a} :catchall_3b
31 - invoke-virtual {v8}, Landroid/content/res/TypedArray;->recycle()V
33 - goto :goto_33
34 + goto :goto_30
36 - :catchall_3e
37 + :catchall_3b
38 move-exception v0
40 invoke-virtual {v8}, Landroid/content/res/TypedArray;->recycle()V
41 diff -Npru stock-framework/smali/android/accounts/AccountManager$AmsTask.smali pdroid-framework/smali/android/accounts/AccountManager$AmsTask.smali
42 --- stock-framework/smali/android/accounts/AccountManager$AmsTask.smali 2012-05-07 17:01:02.177632795 -0500
43 +++ pdroid-framework/smali/android/accounts/AccountManager$AmsTask.smali 2012-05-07 17:01:31.737779373 -0500
44 @@ -133,102 +133,102 @@
46 :try_start_e
47 invoke-virtual {p0}, Landroid/accounts/AccountManager$AmsTask;->get()Ljava/lang/Object;
48 + :try_end_11
49 + .catchall {:try_start_e .. :try_end_11} :catchall_2a
50 + .catch Ljava/util/concurrent/CancellationException; {:try_start_e .. :try_end_11} :catch_23
51 + .catch Ljava/util/concurrent/TimeoutException; {:try_start_e .. :try_end_11} :catch_72
52 + .catch Ljava/lang/InterruptedException; {:try_start_e .. :try_end_11} :catch_60
53 + .catch Ljava/util/concurrent/ExecutionException; {:try_start_e .. :try_end_11} :catch_2f
55 move-result-object v2
57 + :try_start_12
58 check-cast v2, Landroid/os/Bundle;
59 :try_end_14
60 - .catchall {:try_start_e .. :try_end_14} :catchall_2d
61 - .catch Ljava/util/concurrent/CancellationException; {:try_start_e .. :try_end_14} :catch_26
62 - .catch Ljava/util/concurrent/TimeoutException; {:try_start_e .. :try_end_14} :catch_32
63 - .catch Ljava/lang/InterruptedException; {:try_start_e .. :try_end_14} :catch_3c
64 - .catch Ljava/util/concurrent/ExecutionException; {:try_start_e .. :try_end_14} :catch_41
65 + .catchall {:try_start_12 .. :try_end_14} :catchall_2a
66 + .catch Ljava/util/concurrent/CancellationException; {:try_start_12 .. :try_end_14} :catch_23
67 + .catch Ljava/util/concurrent/TimeoutException; {:try_start_12 .. :try_end_14} :catch_72
68 + .catch Ljava/lang/InterruptedException; {:try_start_12 .. :try_end_14} :catch_6a
69 + .catch Ljava/util/concurrent/ExecutionException; {:try_start_12 .. :try_end_14} :catch_2f
71 + :goto_14
72 invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$AmsTask;->cancel(Z)Z
74 - :goto_17
75 return-object v2
77 :cond_18
78 :try_start_18
79 invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
80 + :try_end_1b
81 + .catchall {:try_start_18 .. :try_end_1b} :catchall_2a
82 + .catch Ljava/util/concurrent/CancellationException; {:try_start_18 .. :try_end_1b} :catch_23
83 + .catch Ljava/util/concurrent/TimeoutException; {:try_start_18 .. :try_end_1b} :catch_72
84 + .catch Ljava/lang/InterruptedException; {:try_start_18 .. :try_end_1b} :catch_6c
85 + .catch Ljava/util/concurrent/ExecutionException; {:try_start_18 .. :try_end_1b} :catch_2f
87 move-result-wide v2
89 + :try_start_1c
90 invoke-virtual {p0, v2, v3, p2}, Landroid/accounts/AccountManager$AmsTask;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
91 + :try_end_1f
92 + .catchall {:try_start_1c .. :try_end_1f} :catchall_2a
93 + .catch Ljava/util/concurrent/CancellationException; {:try_start_1c .. :try_end_1f} :catch_23
94 + .catch Ljava/util/concurrent/TimeoutException; {:try_start_1c .. :try_end_1f} :catch_72
95 + .catch Ljava/lang/InterruptedException; {:try_start_1c .. :try_end_1f} :catch_6e
96 + .catch Ljava/util/concurrent/ExecutionException; {:try_start_1c .. :try_end_1f} :catch_2f
98 move-result-object v2
100 + :try_start_20
101 check-cast v2, Landroid/os/Bundle;
102 :try_end_22
103 - .catchall {:try_start_18 .. :try_end_22} :catchall_2d
104 - .catch Ljava/util/concurrent/CancellationException; {:try_start_18 .. :try_end_22} :catch_26
105 - .catch Ljava/util/concurrent/TimeoutException; {:try_start_18 .. :try_end_22} :catch_32
106 - .catch Ljava/lang/InterruptedException; {:try_start_18 .. :try_end_22} :catch_3c
107 - .catch Ljava/util/concurrent/ExecutionException; {:try_start_18 .. :try_end_22} :catch_41
108 + .catchall {:try_start_20 .. :try_end_22} :catchall_2a
109 + .catch Ljava/util/concurrent/CancellationException; {:try_start_20 .. :try_end_22} :catch_23
110 + .catch Ljava/util/concurrent/TimeoutException; {:try_start_20 .. :try_end_22} :catch_72
111 + .catch Ljava/lang/InterruptedException; {:try_start_20 .. :try_end_22} :catch_70
112 + .catch Ljava/util/concurrent/ExecutionException; {:try_start_20 .. :try_end_22} :catch_2f
114 - invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$AmsTask;->cancel(Z)Z
116 - goto :goto_17
117 + goto :goto_14
119 - :catch_26
120 + :catch_23
121 move-exception v1
123 - :try_start_27
124 + :try_start_24
125 new-instance v2, Landroid/accounts/OperationCanceledException;
127 invoke-direct {v2}, Landroid/accounts/OperationCanceledException;-><init>()V
129 throw v2
130 - :try_end_2d
131 - .catchall {:try_start_27 .. :try_end_2d} :catchall_2d
132 + :try_end_2a
133 + .catchall {:try_start_24 .. :try_end_2a} :catchall_2a
135 - :catchall_2d
136 + :catchall_2a
137 move-exception v2
139 invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$AmsTask;->cancel(Z)Z
141 throw v2
143 - :catch_32
144 - move-exception v2
146 - invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$AmsTask;->cancel(Z)Z
148 - :goto_36
149 - new-instance v2, Landroid/accounts/OperationCanceledException;
151 - invoke-direct {v2}, Landroid/accounts/OperationCanceledException;-><init>()V
153 - throw v2
155 - :catch_3c
156 - move-exception v2
158 - invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$AmsTask;->cancel(Z)Z
160 - goto :goto_36
162 - :catch_41
163 + :catch_2f
164 move-exception v1
166 - :try_start_42
167 + :try_start_30
168 invoke-virtual {v1}, Ljava/util/concurrent/ExecutionException;->getCause()Ljava/lang/Throwable;
170 move-result-object v0
172 instance-of v2, v0, Ljava/io/IOException;
174 - if-eqz v2, :cond_4d
175 + if-eqz v2, :cond_3b
177 check-cast v0, Ljava/io/IOException;
179 throw v0
181 - :cond_4d
182 + :cond_3b
183 instance-of v2, v0, Ljava/lang/UnsupportedOperationException;
185 - if-eqz v2, :cond_57
186 + if-eqz v2, :cond_45
188 new-instance v2, Landroid/accounts/AuthenticatorException;
190 @@ -236,41 +236,78 @@
192 throw v2
194 - :cond_57
195 + :cond_45
196 instance-of v2, v0, Landroid/accounts/AuthenticatorException;
198 - if-eqz v2, :cond_5e
199 + if-eqz v2, :cond_4c
201 check-cast v0, Landroid/accounts/AuthenticatorException;
203 throw v0
205 - :cond_5e
206 + :cond_4c
207 instance-of v2, v0, Ljava/lang/RuntimeException;
209 - if-eqz v2, :cond_65
210 + if-eqz v2, :cond_53
212 check-cast v0, Ljava/lang/RuntimeException;
214 throw v0
216 - :cond_65
217 + :cond_53
218 instance-of v2, v0, Ljava/lang/Error;
220 - if-eqz v2, :cond_6c
221 + if-eqz v2, :cond_5a
223 check-cast v0, Ljava/lang/Error;
225 throw v0
227 - :cond_6c
228 + :cond_5a
229 new-instance v2, Ljava/lang/IllegalStateException;
231 invoke-direct {v2, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/Throwable;)V
233 throw v2
234 - :try_end_72
235 - .catchall {:try_start_42 .. :try_end_72} :catchall_2d
236 + :try_end_60
237 + .catchall {:try_start_30 .. :try_end_60} :catchall_2a
239 + :catch_60
240 + move-exception v2
242 + :goto_61
243 + invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$AmsTask;->cancel(Z)Z
245 + new-instance v2, Landroid/accounts/OperationCanceledException;
247 + invoke-direct {v2}, Landroid/accounts/OperationCanceledException;-><init>()V
249 + throw v2
251 + :catch_6a
252 + move-exception v2
254 + goto :goto_61
256 + :catch_6c
257 + move-exception v2
259 + goto :goto_61
261 + :catch_6e
262 + move-exception v2
264 + goto :goto_61
266 + :catch_70
267 + move-exception v2
269 + goto :goto_61
271 + :catch_72
272 + move-exception v2
274 + goto :goto_61
275 .end method
278 diff -Npru stock-framework/smali/android/accounts/AccountManager$Future2Task.smali pdroid-framework/smali/android/accounts/AccountManager$Future2Task.smali
279 --- stock-framework/smali/android/accounts/AccountManager$Future2Task.smali 2012-05-07 17:01:02.157632693 -0500
280 +++ pdroid-framework/smali/android/accounts/AccountManager$Future2Task.smali 2012-05-07 17:01:31.729779337 -0500
281 @@ -101,95 +101,74 @@
282 :try_start_e
283 invoke-virtual {p0}, Landroid/accounts/AccountManager$Future2Task;->get()Ljava/lang/Object;
284 :try_end_11
285 - .catchall {:try_start_e .. :try_end_11} :catchall_42
286 - .catch Ljava/lang/InterruptedException; {:try_start_e .. :try_end_11} :catch_22
287 - .catch Ljava/util/concurrent/TimeoutException; {:try_start_e .. :try_end_11} :catch_2c
288 - .catch Ljava/util/concurrent/CancellationException; {:try_start_e .. :try_end_11} :catch_31
289 - .catch Ljava/util/concurrent/ExecutionException; {:try_start_e .. :try_end_11} :catch_36
290 + .catchall {:try_start_e .. :try_end_11} :catchall_2b
291 + .catch Ljava/lang/InterruptedException; {:try_start_e .. :try_end_11} :catch_69
292 + .catch Ljava/util/concurrent/TimeoutException; {:try_start_e .. :try_end_11} :catch_63
293 + .catch Ljava/util/concurrent/CancellationException; {:try_start_e .. :try_end_11} :catch_55
294 + .catch Ljava/util/concurrent/ExecutionException; {:try_start_e .. :try_end_11} :catch_1f
296 move-result-object v2
298 + :goto_12
299 invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$Future2Task;->cancel(Z)Z
301 - :goto_15
302 return-object v2
304 :cond_16
305 :try_start_16
306 invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
307 + :try_end_19
308 + .catchall {:try_start_16 .. :try_end_19} :catchall_2b
309 + .catch Ljava/lang/InterruptedException; {:try_start_16 .. :try_end_19} :catch_69
310 + .catch Ljava/util/concurrent/TimeoutException; {:try_start_16 .. :try_end_19} :catch_65
311 + .catch Ljava/util/concurrent/CancellationException; {:try_start_16 .. :try_end_19} :catch_5f
312 + .catch Ljava/util/concurrent/ExecutionException; {:try_start_16 .. :try_end_19} :catch_1f
314 move-result-wide v2
316 + :try_start_1a
317 invoke-virtual {p0, v2, v3, p2}, Landroid/accounts/AccountManager$Future2Task;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
318 :try_end_1d
319 - .catchall {:try_start_16 .. :try_end_1d} :catchall_42
320 - .catch Ljava/lang/InterruptedException; {:try_start_16 .. :try_end_1d} :catch_22
321 - .catch Ljava/util/concurrent/TimeoutException; {:try_start_16 .. :try_end_1d} :catch_2c
322 - .catch Ljava/util/concurrent/CancellationException; {:try_start_16 .. :try_end_1d} :catch_31
323 - .catch Ljava/util/concurrent/ExecutionException; {:try_start_16 .. :try_end_1d} :catch_36
324 + .catchall {:try_start_1a .. :try_end_1d} :catchall_2b
325 + .catch Ljava/lang/InterruptedException; {:try_start_1a .. :try_end_1d} :catch_69
326 + .catch Ljava/util/concurrent/TimeoutException; {:try_start_1a .. :try_end_1d} :catch_67
327 + .catch Ljava/util/concurrent/CancellationException; {:try_start_1a .. :try_end_1d} :catch_61
328 + .catch Ljava/util/concurrent/ExecutionException; {:try_start_1a .. :try_end_1d} :catch_1f
330 move-result-object v2
332 - invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$Future2Task;->cancel(Z)Z
334 - goto :goto_15
336 - :catch_22
337 - move-exception v2
338 + goto :goto_12
340 - invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$Future2Task;->cancel(Z)Z
342 - :goto_26
343 - new-instance v2, Landroid/accounts/OperationCanceledException;
345 - invoke-direct {v2}, Landroid/accounts/OperationCanceledException;-><init>()V
347 - throw v2
349 - :catch_2c
350 - move-exception v2
352 - invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$Future2Task;->cancel(Z)Z
354 - goto :goto_26
356 - :catch_31
357 - move-exception v2
359 - invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$Future2Task;->cancel(Z)Z
361 - goto :goto_26
363 - :catch_36
364 + :catch_1f
365 move-exception v1
367 - :try_start_37
368 + :try_start_20
369 invoke-virtual {v1}, Ljava/util/concurrent/ExecutionException;->getCause()Ljava/lang/Throwable;
371 move-result-object v0
373 instance-of v2, v0, Ljava/io/IOException;
375 - if-eqz v2, :cond_47
376 + if-eqz v2, :cond_30
378 check-cast v0, Ljava/io/IOException;
380 throw v0
381 - :try_end_42
382 - .catchall {:try_start_37 .. :try_end_42} :catchall_42
383 + :try_end_2b
384 + .catchall {:try_start_20 .. :try_end_2b} :catchall_2b
386 - :catchall_42
387 + :catchall_2b
388 move-exception v2
390 invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$Future2Task;->cancel(Z)Z
392 throw v2
394 - :cond_47
395 - :try_start_47
396 + :cond_30
397 + :try_start_30
398 instance-of v2, v0, Ljava/lang/UnsupportedOperationException;
400 - if-eqz v2, :cond_51
401 + if-eqz v2, :cond_3a
403 new-instance v2, Landroid/accounts/AuthenticatorException;
405 @@ -197,41 +176,83 @@
407 throw v2
409 - :cond_51
410 + :cond_3a
411 instance-of v2, v0, Landroid/accounts/AuthenticatorException;
413 - if-eqz v2, :cond_58
414 + if-eqz v2, :cond_41
416 check-cast v0, Landroid/accounts/AuthenticatorException;
418 throw v0
420 - :cond_58
421 + :cond_41
422 instance-of v2, v0, Ljava/lang/RuntimeException;
424 - if-eqz v2, :cond_5f
425 + if-eqz v2, :cond_48
427 check-cast v0, Ljava/lang/RuntimeException;
429 throw v0
431 - :cond_5f
432 + :cond_48
433 instance-of v2, v0, Ljava/lang/Error;
435 - if-eqz v2, :cond_66
436 + if-eqz v2, :cond_4f
438 check-cast v0, Ljava/lang/Error;
440 throw v0
442 - :cond_66
443 + :cond_4f
444 new-instance v2, Ljava/lang/IllegalStateException;
446 invoke-direct {v2, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/Throwable;)V
448 throw v2
449 - :try_end_6c
450 - .catchall {:try_start_47 .. :try_end_6c} :catchall_42
451 + :try_end_55
452 + .catchall {:try_start_30 .. :try_end_55} :catchall_2b
454 + :catch_55
455 + move-exception v2
457 + :goto_56
458 + invoke-virtual {p0, v4}, Landroid/accounts/AccountManager$Future2Task;->cancel(Z)Z
460 + new-instance v2, Landroid/accounts/OperationCanceledException;
462 + invoke-direct {v2}, Landroid/accounts/OperationCanceledException;-><init>()V
464 + throw v2
466 + :catch_5f
467 + move-exception v2
469 + goto :goto_56
471 + :catch_61
472 + move-exception v2
474 + goto :goto_56
476 + :catch_63
477 + move-exception v2
479 + goto :goto_56
481 + :catch_65
482 + move-exception v2
484 + goto :goto_56
486 + :catch_67
487 + move-exception v2
489 + goto :goto_56
491 + :catch_69
492 + move-exception v2
494 + goto :goto_56
495 .end method
498 diff -Npru stock-framework/smali/android/accounts/AccountManagerService.smali pdroid-framework/smali/android/accounts/AccountManagerService.smali
499 --- stock-framework/smali/android/accounts/AccountManagerService.smali 2012-05-07 17:01:02.345633629 -0500
500 +++ pdroid-framework/smali/android/accounts/AccountManagerService.smali 2012-05-07 17:01:32.433782827 -0500
501 @@ -1502,23 +1502,21 @@
503 invoke-interface {v8, v0}, Landroid/database/Cursor;->getLong(I)J
504 :try_end_2a
505 - .catchall {:try_start_20 .. :try_end_2a} :catchall_35
506 + .catchall {:try_start_20 .. :try_end_2a} :catchall_32
508 move-result-wide v0
510 + :goto_2b
511 invoke-interface {v8}, Landroid/database/Cursor;->close()V
513 - :goto_2e
514 return-wide v0
516 :cond_2f
517 const-wide/16 v0, -0x1
519 - invoke-interface {v8}, Landroid/database/Cursor;->close()V
521 - goto :goto_2e
522 + goto :goto_2b
524 - :catchall_35
525 + :catchall_32
526 move-exception v0
528 invoke-interface {v8}, Landroid/database/Cursor;->close()V
529 @@ -1713,23 +1711,21 @@
531 invoke-interface {v8, v0}, Landroid/database/Cursor;->getLong(I)J
532 :try_end_45
533 - .catchall {:try_start_3b .. :try_end_45} :catchall_50
534 + .catchall {:try_start_3b .. :try_end_45} :catchall_4d
536 move-result-wide v0
538 + :goto_46
539 invoke-interface {v8}, Landroid/database/Cursor;->close()V
541 - :goto_49
542 return-wide v0
544 :cond_4a
545 const-wide/16 v0, -0x1
547 - invoke-interface {v8}, Landroid/database/Cursor;->close()V
549 - goto :goto_49
550 + goto :goto_46
552 - :catchall_50
553 + :catchall_4d
554 move-exception v0
556 invoke-interface {v8}, Landroid/database/Cursor;->close()V
557 @@ -4581,7 +4577,7 @@
558 const/16 v16, 0x1
560 :goto_68
561 - if-eqz v16, :cond_ba
562 + if-eqz v16, :cond_b3
564 const-string v4, "accounts"
566 @@ -4609,7 +4605,7 @@
568 move-result v4
570 - if-eqz v4, :cond_b3
571 + if-eqz v4, :cond_175
573 new-instance v4, Ljava/lang/StringBuilder;
575 @@ -4679,20 +4675,9 @@
576 goto :goto_68
578 :cond_b3
579 - if-eqz v14, :cond_b8
581 - :try_start_b5
582 - invoke-interface {v14}, Landroid/database/Cursor;->close()V
584 - :cond_b8
585 - :goto_b8
586 - monitor-exit v21
588 - goto :goto_42
590 - :cond_ba
591 const/4 v4, 0x0
593 + :try_start_b4
594 move-object/from16 v0, p0
596 invoke-virtual {v0, v4}, Landroid/accounts/AccountManagerService;->getAccountsFromCacheLocked(Ljava/lang/String;)[Landroid/accounts/Account;
597 @@ -4731,10 +4716,10 @@
599 const/4 v15, 0x0
601 - :goto_df
602 + :goto_d8
603 move/from16 v0, v17
605 - if-ge v15, v0, :cond_100
606 + if-ge v15, v0, :cond_f9
608 aget-object v11, v13, v15
610 @@ -4762,9 +4747,9 @@
612 add-int/lit8 v15, v15, 0x1
614 - goto :goto_df
615 + goto :goto_d8
617 - :cond_100
618 + :cond_f9
619 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
621 move-object/from16 v0, p0
622 @@ -4772,10 +4757,10 @@
623 iget-object v5, v0, Landroid/accounts/AccountManagerService;->mSessions:Ljava/util/LinkedHashMap;
625 monitor-enter v5
626 - :try_end_108
627 - .catchall {:try_start_b5 .. :try_end_108} :catchall_ad
628 + :try_end_101
629 + .catchall {:try_start_b4 .. :try_end_101} :catchall_ad
631 - :try_start_108
632 + :try_start_101
633 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
635 move-result-wide v18
636 @@ -4822,12 +4807,12 @@
638 move-result-object v15
640 - :goto_138
641 + :goto_131
642 invoke-interface {v15}, Ljava/util/Iterator;->hasNext()Z
644 move-result v4
646 - if-eqz v4, :cond_168
647 + if-eqz v4, :cond_161
649 invoke-interface {v15}, Ljava/util/Iterator;->next()Ljava/lang/Object;
651 @@ -4865,27 +4850,27 @@
653 invoke-virtual {v0, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
655 - goto :goto_138
656 + goto :goto_131
658 - :catchall_165
659 + :catchall_15e
660 move-exception v4
662 monitor-exit v5
663 - :try_end_167
664 - .catchall {:try_start_108 .. :try_end_167} :catchall_165
665 + :try_end_160
666 + .catchall {:try_start_101 .. :try_end_160} :catchall_15e
668 - :try_start_167
669 + :try_start_160
670 throw v4
671 - :try_end_168
672 - .catchall {:try_start_167 .. :try_end_168} :catchall_ad
673 + :try_end_161
674 + .catchall {:try_start_160 .. :try_end_161} :catchall_ad
676 - :cond_168
677 - :try_start_168
678 + :cond_161
679 + :try_start_161
680 monitor-exit v5
681 - :try_end_169
682 - .catchall {:try_start_168 .. :try_end_169} :catchall_165
683 + :try_end_162
684 + .catchall {:try_start_161 .. :try_end_162} :catchall_15e
686 - :try_start_169
687 + :try_start_162
688 invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
690 move-object/from16 v0, p0
691 @@ -4899,10 +4884,21 @@
692 move-object/from16 v2, p3
694 invoke-interface {v4, v0, v1, v2}, Landroid/accounts/IAccountAuthenticatorCache;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
695 - :try_end_179
696 - .catchall {:try_start_169 .. :try_end_179} :catchall_ad
698 - goto/16 :goto_b8
699 + :cond_172
700 + :goto_172
701 + monitor-exit v21
703 + goto/16 :goto_42
705 + :cond_175
706 + if-eqz v14, :cond_172
708 + invoke-interface {v14}, Landroid/database/Cursor;->close()V
709 + :try_end_17a
710 + .catchall {:try_start_162 .. :try_end_17a} :catchall_ad
712 + goto :goto_172
713 .end method
715 .method public editProperties(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Z)V
716 @@ -5440,9 +5436,9 @@
717 :try_end_8b
718 .catchall {:try_start_7e .. :try_end_8b} :catchall_92
720 + :goto_8b
721 invoke-static {v1, v2}, Landroid/accounts/AccountManagerService;->restoreCallingIdentity(J)V
723 - :goto_8e
724 return-void
726 :catchall_8f
727 @@ -5475,9 +5471,7 @@
728 :try_end_9f
729 .catchall {:try_start_97 .. :try_end_9f} :catchall_92
731 - invoke-static {v1, v2}, Landroid/accounts/AccountManagerService;->restoreCallingIdentity(J)V
733 - goto :goto_8e
734 + goto :goto_8b
735 .end method
737 .method protected getAccountsFromCacheLocked(Ljava/lang/String;)[Landroid/accounts/Account;
738 @@ -5899,11 +5893,11 @@
740 invoke-direct {v0, v1, v2}, Landroid/accounts/AccountManagerService;->onResult(Landroid/accounts/IAccountManagerResponse;Landroid/os/Bundle;)V
741 :try_end_12a
742 - .catchall {:try_start_f1 .. :try_end_12a} :catchall_152
743 + .catchall {:try_start_f1 .. :try_end_12a} :catchall_14f
745 + :goto_12a
746 invoke-static/range {v18 .. v19}, Landroid/accounts/AccountManagerService;->restoreCallingIdentity(J)V
748 - :goto_12d
749 return-void
751 :cond_12e
752 @@ -5947,13 +5941,11 @@
754 invoke-virtual {v3}, Landroid/accounts/AccountManagerService$3;->bind()V
755 :try_end_14e
756 - .catchall {:try_start_135 .. :try_end_14e} :catchall_152
758 - invoke-static/range {v18 .. v19}, Landroid/accounts/AccountManagerService;->restoreCallingIdentity(J)V
759 + .catchall {:try_start_135 .. :try_end_14e} :catchall_14f
761 - goto :goto_12d
762 + goto :goto_12a
764 - :catchall_152
765 + :catchall_14f
766 move-exception v3
768 invoke-static/range {v18 .. v19}, Landroid/accounts/AccountManagerService;->restoreCallingIdentity(J)V
769 @@ -6119,7 +6111,7 @@
771 move-result v7
773 - if-eqz v7, :cond_5d
774 + if-eqz v7, :cond_62
776 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
778 @@ -6133,23 +6125,23 @@
780 aput-object v7, v6, v2
781 :try_end_5a
782 - .catchall {:try_start_37 .. :try_end_5a} :catchall_61
783 + .catchall {:try_start_37 .. :try_end_5a} :catchall_5d
785 add-int/lit8 v2, v2, 0x1
787 goto :goto_48
789 - :cond_5d
790 - invoke-static {v4, v5}, Landroid/accounts/AccountManagerService;->restoreCallingIdentity(J)V
792 - return-object v6
794 - :catchall_61
795 + :catchall_5d
796 move-exception v7
798 invoke-static {v4, v5}, Landroid/accounts/AccountManagerService;->restoreCallingIdentity(J)V
800 throw v7
802 + :cond_62
803 + invoke-static {v4, v5}, Landroid/accounts/AccountManagerService;->restoreCallingIdentity(J)V
805 + return-object v6
806 .end method
808 .method public getPassword(Landroid/accounts/Account;)Ljava/lang/String;
809 diff -Npru stock-framework/smali/android/app/Activity.smali pdroid-framework/smali/android/app/Activity.smali
810 --- stock-framework/smali/android/app/Activity.smali 2012-05-07 17:01:02.081632319 -0500
811 +++ pdroid-framework/smali/android/app/Activity.smali 2012-05-07 17:01:31.649778939 -0500
812 @@ -1388,7 +1388,7 @@
814 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
816 - const-string v1, "mResumed="
817 + const-string/jumbo v1, "mResumed="
819 invoke-virtual {p3, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
821 @@ -1444,7 +1444,7 @@
823 iget-object v1, p0, Landroid/app/Activity;->mLoaderManager:Landroid/app/LoaderManagerImpl;
825 - if-eqz v1, :cond_a9
826 + if-eqz v1, :cond_aa
828 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
830 @@ -1490,7 +1490,7 @@
832 invoke-virtual {v1, v2, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
834 - :cond_a9
835 + :cond_aa
836 iget-object v1, p0, Landroid/app/Activity;->mFragments:Landroid/app/FragmentManagerImpl;
838 invoke-virtual {v1, p1, p2, p3, p4}, Landroid/app/FragmentManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
839 diff -Npru stock-framework/smali/android/app/ActivityThread.smali pdroid-framework/smali/android/app/ActivityThread.smali
840 --- stock-framework/smali/android/app/ActivityThread.smali 2012-05-07 17:01:03.509639397 -0500
841 +++ pdroid-framework/smali/android/app/ActivityThread.smali 2012-05-07 17:01:33.521788219 -0500
842 @@ -3831,9 +3831,9 @@
844 sget-object v8, Landroid/app/ActivityThread;->sCurrentBroadcastIntent:Ljava/lang/ThreadLocal;
846 + :goto_54
847 invoke-virtual {v8, v11}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
849 - :goto_57
850 invoke-virtual {v7}, Landroid/content/BroadcastReceiver;->getPendingResult()Landroid/content/BroadcastReceiver$PendingResult;
852 move-result-object v8
853 @@ -3954,9 +3954,7 @@
854 :cond_c6
855 sget-object v8, Landroid/app/ActivityThread;->sCurrentBroadcastIntent:Ljava/lang/ThreadLocal;
857 - invoke-virtual {v8, v11}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
859 - goto :goto_57
860 + goto :goto_54
861 .end method
863 .method private handleRelaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;)V
864 @@ -9677,7 +9675,7 @@
865 .method final handleDumpHeap(ZLandroid/app/ActivityThread$DumpHeapData;)V
866 .registers 7
868 - if-eqz p1, :cond_5c
869 + if-eqz p1, :cond_4a
871 :try_start_2
872 iget-object v1, p2, Landroid/app/ActivityThread$DumpHeapData;->path:Ljava/lang/String;
873 @@ -9690,15 +9688,15 @@
875 invoke-static {v1, v2}, Landroid/os/Debug;->dumpHprofData(Ljava/lang/String;Ljava/io/FileDescriptor;)V
876 :try_end_d
877 - .catchall {:try_start_2 .. :try_end_d} :catchall_4c
878 - .catch Ljava/io/IOException; {:try_start_2 .. :try_end_d} :catch_1c
879 + .catchall {:try_start_2 .. :try_end_d} :catchall_43
880 + .catch Ljava/io/IOException; {:try_start_2 .. :try_end_d} :catch_13
882 :try_start_d
883 iget-object v1, p2, Landroid/app/ActivityThread$DumpHeapData;->fd:Landroid/os/ParcelFileDescriptor;
885 invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->close()V
886 :try_end_12
887 - .catch Ljava/io/IOException; {:try_start_d .. :try_end_12} :catch_13
888 + .catch Ljava/io/IOException; {:try_start_d .. :try_end_12} :catch_5d
890 :goto_12
891 return-void
892 @@ -9706,18 +9704,7 @@
893 :catch_13
894 move-exception v0
896 - const-string v1, "ActivityThread"
898 - const-string v2, "Failure closing profile fd"
900 - invoke-static {v1, v2, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
902 - goto :goto_12
904 - :catch_1c
905 - move-exception v0
907 - :try_start_1d
908 + :try_start_14
909 const-string v1, "ActivityThread"
911 new-instance v2, Ljava/lang/StringBuilder;
912 @@ -9747,43 +9734,55 @@
913 move-result-object v2
915 invoke-static {v1, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
916 - :try_end_3d
917 - .catchall {:try_start_1d .. :try_end_3d} :catchall_4c
918 + :try_end_34
919 + .catchall {:try_start_14 .. :try_end_34} :catchall_43
921 - :try_start_3d
922 + :try_start_34
923 iget-object v1, p2, Landroid/app/ActivityThread$DumpHeapData;->fd:Landroid/os/ParcelFileDescriptor;
925 invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->close()V
926 - :try_end_42
927 - .catch Ljava/io/IOException; {:try_start_3d .. :try_end_42} :catch_43
928 + :try_end_39
929 + .catch Ljava/io/IOException; {:try_start_34 .. :try_end_39} :catch_3a
931 goto :goto_12
933 - :catch_43
934 + :catch_3a
935 move-exception v0
937 const-string v1, "ActivityThread"
939 const-string v2, "Failure closing profile fd"
941 + :goto_3f
942 invoke-static {v1, v2, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
944 goto :goto_12
946 - :catchall_4c
947 + :catchall_43
948 move-exception v1
950 - :try_start_4d
951 + :try_start_44
952 iget-object v2, p2, Landroid/app/ActivityThread$DumpHeapData;->fd:Landroid/os/ParcelFileDescriptor;
954 invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;->close()V
955 - :try_end_52
956 - .catch Ljava/io/IOException; {:try_start_4d .. :try_end_52} :catch_53
957 + :try_end_49
958 + .catch Ljava/io/IOException; {:try_start_44 .. :try_end_49} :catch_54
960 - :goto_52
961 + :goto_49
962 throw v1
964 - :catch_53
965 + :cond_4a
966 + iget-object v1, p2, Landroid/app/ActivityThread$DumpHeapData;->fd:Landroid/os/ParcelFileDescriptor;
968 + invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
970 + move-result-object v1
972 + invoke-static {v1}, Landroid/os/Debug;->dumpNativeHeap(Ljava/io/FileDescriptor;)V
974 + goto :goto_12
976 + :catch_54
977 move-exception v0
979 const-string v2, "ActivityThread"
980 @@ -9792,18 +9791,16 @@
982 invoke-static {v2, v3, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
984 - goto :goto_52
986 - :cond_5c
987 - iget-object v1, p2, Landroid/app/ActivityThread$DumpHeapData;->fd:Landroid/os/ParcelFileDescriptor;
988 + goto :goto_49
990 - invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
991 + :catch_5d
992 + move-exception v0
994 - move-result-object v1
995 + const-string v1, "ActivityThread"
997 - invoke-static {v1}, Landroid/os/Debug;->dumpNativeHeap(Ljava/io/FileDescriptor;)V
998 + const-string v2, "Failure closing profile fd"
1000 - goto :goto_12
1001 + goto :goto_3f
1002 .end method
1004 .method final handleLowMemory()V
1005 @@ -9887,9 +9884,9 @@
1006 .method final handleProfilerControl(ZLandroid/app/ActivityThread$ProfilerControlData;I)V
1007 .registers 8
1009 - if-eqz p1, :cond_73
1010 + if-eqz p1, :cond_61
1012 - packed-switch p3, :pswitch_data_80
1013 + packed-switch p3, :pswitch_data_7e
1015 :try_start_5
1016 iget-object v1, p0, Landroid/app/ActivityThread;->mProfiler:Landroid/app/ActivityThread$Profiler;
1017 @@ -9910,7 +9907,7 @@
1019 invoke-virtual {v1}, Landroid/app/ActivityThread$Profiler;->startProfiling()V
1020 :try_end_18
1021 - .catchall {:try_start_5 .. :try_end_18} :catchall_63
1022 + .catchall {:try_start_5 .. :try_end_18} :catchall_5a
1023 .catch Ljava/lang/RuntimeException; {:try_start_5 .. :try_end_18} :catch_2a
1025 :goto_18
1026 @@ -9919,7 +9916,7 @@
1028 invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->close()V
1029 :try_end_1d
1030 - .catch Ljava/io/IOException; {:try_start_18 .. :try_end_1d} :catch_5a
1031 + .catch Ljava/io/IOException; {:try_start_18 .. :try_end_1d} :catch_77
1033 :goto_1d
1034 return-void
1035 @@ -9936,7 +9933,7 @@
1037 invoke-static {v1, v2}, Landroid/view/ViewDebug;->startLooperProfiling(Ljava/lang/String;Ljava/io/FileDescriptor;)V
1038 :try_end_29
1039 - .catchall {:try_start_1e .. :try_end_29} :catchall_63
1040 + .catchall {:try_start_1e .. :try_end_29} :catchall_5a
1041 .catch Ljava/lang/RuntimeException; {:try_start_1e .. :try_end_29} :catch_2a
1043 goto :goto_18
1044 @@ -9975,7 +9972,7 @@
1046 invoke-static {v1, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
1047 :try_end_4b
1048 - .catchall {:try_start_2b .. :try_end_4b} :catchall_63
1049 + .catchall {:try_start_2b .. :try_end_4b} :catchall_5a
1051 :try_start_4b
1052 iget-object v1, p2, Landroid/app/ActivityThread$ProfilerControlData;->fd:Landroid/os/ParcelFileDescriptor;
1053 @@ -9993,35 +9990,39 @@
1055 const-string v2, "Failure closing profile fd"
1057 + :goto_56
1058 invoke-static {v1, v2, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1060 goto :goto_1d
1062 - :catch_5a
1063 - move-exception v0
1064 + :catchall_5a
1065 + move-exception v1
1067 - const-string v1, "ActivityThread"
1068 + :try_start_5b
1069 + iget-object v2, p2, Landroid/app/ActivityThread$ProfilerControlData;->fd:Landroid/os/ParcelFileDescriptor;
1071 - const-string v2, "Failure closing profile fd"
1072 + invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;->close()V
1073 + :try_end_60
1074 + .catch Ljava/io/IOException; {:try_start_5b .. :try_end_60} :catch_6e
1076 - invoke-static {v1, v2, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1077 + :goto_60
1078 + throw v1
1080 - goto :goto_1d
1081 + :cond_61
1082 + packed-switch p3, :pswitch_data_84
1084 - :catchall_63
1085 - move-exception v1
1086 + iget-object v1, p0, Landroid/app/ActivityThread;->mProfiler:Landroid/app/ActivityThread$Profiler;
1088 - :try_start_64
1089 - iget-object v2, p2, Landroid/app/ActivityThread$ProfilerControlData;->fd:Landroid/os/ParcelFileDescriptor;
1090 + invoke-virtual {v1}, Landroid/app/ActivityThread$Profiler;->stopProfiling()V
1092 - invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;->close()V
1093 - :try_end_69
1094 - .catch Ljava/io/IOException; {:try_start_64 .. :try_end_69} :catch_6a
1095 + goto :goto_1d
1097 - :goto_69
1098 - throw v1
1099 + :pswitch_6a
1100 + invoke-static {}, Landroid/view/ViewDebug;->stopLooperProfiling()V
1102 - :catch_6a
1103 + goto :goto_1d
1105 + :catch_6e
1106 move-exception v0
1108 const-string v2, "ActivityThread"
1109 @@ -10030,30 +10031,27 @@
1111 invoke-static {v2, v3, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1113 - goto :goto_69
1115 - :cond_73
1116 - packed-switch p3, :pswitch_data_86
1117 + goto :goto_60
1119 - iget-object v1, p0, Landroid/app/ActivityThread;->mProfiler:Landroid/app/ActivityThread$Profiler;
1120 + :catch_77
1121 + move-exception v0
1123 - invoke-virtual {v1}, Landroid/app/ActivityThread$Profiler;->stopProfiling()V
1124 + const-string v1, "ActivityThread"
1126 - goto :goto_1d
1127 + const-string v2, "Failure closing profile fd"
1129 - :pswitch_7c
1130 - invoke-static {}, Landroid/view/ViewDebug;->stopLooperProfiling()V
1131 + goto :goto_56
1133 - goto :goto_1d
1134 + nop
1136 - :pswitch_data_80
1137 + :pswitch_data_7e
1138 .packed-switch 0x1
1139 :pswitch_1e
1140 .end packed-switch
1142 - :pswitch_data_86
1143 + :pswitch_data_84
1144 .packed-switch 0x1
1145 - :pswitch_7c
1146 + :pswitch_6a
1147 .end packed-switch
1148 .end method
1150 diff -Npru stock-framework/smali/android/app/backup/BackupAgent$BackupServiceBinder.smali pdroid-framework/smali/android/app/backup/BackupAgent$BackupServiceBinder.smali
1151 --- stock-framework/smali/android/app/backup/BackupAgent$BackupServiceBinder.smali 2012-05-07 17:01:03.833641007 -0500
1152 +++ pdroid-framework/smali/android/app/backup/BackupAgent$BackupServiceBinder.smali 2012-05-07 17:01:33.953790365 -0500
1153 @@ -83,7 +83,7 @@
1154 :try_start_1c
1155 invoke-interface {p5, p4}, Landroid/app/backup/IBackupManager;->opComplete(I)V
1156 :try_end_1f
1157 - .catch Landroid/os/RemoteException; {:try_start_1c .. :try_end_1f} :catch_83
1158 + .catch Landroid/os/RemoteException; {:try_start_1c .. :try_end_1f} :catch_85
1160 :goto_1f
1161 return-void
1162 @@ -146,7 +146,7 @@
1163 :try_start_54
1164 invoke-interface {p5, p4}, Landroid/app/backup/IBackupManager;->opComplete(I)V
1165 :try_end_57
1166 - .catch Landroid/os/RemoteException; {:try_start_54 .. :try_end_57} :catch_85
1167 + .catch Landroid/os/RemoteException; {:try_start_54 .. :try_end_57} :catch_83
1169 :goto_57
1170 throw v4
1171 @@ -198,14 +198,14 @@
1172 .catchall {:try_start_59 .. :try_end_83} :catchall_50
1174 :catch_83
1175 - move-exception v4
1176 + move-exception v5
1178 - goto :goto_1f
1179 + goto :goto_57
1181 :catch_85
1182 - move-exception v5
1183 + move-exception v4
1185 - goto :goto_57
1186 + goto :goto_1f
1187 .end method
1189 .method public doFullBackup(Landroid/os/ParcelFileDescriptor;ILandroid/app/backup/IBackupManager;)V
1190 @@ -230,9 +230,9 @@
1192 invoke-virtual {v6, v7}, Landroid/app/backup/BackupAgent;->onFullBackup(Landroid/app/backup/FullBackupDataOutput;)V
1193 :try_end_15
1194 - .catchall {:try_start_b .. :try_end_15} :catchall_64
1195 - .catch Ljava/io/IOException; {:try_start_b .. :try_end_15} :catch_34
1196 - .catch Ljava/lang/RuntimeException; {:try_start_b .. :try_end_15} :catch_7b
1197 + .catchall {:try_start_b .. :try_end_15} :catchall_5b
1198 + .catch Ljava/io/IOException; {:try_start_b .. :try_end_15} :catch_2b
1199 + .catch Ljava/lang/RuntimeException; {:try_start_b .. :try_end_15} :catch_72
1201 :try_start_15
1202 new-instance v5, Ljava/io/FileOutputStream;
1203 @@ -249,7 +249,7 @@
1205 invoke-virtual {v5, v0}, Ljava/io/FileOutputStream;->write([B)V
1206 :try_end_24
1207 - .catch Ljava/io/IOException; {:try_start_15 .. :try_end_24} :catch_2b
1208 + .catch Ljava/io/IOException; {:try_start_15 .. :try_end_24} :catch_a8
1210 :goto_24
1211 invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
1212 @@ -257,26 +257,15 @@
1213 :try_start_27
1214 invoke-interface {p3, p2}, Landroid/app/backup/IBackupManager;->opComplete(I)V
1215 :try_end_2a
1216 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_af
1217 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_b2
1219 :goto_2a
1220 return-void
1222 :catch_2b
1223 - move-exception v1
1225 - const-string v6, "BackupServiceBinder"
1227 - const-string v7, "Unable to finalize backup stream!"
1229 - invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
1231 - goto :goto_24
1233 - :catch_34
1234 move-exception v2
1236 - :try_start_35
1237 + :try_start_2c
1238 const-string v6, "BackupServiceBinder"
1240 new-instance v7, Ljava/lang/StringBuilder;
1241 @@ -320,13 +309,13 @@
1242 invoke-direct {v6, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
1244 throw v6
1245 - :try_end_64
1246 - .catchall {:try_start_35 .. :try_end_64} :catchall_64
1247 + :try_end_5b
1248 + .catchall {:try_start_2c .. :try_end_5b} :catchall_5b
1250 - :catchall_64
1251 + :catchall_5b
1252 move-exception v6
1254 - :try_start_65
1255 + :try_start_5c
1256 new-instance v5, Ljava/io/FileOutputStream;
1258 invoke-virtual {p1}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
1259 @@ -340,24 +329,24 @@
1260 new-array v0, v7, [B
1262 invoke-virtual {v5, v0}, Ljava/io/FileOutputStream;->write([B)V
1263 - :try_end_74
1264 - .catch Ljava/io/IOException; {:try_start_65 .. :try_end_74} :catch_a6
1265 + :try_end_6b
1266 + .catch Ljava/io/IOException; {:try_start_5c .. :try_end_6b} :catch_9d
1268 - :goto_74
1269 + :goto_6b
1270 invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
1272 - :try_start_77
1273 + :try_start_6e
1274 invoke-interface {p3, p2}, Landroid/app/backup/IBackupManager;->opComplete(I)V
1275 - :try_end_7a
1276 - .catch Landroid/os/RemoteException; {:try_start_77 .. :try_end_7a} :catch_b2
1277 + :try_end_71
1278 + .catch Landroid/os/RemoteException; {:try_start_6e .. :try_end_71} :catch_a6
1280 - :goto_7a
1281 + :goto_71
1282 throw v6
1284 - :catch_7b
1285 + :catch_72
1286 move-exception v2
1288 - :try_start_7c
1289 + :try_start_73
1290 const-string v6, "BackupServiceBinder"
1292 new-instance v7, Ljava/lang/StringBuilder;
1293 @@ -397,10 +386,10 @@
1294 invoke-static {v6, v7, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1296 throw v2
1297 - :try_end_a6
1298 - .catchall {:try_start_7c .. :try_end_a6} :catchall_64
1299 + :try_end_9d
1300 + .catchall {:try_start_73 .. :try_end_9d} :catchall_5b
1302 - :catch_a6
1303 + :catch_9d
1304 move-exception v1
1306 const-string v7, "BackupServiceBinder"
1307 @@ -409,17 +398,28 @@
1309 invoke-static {v7, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
1311 - goto :goto_74
1312 + goto :goto_6b
1314 - :catch_af
1315 - move-exception v6
1316 + :catch_a6
1317 + move-exception v7
1319 - goto/16 :goto_2a
1320 + goto :goto_71
1322 + :catch_a8
1323 + move-exception v1
1325 + const-string v6, "BackupServiceBinder"
1327 + const-string v7, "Unable to finalize backup stream!"
1329 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
1331 + goto/16 :goto_24
1333 :catch_b2
1334 - move-exception v7
1335 + move-exception v6
1337 - goto :goto_7a
1338 + goto/16 :goto_2a
1339 .end method
1341 .method public doRestore(Landroid/os/ParcelFileDescriptor;ILandroid/os/ParcelFileDescriptor;ILandroid/app/backup/IBackupManager;)V
1342 @@ -462,7 +462,7 @@
1343 :try_start_1c
1344 invoke-interface {p5, p4}, Landroid/app/backup/IBackupManager;->opComplete(I)V
1345 :try_end_1f
1346 - .catch Landroid/os/RemoteException; {:try_start_1c .. :try_end_1f} :catch_83
1347 + .catch Landroid/os/RemoteException; {:try_start_1c .. :try_end_1f} :catch_85
1349 :goto_1f
1350 return-void
1351 @@ -525,7 +525,7 @@
1352 :try_start_54
1353 invoke-interface {p5, p4}, Landroid/app/backup/IBackupManager;->opComplete(I)V
1354 :try_end_57
1355 - .catch Landroid/os/RemoteException; {:try_start_54 .. :try_end_57} :catch_85
1356 + .catch Landroid/os/RemoteException; {:try_start_54 .. :try_end_57} :catch_83
1358 :goto_57
1359 throw v4
1360 @@ -577,14 +577,14 @@
1361 .catchall {:try_start_59 .. :try_end_83} :catchall_50
1363 :catch_83
1364 - move-exception v4
1365 + move-exception v5
1367 - goto :goto_1f
1368 + goto :goto_57
1370 :catch_85
1371 - move-exception v5
1372 + move-exception v4
1374 - goto :goto_57
1375 + goto :goto_1f
1376 .end method
1378 .method public doRestoreFile(Landroid/os/ParcelFileDescriptor;JILjava/lang/String;Ljava/lang/String;JJILandroid/app/backup/IBackupManager;)V
1379 @@ -632,7 +632,7 @@
1381 invoke-interface {v0, v1}, Landroid/app/backup/IBackupManager;->opComplete(I)V
1382 :try_end_23
1383 - .catch Landroid/os/RemoteException; {:try_start_1c .. :try_end_23} :catch_37
1384 + .catch Landroid/os/RemoteException; {:try_start_1c .. :try_end_23} :catch_39
1386 :goto_23
1387 return-void
1388 @@ -661,18 +661,18 @@
1390 invoke-interface {v0, v1}, Landroid/app/backup/IBackupManager;->opComplete(I)V
1391 :try_end_36
1392 - .catch Landroid/os/RemoteException; {:try_start_2f .. :try_end_36} :catch_39
1393 + .catch Landroid/os/RemoteException; {:try_start_2f .. :try_end_36} :catch_37
1395 :goto_36
1396 throw v2
1398 :catch_37
1399 - move-exception v2
1400 + move-exception v3
1402 - goto :goto_23
1403 + goto :goto_36
1405 :catch_39
1406 - move-exception v3
1407 + move-exception v2
1409 - goto :goto_36
1410 + goto :goto_23
1411 .end method
1412 diff -Npru stock-framework/smali/android/app/backup/RestoreSession.smali pdroid-framework/smali/android/app/backup/RestoreSession.smali
1413 --- stock-framework/smali/android/app/backup/RestoreSession.smali 2012-05-07 17:01:03.853641107 -0500
1414 +++ pdroid-framework/smali/android/app/backup/RestoreSession.smali 2012-05-07 17:01:33.969790437 -0500
1415 @@ -52,12 +52,12 @@
1417 invoke-interface {v1}, Landroid/app/backup/IRestoreSession;->endRestoreSession()V
1418 :try_end_6
1419 - .catchall {:try_start_1 .. :try_end_6} :catchall_14
1420 + .catchall {:try_start_1 .. :try_end_6} :catchall_12
1421 .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_6} :catch_9
1423 + :goto_6
1424 iput-object v3, p0, Landroid/app/backup/RestoreSession;->mBinder:Landroid/app/backup/IRestoreSession;
1426 - :goto_8
1427 return-void
1429 :catch_9
1430 @@ -70,13 +70,11 @@
1432 invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1433 :try_end_11
1434 - .catchall {:try_start_a .. :try_end_11} :catchall_14
1435 + .catchall {:try_start_a .. :try_end_11} :catchall_12
1437 - iput-object v3, p0, Landroid/app/backup/RestoreSession;->mBinder:Landroid/app/backup/IRestoreSession;
1439 - goto :goto_8
1440 + goto :goto_6
1442 - :catchall_14
1443 + :catchall_12
1444 move-exception v1
1446 iput-object v3, p0, Landroid/app/backup/RestoreSession;->mBinder:Landroid/app/backup/IRestoreSession;
1447 diff -Npru stock-framework/smali/android/app/ContextImpl$18.smali pdroid-framework/smali/android/app/ContextImpl$18.smali
1448 --- stock-framework/smali/android/app/ContextImpl$18.smali 2012-05-07 17:01:03.589639797 -0500
1449 +++ pdroid-framework/smali/android/app/ContextImpl$18.smali 2012-05-07 17:01:33.617788695 -0500
1450 @@ -26,21 +26,25 @@
1452 # virtual methods
1453 .method public createStaticService()Ljava/lang/Object;
1454 - .registers 4
1455 + .registers 5
1457 - const-string v1, "location"
1458 + const-string v2, "location"
1460 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
1461 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
1463 move-result-object v0
1465 - new-instance v1, Landroid/location/LocationManager;
1467 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
1469 - move-result-object v2
1470 + move-result-object v1
1472 + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager;
1474 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
1476 + move-result-object v3
1478 - invoke-direct {v1, v2}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
1479 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
1481 - return-object v1
1482 + return-object v2
1483 .end method
1484 diff -Npru stock-framework/smali/android/app/ContextImpl$26.smali pdroid-framework/smali/android/app/ContextImpl$26.smali
1485 --- stock-framework/smali/android/app/ContextImpl$26.smali 2012-05-07 17:01:03.589639797 -0500
1486 +++ pdroid-framework/smali/android/app/ContextImpl$26.smali 2012-05-07 17:01:33.621788719 -0500
1487 @@ -28,13 +28,13 @@
1488 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
1489 .registers 4
1491 - new-instance v0, Landroid/telephony/TelephonyManager;
1492 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
1494 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
1496 move-result-object v1
1498 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
1499 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
1501 return-object v0
1502 .end method
1503 diff -Npru stock-framework/smali/android/app/ContextImpl$35.smali pdroid-framework/smali/android/app/ContextImpl$35.smali
1504 --- stock-framework/smali/android/app/ContextImpl$35.smali 1969-12-31 18:00:00.000000000 -0600
1505 +++ pdroid-framework/smali/android/app/ContextImpl$35.smali 2012-05-07 17:01:33.637788791 -0500
1506 @@ -0,0 +1,50 @@
1507 +.class final Landroid/app/ContextImpl$35;
1508 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
1509 +.source "ContextImpl.java"
1512 +# annotations
1513 +.annotation system Ldalvik/annotation/EnclosingClass;
1514 + value = Landroid/app/ContextImpl;
1515 +.end annotation
1517 +.annotation system Ldalvik/annotation/InnerClass;
1518 + accessFlags = 0x8
1519 + name = null
1520 +.end annotation
1523 +# direct methods
1524 +.method constructor <init>()V
1525 + .registers 1
1527 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
1529 + return-void
1530 +.end method
1533 +# virtual methods
1534 +.method public createStaticService()Ljava/lang/Object;
1535 + .registers 5
1537 + const-string/jumbo v2, "privacy"
1539 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
1541 + move-result-object v0
1543 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1545 + move-result-object v1
1547 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
1549 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
1551 + move-result-object v3
1553 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
1555 + return-object v2
1556 +.end method
1557 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
1558 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-05-07 17:01:03.593639813 -0500
1559 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-05-07 17:01:33.637788791 -0500
1560 @@ -38,9 +38,9 @@
1562 move-result-object v1
1564 - new-instance v2, Landroid/accounts/AccountManager;
1565 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
1567 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
1568 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
1570 return-object v2
1571 .end method
1572 diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
1573 --- stock-framework/smali/android/app/ContextImpl.smali 2012-05-07 17:01:03.609639897 -0500
1574 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-05-07 17:01:33.665788937 -0500
1575 @@ -36,6 +36,8 @@
1577 .field private static sNextPerContextServiceCacheIndex:I
1579 +.field private static sOuterContext:Landroid/content/Context;
1581 .field private static final sSharedPrefs:Ljava/util/HashMap;
1582 .annotation system Ldalvik/annotation/Signature;
1583 value = {
1584 @@ -402,6 +404,14 @@
1586 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
1588 + const-string/jumbo v0, "privacy"
1590 + new-instance v1, Landroid/app/ContextImpl$35;
1592 + invoke-direct {v1}, Landroid/app/ContextImpl$35;-><init>()V
1594 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
1596 return-void
1597 .end method
1599 @@ -436,6 +446,8 @@
1601 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
1603 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
1605 return-void
1606 .end method
1608 @@ -490,6 +502,8 @@
1610 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
1612 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
1614 return-void
1615 .end method
1617 @@ -959,6 +973,14 @@
1618 throw v0
1619 .end method
1621 +.method static final getStaticOuterContext()Landroid/content/Context;
1622 + .registers 1
1624 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
1626 + return-object v0
1627 +.end method
1629 .method private getWallpaperManager()Landroid/app/WallpaperManager;
1630 .registers 2
1632 @@ -4089,6 +4111,8 @@
1634 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
1636 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
1638 return-void
1639 .end method
1641 diff -Npru stock-framework/smali/android/app/DownloadManager.smali pdroid-framework/smali/android/app/DownloadManager.smali
1642 --- stock-framework/smali/android/app/DownloadManager.smali 2012-05-07 17:01:03.621639955 -0500
1643 +++ pdroid-framework/smali/android/app/DownloadManager.smali 2012-05-07 17:01:33.693789071 -0500
1644 @@ -618,7 +618,7 @@
1645 :try_start_11
1646 invoke-virtual {p0, v1}, Landroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;
1647 :try_end_14
1648 - .catchall {:try_start_11 .. :try_end_14} :catchall_3a
1649 + .catchall {:try_start_11 .. :try_end_14} :catchall_31
1651 move-result-object v0
1653 @@ -626,10 +626,10 @@
1655 if-eqz v0, :cond_1c
1657 + :goto_19
1658 invoke-interface {v0}, Landroid/database/Cursor;->close()V
1660 :cond_1c
1661 - :goto_1c
1662 return-object v2
1664 :cond_1d
1665 @@ -638,7 +638,7 @@
1667 move-result v3
1669 - if-eqz v3, :cond_34
1670 + if-eqz v3, :cond_38
1672 const-string/jumbo v2, "media_type"
1674 @@ -648,32 +648,28 @@
1676 invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
1677 :try_end_2d
1678 - .catchall {:try_start_1d .. :try_end_2d} :catchall_3a
1679 + .catchall {:try_start_1d .. :try_end_2d} :catchall_31
1681 move-result-object v2
1683 if-eqz v0, :cond_1c
1685 - invoke-interface {v0}, Landroid/database/Cursor;->close()V
1687 - goto :goto_1c
1689 - :cond_34
1690 - if-eqz v0, :cond_1c
1692 - invoke-interface {v0}, Landroid/database/Cursor;->close()V
1693 + goto :goto_19
1695 - goto :goto_1c
1697 - :catchall_3a
1698 + :catchall_31
1699 move-exception v2
1701 - if-eqz v0, :cond_40
1702 + if-eqz v0, :cond_37
1704 invoke-interface {v0}, Landroid/database/Cursor;->close()V
1706 - :cond_40
1707 + :cond_37
1708 throw v2
1710 + :cond_38
1711 + if-eqz v0, :cond_1c
1713 + goto :goto_19
1714 .end method
1716 .method public getUriForDownloadedFile(J)Landroid/net/Uri;
1717 @@ -702,7 +698,7 @@
1718 :try_start_11
1719 invoke-virtual {p0, v4}, Landroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;
1720 :try_end_14
1721 - .catchall {:try_start_11 .. :try_end_14} :catchall_72
1722 + .catchall {:try_start_11 .. :try_end_14} :catchall_66
1724 move-result-object v0
1726 @@ -710,10 +706,10 @@
1728 if-eqz v0, :cond_1c
1730 + :goto_19
1731 invoke-interface {v0}, Landroid/database/Cursor;->close()V
1733 :cond_1c
1734 - :goto_1c
1735 return-object v6
1737 :cond_1d
1738 @@ -722,7 +718,7 @@
1740 move-result v7
1742 - if-eqz v7, :cond_6c
1743 + if-eqz v7, :cond_6d
1745 const-string/jumbo v7, "status"
1747 @@ -736,7 +732,7 @@
1749 const/16 v7, 0x8
1751 - if-ne v7, v5, :cond_6c
1752 + if-ne v7, v5, :cond_6d
1754 const-string v6, "destination"
1756 @@ -760,25 +756,20 @@
1758 const/4 v6, 0x2
1760 - if-ne v1, v6, :cond_53
1761 + if-ne v1, v6, :cond_50
1763 :cond_47
1764 sget-object v6, Landroid/provider/Downloads$Impl;->CONTENT_URI:Landroid/net/Uri;
1766 invoke-static {v6, p1, p2}, Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;
1767 - :try_end_4c
1768 - .catchall {:try_start_1d .. :try_end_4c} :catchall_72
1770 move-result-object v6
1772 if-eqz v0, :cond_1c
1774 - invoke-interface {v0}, Landroid/database/Cursor;->close()V
1776 - goto :goto_1c
1777 + goto :goto_19
1779 - :cond_53
1780 - :try_start_53
1781 + :cond_50
1782 const-string v6, "local_filename"
1784 invoke-interface {v0, v6}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
1785 @@ -794,33 +785,29 @@
1786 invoke-direct {v6, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
1788 invoke-static {v6}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
1789 - :try_end_65
1790 - .catchall {:try_start_53 .. :try_end_65} :catchall_72
1791 + :try_end_62
1792 + .catchall {:try_start_1d .. :try_end_62} :catchall_66
1794 move-result-object v6
1796 if-eqz v0, :cond_1c
1798 - invoke-interface {v0}, Landroid/database/Cursor;->close()V
1800 - goto :goto_1c
1802 - :cond_6c
1803 - if-eqz v0, :cond_1c
1805 - invoke-interface {v0}, Landroid/database/Cursor;->close()V
1807 - goto :goto_1c
1808 + goto :goto_19
1810 - :catchall_72
1811 + :catchall_66
1812 move-exception v6
1814 - if-eqz v0, :cond_78
1815 + if-eqz v0, :cond_6c
1817 invoke-interface {v0}, Landroid/database/Cursor;->close()V
1819 - :cond_78
1820 + :cond_6c
1821 throw v6
1823 + :cond_6d
1824 + if-eqz v0, :cond_1c
1826 + goto :goto_19
1827 .end method
1829 .method public varargs markRowDeleted([J)I
1830 diff -Npru stock-framework/smali/android/app/Fragment.smali pdroid-framework/smali/android/app/Fragment.smali
1831 --- stock-framework/smali/android/app/Fragment.smali 2012-05-07 17:01:03.613639913 -0500
1832 +++ pdroid-framework/smali/android/app/Fragment.smali 2012-05-07 17:01:33.685789031 -0500
1833 @@ -503,7 +503,7 @@
1835 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1837 - const-string v0, "mRetainInstance="
1838 + const-string/jumbo v0, "mRetainInstance="
1840 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1842 @@ -529,7 +529,7 @@
1844 iget-object v0, p0, Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl;
1846 - if-eqz v0, :cond_e7
1847 + if-eqz v0, :cond_e8
1849 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1851 @@ -541,10 +541,10 @@
1853 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
1855 - :cond_e7
1856 + :cond_e8
1857 iget-object v0, p0, Landroid/app/Fragment;->mActivity:Landroid/app/Activity;
1859 - if-eqz v0, :cond_f8
1860 + if-eqz v0, :cond_f9
1862 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1864 @@ -556,10 +556,10 @@
1866 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
1868 - :cond_f8
1869 + :cond_f9
1870 iget-object v0, p0, Landroid/app/Fragment;->mArguments:Landroid/os/Bundle;
1872 - if-eqz v0, :cond_109
1873 + if-eqz v0, :cond_10a
1875 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1877 @@ -571,10 +571,10 @@
1879 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
1881 - :cond_109
1882 + :cond_10a
1883 iget-object v0, p0, Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
1885 - if-eqz v0, :cond_11b
1886 + if-eqz v0, :cond_11c
1888 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1890 @@ -586,10 +586,10 @@
1892 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
1894 - :cond_11b
1895 + :cond_11c
1896 iget-object v0, p0, Landroid/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
1898 - if-eqz v0, :cond_12d
1899 + if-eqz v0, :cond_12e
1901 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1903 @@ -601,10 +601,10 @@
1905 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
1907 - :cond_12d
1908 + :cond_12e
1909 iget-object v0, p0, Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
1911 - if-eqz v0, :cond_149
1912 + if-eqz v0, :cond_14a
1914 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1916 @@ -624,10 +624,10 @@
1918 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
1920 - :cond_149
1921 + :cond_14a
1922 iget v0, p0, Landroid/app/Fragment;->mNextAnim:I
1924 - if-eqz v0, :cond_15a
1925 + if-eqz v0, :cond_15b
1927 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1929 @@ -639,10 +639,10 @@
1931 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
1933 - :cond_15a
1934 + :cond_15b
1935 iget-object v0, p0, Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
1937 - if-eqz v0, :cond_16b
1938 + if-eqz v0, :cond_16c
1940 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1942 @@ -654,10 +654,10 @@
1944 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
1946 - :cond_16b
1947 + :cond_16c
1948 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
1950 - if-eqz v0, :cond_17d
1951 + if-eqz v0, :cond_17e
1953 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1955 @@ -669,10 +669,10 @@
1957 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
1959 - :cond_17d
1960 + :cond_17e
1961 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
1963 - if-eqz v0, :cond_19c
1964 + if-eqz v0, :cond_19d
1966 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1968 @@ -694,10 +694,10 @@
1970 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
1972 - :cond_19c
1973 + :cond_19d
1974 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
1976 - if-eqz v0, :cond_1c0
1977 + if-eqz v0, :cond_1c1
1979 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1981 @@ -727,7 +727,7 @@
1983 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
1985 - :cond_1c0
1986 + :cond_1c1
1987 return-void
1988 .end method
1990 diff -Npru stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali
1991 --- stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-05-07 17:01:03.753640607 -0500
1992 +++ pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-05-07 17:01:33.877789983 -0500
1993 @@ -568,7 +568,7 @@
1995 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
1997 - const-string v0, "mRetaining="
1998 + const-string/jumbo v0, "mRetaining="
2000 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
2002 @@ -594,7 +594,7 @@
2004 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
2006 - if-eqz v0, :cond_ea
2007 + if-eqz v0, :cond_eb
2009 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
2011 @@ -632,7 +632,7 @@
2013 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
2015 - :cond_ea
2016 + :cond_eb
2017 return-void
2018 .end method
2020 diff -Npru stock-framework/smali/android/app/WallpaperManager$Globals.smali pdroid-framework/smali/android/app/WallpaperManager$Globals.smali
2021 --- stock-framework/smali/android/app/WallpaperManager$Globals.smali 2012-05-07 17:01:03.809640885 -0500
2022 +++ pdroid-framework/smali/android/app/WallpaperManager$Globals.smali 2012-05-07 17:01:33.933790265 -0500
2023 @@ -140,7 +140,7 @@
2024 :try_start_2f
2025 invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;->close()V
2026 :try_end_32
2027 - .catch Ljava/io/IOException; {:try_start_2f .. :try_end_32} :catch_49
2028 + .catch Ljava/io/IOException; {:try_start_2f .. :try_end_32} :catch_4d
2029 .catch Landroid/os/RemoteException; {:try_start_2f .. :try_end_32} :catch_47
2031 :goto_32
2032 @@ -178,7 +178,7 @@
2033 :try_start_43
2034 invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;->close()V
2035 :try_end_46
2036 - .catch Ljava/io/IOException; {:try_start_43 .. :try_end_46} :catch_4d
2037 + .catch Ljava/io/IOException; {:try_start_43 .. :try_end_46} :catch_49
2038 .catch Landroid/os/RemoteException; {:try_start_43 .. :try_end_46} :catch_47
2040 :goto_46
2041 @@ -193,9 +193,9 @@
2042 goto :goto_40
2044 :catch_49
2045 - move-exception v8
2046 + move-exception v9
2048 - goto :goto_32
2049 + goto :goto_46
2051 :catch_4b
2052 move-exception v7
2053 @@ -203,9 +203,9 @@
2054 goto :goto_40
2056 :catch_4d
2057 - move-exception v9
2058 + move-exception v8
2060 - goto :goto_46
2061 + goto :goto_32
2062 .end method
2064 .method private getDefaultWallpaperLocked(Landroid/content/Context;)Landroid/graphics/Bitmap;
2065 @@ -261,7 +261,7 @@
2066 :try_start_28
2067 invoke-virtual {v3}, Ljava/io/InputStream;->close()V
2068 :try_end_2b
2069 - .catch Ljava/io/IOException; {:try_start_28 .. :try_end_2b} :catch_42
2070 + .catch Ljava/io/IOException; {:try_start_28 .. :try_end_2b} :catch_46
2071 .catch Landroid/os/RemoteException; {:try_start_28 .. :try_end_2b} :catch_40
2073 :goto_2b
2074 @@ -299,7 +299,7 @@
2075 :try_start_3c
2076 invoke-virtual {v3}, Ljava/io/InputStream;->close()V
2077 :try_end_3f
2078 - .catch Ljava/io/IOException; {:try_start_3c .. :try_end_3f} :catch_46
2079 + .catch Ljava/io/IOException; {:try_start_3c .. :try_end_3f} :catch_42
2080 .catch Landroid/os/RemoteException; {:try_start_3c .. :try_end_3f} :catch_40
2082 :goto_3f
2083 @@ -314,9 +314,9 @@
2084 goto :goto_39
2086 :catch_42
2087 - move-exception v7
2088 + move-exception v8
2090 - goto :goto_2b
2091 + goto :goto_3f
2093 :catch_44
2094 move-exception v6
2095 @@ -324,9 +324,9 @@
2096 goto :goto_39
2098 :catch_46
2099 - move-exception v8
2100 + move-exception v7
2102 - goto :goto_3f
2103 + goto :goto_2b
2104 .end method
2107 diff -Npru stock-framework/smali/android/bluetooth/BluetoothSocket.smali pdroid-framework/smali/android/bluetooth/BluetoothSocket.smali
2108 --- stock-framework/smali/android/bluetooth/BluetoothSocket.smali 2012-05-07 17:01:03.921641443 -0500
2109 +++ pdroid-framework/smali/android/bluetooth/BluetoothSocket.smali 2012-05-07 17:01:34.045790821 -0500
2110 @@ -445,7 +445,7 @@
2112 sget-object v1, Landroid/bluetooth/BluetoothSocket$SocketState;->CLOSED:Landroid/bluetooth/BluetoothSocket$SocketState;
2113 :try_end_d
2114 - .catchall {:try_start_9 .. :try_end_d} :catchall_29
2115 + .catchall {:try_start_9 .. :try_end_d} :catchall_26
2117 if-ne v0, v1, :cond_1b
2119 @@ -457,16 +457,16 @@
2121 move-result-object v1
2123 + :goto_17
2124 invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->unlock()V
2126 - :goto_1a
2127 return v0
2129 :cond_1b
2130 :try_start_1b
2131 invoke-direct {p0}, Landroid/bluetooth/BluetoothSocket;->bindListenNative()I
2132 :try_end_1e
2133 - .catchall {:try_start_1b .. :try_end_1e} :catchall_29
2134 + .catchall {:try_start_1b .. :try_end_1e} :catchall_26
2136 move-result v0
2138 @@ -476,11 +476,9 @@
2140 move-result-object v1
2142 - invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->unlock()V
2144 - goto :goto_1a
2145 + goto :goto_17
2147 - :catchall_29
2148 + :catchall_26
2149 move-exception v0
2151 iget-object v1, p0, Landroid/bluetooth/BluetoothSocket;->mLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
2152 diff -Npru stock-framework/smali/android/content/AbstractThreadedSyncAdapter$SyncThread.smali pdroid-framework/smali/android/content/AbstractThreadedSyncAdapter$SyncThread.smali
2153 --- stock-framework/smali/android/content/AbstractThreadedSyncAdapter$SyncThread.smali 2012-05-07 17:01:03.949641583 -0500
2154 +++ pdroid-framework/smali/android/content/AbstractThreadedSyncAdapter$SyncThread.smali 2012-05-07 17:01:34.077790975 -0500
2155 @@ -102,11 +102,11 @@
2156 :try_start_b
2157 invoke-direct {p0}, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->isCanceled()Z
2158 :try_end_e
2159 - .catchall {:try_start_b .. :try_end_e} :catchall_80
2160 + .catchall {:try_start_b .. :try_end_e} :catchall_7d
2162 move-result v0
2164 - if-eqz v0, :cond_38
2165 + if-eqz v0, :cond_35
2167 if-eqz v4, :cond_16
2169 @@ -146,21 +146,14 @@
2170 invoke-virtual {v0, v2}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
2172 monitor-exit v1
2173 + :try_end_34
2174 + .catchall {:try_start_28 .. :try_end_34} :catchall_a5
2176 :goto_34
2177 return-void
2179 - :catchall_35
2180 - move-exception v0
2182 - monitor-exit v1
2183 - :try_end_37
2184 - .catchall {:try_start_28 .. :try_end_37} :catchall_35
2186 - throw v0
2188 - :cond_38
2189 - :try_start_38
2190 + :cond_35
2191 + :try_start_35
2192 iget-object v0, p0, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->this$0:Landroid/content/AbstractThreadedSyncAdapter;
2194 #getter for: Landroid/content/AbstractThreadedSyncAdapter;->mContext:Landroid/content/Context;
2195 @@ -178,7 +171,7 @@
2197 move-result-object v4
2199 - if-eqz v4, :cond_7c
2200 + if-eqz v4, :cond_79
2202 iget-object v0, p0, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->this$0:Landroid/content/AbstractThreadedSyncAdapter;
2204 @@ -189,26 +182,26 @@
2205 iget-object v3, p0, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->mAuthority:Ljava/lang/String;
2207 invoke-virtual/range {v0 .. v5}, Landroid/content/AbstractThreadedSyncAdapter;->onPerformSync(Landroid/accounts/Account;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/ContentProviderClient;Landroid/content/SyncResult;)V
2208 - :try_end_55
2209 - .catchall {:try_start_38 .. :try_end_55} :catchall_80
2210 + :try_end_52
2211 + .catchall {:try_start_35 .. :try_end_52} :catchall_7d
2213 - :goto_55
2214 - if-eqz v4, :cond_5a
2215 + :goto_52
2216 + if-eqz v4, :cond_57
2218 invoke-virtual {v4}, Landroid/content/ContentProviderClient;->release()Z
2220 - :cond_5a
2221 + :cond_57
2222 invoke-direct {p0}, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->isCanceled()Z
2224 move-result v0
2226 - if-nez v0, :cond_65
2227 + if-nez v0, :cond_62
2229 iget-object v0, p0, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->mSyncContext:Landroid/content/SyncContext;
2231 invoke-virtual {v0, v5}, Landroid/content/SyncContext;->onFinished(Landroid/content/SyncResult;)V
2233 - :cond_65
2234 + :cond_62
2235 iget-object v0, p0, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->this$0:Landroid/content/AbstractThreadedSyncAdapter;
2237 #getter for: Landroid/content/AbstractThreadedSyncAdapter;->mSyncThreadLock:Ljava/lang/Object;
2238 @@ -218,7 +211,7 @@
2240 monitor-enter v1
2242 - :try_start_6c
2243 + :try_start_69
2244 iget-object v0, p0, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->this$0:Landroid/content/AbstractThreadedSyncAdapter;
2246 #getter for: Landroid/content/AbstractThreadedSyncAdapter;->mSyncThreads:Ljava/util/HashMap;
2247 @@ -234,44 +227,44 @@
2249 goto :goto_34
2251 - :catchall_79
2252 + :catchall_76
2253 move-exception v0
2255 monitor-exit v1
2256 - :try_end_7b
2257 - .catchall {:try_start_6c .. :try_end_7b} :catchall_79
2258 + :try_end_78
2259 + .catchall {:try_start_69 .. :try_end_78} :catchall_76
2261 throw v0
2263 - :cond_7c
2264 + :cond_79
2265 const/4 v0, 0x1
2267 - :try_start_7d
2268 + :try_start_7a
2269 iput-boolean v0, v5, Landroid/content/SyncResult;->databaseError:Z
2270 - :try_end_7f
2271 - .catchall {:try_start_7d .. :try_end_7f} :catchall_80
2272 + :try_end_7c
2273 + .catchall {:try_start_7a .. :try_end_7c} :catchall_7d
2275 - goto :goto_55
2276 + goto :goto_52
2278 - :catchall_80
2279 + :catchall_7d
2280 move-exception v0
2282 - if-eqz v4, :cond_86
2283 + if-eqz v4, :cond_83
2285 invoke-virtual {v4}, Landroid/content/ContentProviderClient;->release()Z
2287 - :cond_86
2288 + :cond_83
2289 invoke-direct {p0}, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->isCanceled()Z
2291 move-result v1
2293 - if-nez v1, :cond_91
2294 + if-nez v1, :cond_8e
2296 iget-object v1, p0, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->mSyncContext:Landroid/content/SyncContext;
2298 invoke-virtual {v1, v5}, Landroid/content/SyncContext;->onFinished(Landroid/content/SyncResult;)V
2300 - :cond_91
2301 + :cond_8e
2302 iget-object v1, p0, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->this$0:Landroid/content/AbstractThreadedSyncAdapter;
2304 #getter for: Landroid/content/AbstractThreadedSyncAdapter;->mSyncThreadLock:Ljava/lang/Object;
2305 @@ -281,7 +274,7 @@
2307 monitor-enter v1
2309 - :try_start_98
2310 + :try_start_95
2311 iget-object v2, p0, Landroid/content/AbstractThreadedSyncAdapter$SyncThread;->this$0:Landroid/content/AbstractThreadedSyncAdapter;
2313 #getter for: Landroid/content/AbstractThreadedSyncAdapter;->mSyncThreads:Ljava/util/HashMap;
2314 @@ -294,8 +287,18 @@
2315 invoke-virtual {v2, v3}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
2317 monitor-exit v1
2318 + :try_end_a1
2319 + .catchall {:try_start_95 .. :try_end_a1} :catchall_a2
2321 + throw v0
2323 + :catchall_a2
2324 + move-exception v0
2326 + :try_start_a3
2327 + monitor-exit v1
2328 :try_end_a4
2329 - .catchall {:try_start_98 .. :try_end_a4} :catchall_a5
2330 + .catchall {:try_start_a3 .. :try_end_a4} :catchall_a2
2332 throw v0
2334 diff -Npru stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali
2335 --- stock-framework/smali/android/content/ContentResolver.smali 2012-05-07 17:01:03.601639853 -0500
2336 +++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-05-07 17:01:33.645788837 -0500
2337 @@ -1662,12 +1662,12 @@
2339 invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
2340 :try_end_35
2341 - .catchall {:try_start_1f .. :try_end_35} :catchall_3f
2342 + .catchall {:try_start_1f .. :try_end_35} :catchall_3c
2343 .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_35} :catch_39
2345 + :goto_35
2346 invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2348 - :goto_38
2349 return v8
2351 :catch_39
2352 @@ -1675,11 +1675,9 @@
2354 const/4 v8, 0x0
2356 - invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2358 - goto :goto_38
2359 + goto :goto_35
2361 - :catchall_3f
2362 + :catchall_3c
2363 move-exception v0
2365 invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2366 @@ -1746,14 +1744,14 @@
2367 :try_start_35
2368 invoke-interface {v1, p2, p3, p4}, Landroid/content/IContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
2369 :try_end_38
2370 - .catchall {:try_start_35 .. :try_end_38} :catchall_43
2371 + .catchall {:try_start_35 .. :try_end_38} :catchall_40
2372 .catch Landroid/os/RemoteException; {:try_start_35 .. :try_end_38} :catch_3d
2374 move-result-object v2
2376 + :goto_39
2377 invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2379 - :goto_3c
2380 return-object v2
2382 :catch_3d
2383 @@ -1761,11 +1759,9 @@
2385 const/4 v2, 0x0
2387 - invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2389 - goto :goto_3c
2390 + goto :goto_39
2392 - :catchall_43
2393 + :catchall_40
2394 move-exception v2
2396 invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2397 @@ -1856,12 +1852,12 @@
2399 invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
2400 :try_end_35
2401 - .catchall {:try_start_1f .. :try_end_35} :catchall_3f
2402 + .catchall {:try_start_1f .. :try_end_35} :catchall_3c
2403 .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_35} :catch_39
2405 + :goto_35
2406 invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2408 - :goto_38
2409 return v8
2411 :catch_39
2412 @@ -1869,11 +1865,9 @@
2414 const/4 v8, -0x1
2416 - invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2418 - goto :goto_38
2419 + goto :goto_35
2421 - :catchall_3f
2422 + :catchall_3c
2423 move-exception v0
2425 invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2426 @@ -2160,11 +2154,12 @@
2427 :try_start_8
2428 invoke-interface {v1, p1, p2}, Landroid/content/IContentProvider;->getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
2429 :try_end_b
2430 - .catchall {:try_start_8 .. :try_end_b} :catchall_15
2431 + .catchall {:try_start_8 .. :try_end_b} :catchall_12
2432 .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_b} :catch_10
2434 move-result-object v2
2436 + :goto_c
2437 invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2439 goto :goto_7
2440 @@ -2172,11 +2167,9 @@
2441 :catch_10
2442 move-exception v0
2444 - invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2445 + goto :goto_c
2447 - goto :goto_7
2449 - :catchall_15
2450 + :catchall_12
2451 move-exception v2
2453 invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2454 @@ -2193,17 +2186,18 @@
2456 move-result-object v1
2458 - if-eqz v1, :cond_4a
2459 + if-eqz v1, :cond_44
2461 :try_start_7
2462 invoke-interface {v1, p1}, Landroid/content/IContentProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
2463 :try_end_a
2464 - .catchall {:try_start_7 .. :try_end_a} :catchall_45
2465 + .catchall {:try_start_7 .. :try_end_a} :catchall_3f
2466 .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_a} :catch_f
2467 - .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_a} :catch_14
2468 + .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_a} :catch_11
2470 move-result-object v2
2472 + :goto_b
2473 invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2475 :cond_e
2476 @@ -2213,14 +2207,12 @@
2477 :catch_f
2478 move-exception v0
2480 - invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2482 - goto :goto_e
2483 + goto :goto_b
2485 - :catch_14
2486 + :catch_11
2487 move-exception v0
2489 - :try_start_15
2490 + :try_start_12
2491 const-string v3, "ContentResolver"
2493 new-instance v4, Ljava/lang/StringBuilder;
2494 @@ -2262,21 +2254,19 @@
2495 move-result-object v4
2497 invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
2498 - :try_end_41
2499 - .catchall {:try_start_15 .. :try_end_41} :catchall_45
2501 - invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2502 + :try_end_3e
2503 + .catchall {:try_start_12 .. :try_end_3e} :catchall_3f
2505 - goto :goto_e
2506 + goto :goto_b
2508 - :catchall_45
2509 + :catchall_3f
2510 move-exception v3
2512 invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2514 throw v3
2516 - :cond_4a
2517 + :cond_44
2518 const-string v3, "content"
2520 invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
2521 @@ -2289,26 +2279,26 @@
2523 if-eqz v3, :cond_e
2525 - :try_start_56
2526 + :try_start_50
2527 invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2529 move-result-object v3
2531 invoke-interface {v3, p1}, Landroid/app/IActivityManager;->getProviderMimeType(Landroid/net/Uri;)Ljava/lang/String;
2532 - :try_end_5d
2533 - .catch Landroid/os/RemoteException; {:try_start_56 .. :try_end_5d} :catch_5f
2534 - .catch Ljava/lang/Exception; {:try_start_56 .. :try_end_5d} :catch_61
2535 + :try_end_57
2536 + .catch Landroid/os/RemoteException; {:try_start_50 .. :try_end_57} :catch_59
2537 + .catch Ljava/lang/Exception; {:try_start_50 .. :try_end_57} :catch_5b
2539 move-result-object v2
2541 goto :goto_e
2543 - :catch_5f
2544 + :catch_59
2545 move-exception v0
2547 goto :goto_e
2549 - :catch_61
2550 + :catch_5b
2551 move-exception v0
2553 const-string v3, "ContentResolver"
2554 @@ -2693,9 +2683,9 @@
2555 :try_start_a8
2556 invoke-interface {v9, p1, p2}, Landroid/content/IContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2557 :try_end_ab
2558 - .catchall {:try_start_a8 .. :try_end_ab} :catchall_ec
2559 - .catch Landroid/os/RemoteException; {:try_start_a8 .. :try_end_ab} :catch_d2
2560 - .catch Ljava/io/FileNotFoundException; {:try_start_a8 .. :try_end_ab} :catch_f3
2561 + .catchall {:try_start_a8 .. :try_end_ab} :catchall_e8
2562 + .catch Landroid/os/RemoteException; {:try_start_a8 .. :try_end_ab} :catch_ce
2563 + .catch Ljava/io/FileNotFoundException; {:try_start_a8 .. :try_end_ab} :catch_ef
2565 move-result-object v8
2567 @@ -2703,6 +2693,7 @@
2569 if-eqz v9, :cond_3b
2571 + :goto_b0
2572 invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2574 goto :goto_3b
2575 @@ -2731,20 +2722,18 @@
2577 invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
2578 :try_end_cb
2579 - .catchall {:try_start_b4 .. :try_end_cb} :catchall_ec
2580 - .catch Landroid/os/RemoteException; {:try_start_b4 .. :try_end_cb} :catch_d2
2581 - .catch Ljava/io/FileNotFoundException; {:try_start_b4 .. :try_end_cb} :catch_f3
2582 + .catchall {:try_start_b4 .. :try_end_cb} :catchall_e8
2583 + .catch Landroid/os/RemoteException; {:try_start_b4 .. :try_end_cb} :catch_ce
2584 + .catch Ljava/io/FileNotFoundException; {:try_start_b4 .. :try_end_cb} :catch_ef
2586 if-eqz v9, :cond_3b
2588 - invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2590 - goto/16 :goto_3b
2591 + goto :goto_b0
2593 - :catch_d2
2594 + :catch_ce
2595 move-exception v6
2597 - :try_start_d3
2598 + :try_start_cf
2599 new-instance v0, Ljava/io/FileNotFoundException;
2601 new-instance v2, Ljava/lang/StringBuilder;
2602 @@ -2768,26 +2757,26 @@
2603 invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2605 throw v0
2606 - :try_end_ec
2607 - .catchall {:try_start_d3 .. :try_end_ec} :catchall_ec
2608 + :try_end_e8
2609 + .catchall {:try_start_cf .. :try_end_e8} :catchall_e8
2611 - :catchall_ec
2612 + :catchall_e8
2613 move-exception v0
2615 - if-eqz v9, :cond_f2
2616 + if-eqz v9, :cond_ee
2618 invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2620 - :cond_f2
2621 + :cond_ee
2622 throw v0
2624 - :catch_f3
2625 + :catch_ef
2626 move-exception v6
2628 - :try_start_f4
2629 + :try_start_f0
2630 throw v6
2631 - :try_end_f5
2632 - .catchall {:try_start_f4 .. :try_end_f5} :catchall_ec
2633 + :try_end_f1
2634 + .catchall {:try_start_f0 .. :try_end_f1} :catchall_e8
2635 .end method
2637 .method public final openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
2638 @@ -3069,9 +3058,9 @@
2639 :try_start_1f
2640 invoke-interface {v8, p1, p2, p3}, Landroid/content/IContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
2641 :try_end_22
2642 - .catchall {:try_start_1f .. :try_end_22} :catchall_63
2643 - .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_22} :catch_49
2644 - .catch Ljava/io/FileNotFoundException; {:try_start_1f .. :try_end_22} :catch_6a
2645 + .catchall {:try_start_1f .. :try_end_22} :catchall_60
2646 + .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_22} :catch_46
2647 + .catch Ljava/io/FileNotFoundException; {:try_start_1f .. :try_end_22} :catch_67
2649 move-result-object v7
2651 @@ -3081,10 +3070,10 @@
2653 if-eqz v8, :cond_2b
2655 + :goto_28
2656 invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2658 :cond_2b
2659 - :goto_2b
2660 return-object v0
2662 :cond_2c
2663 @@ -3111,20 +3100,18 @@
2665 invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
2666 :try_end_43
2667 - .catchall {:try_start_2c .. :try_end_43} :catchall_63
2668 - .catch Landroid/os/RemoteException; {:try_start_2c .. :try_end_43} :catch_49
2669 - .catch Ljava/io/FileNotFoundException; {:try_start_2c .. :try_end_43} :catch_6a
2670 + .catchall {:try_start_2c .. :try_end_43} :catchall_60
2671 + .catch Landroid/os/RemoteException; {:try_start_2c .. :try_end_43} :catch_46
2672 + .catch Ljava/io/FileNotFoundException; {:try_start_2c .. :try_end_43} :catch_67
2674 if-eqz v8, :cond_2b
2676 - invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2678 - goto :goto_2b
2679 + goto :goto_28
2681 - :catch_49
2682 + :catch_46
2683 move-exception v6
2685 - :try_start_4a
2686 + :try_start_47
2687 new-instance v0, Ljava/io/FileNotFoundException;
2689 new-instance v2, Ljava/lang/StringBuilder;
2690 @@ -3148,26 +3135,26 @@
2691 invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2693 throw v0
2694 - :try_end_63
2695 - .catchall {:try_start_4a .. :try_end_63} :catchall_63
2696 + :try_end_60
2697 + .catchall {:try_start_47 .. :try_end_60} :catchall_60
2699 - :catchall_63
2700 + :catchall_60
2701 move-exception v0
2703 - if-eqz v8, :cond_69
2704 + if-eqz v8, :cond_66
2706 invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2708 - :cond_69
2709 + :cond_66
2710 throw v0
2712 - :catch_6a
2713 + :catch_67
2714 move-exception v6
2716 - :try_start_6b
2717 + :try_start_68
2718 throw v6
2719 - :try_end_6c
2720 - .catchall {:try_start_6b .. :try_end_6c} :catchall_63
2721 + :try_end_69
2722 + .catchall {:try_start_68 .. :try_end_69} :catchall_60
2723 .end method
2725 .method public final query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
2726 @@ -3204,7 +3191,13 @@
2728 move-result-object v9
2730 - if-nez v9, :cond_1e
2731 + iget-object v1, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
2733 + invoke-static {p1, p2, v1, v9}, Landroid/privacy/surrogate/PrivacyContentResolver;->enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
2735 + move-result-object v9
2737 + if-nez v9, :cond_24
2739 invoke-virtual {p0, v0}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2741 @@ -3212,7 +3205,7 @@
2743 goto :goto_7
2745 - :cond_1e
2746 + :cond_24
2747 invoke-interface {v9}, Landroid/database/Cursor;->getCount()I
2749 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2750 @@ -3236,13 +3229,13 @@
2751 new-instance v1, Landroid/content/ContentResolver$CursorWrapperInner;
2753 invoke-direct {v1, p0, v9, v0}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
2754 - :try_end_35
2755 - .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_35} :catch_36
2756 - .catch Ljava/lang/RuntimeException; {:try_start_8 .. :try_end_35} :catch_3c
2757 + :try_end_3b
2758 + .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_3b} :catch_3c
2759 + .catch Ljava/lang/RuntimeException; {:try_start_8 .. :try_end_3b} :catch_42
2761 goto :goto_7
2763 - :catch_36
2764 + :catch_3c
2765 move-exception v8
2767 invoke-virtual {p0, v0}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2768 @@ -3251,7 +3244,7 @@
2770 goto :goto_7
2772 - :catch_3c
2773 + :catch_42
2774 move-exception v8
2776 invoke-virtual {p0, v0}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2777 @@ -3424,12 +3417,12 @@
2779 invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
2780 :try_end_36
2781 - .catchall {:try_start_1f .. :try_end_36} :catchall_40
2782 + .catchall {:try_start_1f .. :try_end_36} :catchall_3d
2783 .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_36} :catch_3a
2785 + :goto_36
2786 invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2788 - :goto_39
2789 return v8
2791 :catch_3a
2792 @@ -3437,11 +3430,9 @@
2794 const/4 v8, -0x1
2796 - invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2797 + goto :goto_36
2799 - goto :goto_39
2801 - :catchall_40
2802 + :catchall_3d
2803 move-exception v0
2805 invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2806 diff -Npru stock-framework/smali/android/content/SyncManager$InitializerServiceConnection.smali pdroid-framework/smali/android/content/SyncManager$InitializerServiceConnection.smali
2807 --- stock-framework/smali/android/content/SyncManager$InitializerServiceConnection.smali 2012-05-07 17:01:04.037642015 -0500
2808 +++ pdroid-framework/smali/android/content/SyncManager$InitializerServiceConnection.smali 2012-05-07 17:01:34.169791429 -0500
2809 @@ -139,7 +139,7 @@
2811 invoke-interface {v1, v2, v3}, Landroid/content/ISyncAdapter;->initialize(Landroid/accounts/Account;Ljava/lang/String;)V
2812 :try_end_43
2813 - .catchall {:try_start_2 .. :try_end_43} :catchall_80
2814 + .catchall {:try_start_2 .. :try_end_43} :catchall_7d
2815 .catch Landroid/os/RemoteException; {:try_start_2 .. :try_end_43} :catch_4e
2817 :cond_43
2818 @@ -149,9 +149,9 @@
2820 invoke-direct {v2, p0}, Landroid/content/SyncManager$InitializerServiceConnection$1;-><init>(Landroid/content/SyncManager$InitializerServiceConnection;)V
2822 + :goto_4a
2823 invoke-virtual {v1, v2, v4, v5}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
2825 - :goto_4d
2826 return-void
2828 :catch_4e
2829 @@ -194,7 +194,7 @@
2831 invoke-static {v1, v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2832 :try_end_75
2833 - .catchall {:try_start_4f .. :try_end_75} :catchall_80
2834 + .catchall {:try_start_4f .. :try_end_75} :catchall_7d
2836 iget-object v1, p0, Landroid/content/SyncManager$InitializerServiceConnection;->mHandler:Landroid/os/Handler;
2838 @@ -202,11 +202,9 @@
2840 invoke-direct {v2, p0}, Landroid/content/SyncManager$InitializerServiceConnection$1;-><init>(Landroid/content/SyncManager$InitializerServiceConnection;)V
2842 - invoke-virtual {v1, v2, v4, v5}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
2844 - goto :goto_4d
2845 + goto :goto_4a
2847 - :catchall_80
2848 + :catchall_7d
2849 move-exception v1
2851 iget-object v2, p0, Landroid/content/SyncManager$InitializerServiceConnection;->mHandler:Landroid/os/Handler;
2852 diff -Npru stock-framework/smali/android/content/SyncStorageEngine.smali pdroid-framework/smali/android/content/SyncStorageEngine.smali
2853 --- stock-framework/smali/android/content/SyncStorageEngine.smali 2012-05-07 17:01:04.077642217 -0500
2854 +++ pdroid-framework/smali/android/content/SyncStorageEngine.smali 2012-05-07 17:01:34.209791633 -0500
2855 @@ -487,7 +487,7 @@
2856 :try_start_18
2857 invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
2858 :try_end_1b
2859 - .catch Ljava/io/IOException; {:try_start_18 .. :try_end_1b} :catch_34
2860 + .catch Ljava/io/IOException; {:try_start_18 .. :try_end_1b} :catch_2d
2862 :goto_1b
2863 return-void
2864 @@ -529,17 +529,12 @@
2865 :try_start_30
2866 invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
2867 :try_end_33
2868 - .catch Ljava/io/IOException; {:try_start_30 .. :try_end_33} :catch_36
2869 + .catch Ljava/io/IOException; {:try_start_30 .. :try_end_33} :catch_34
2871 :goto_33
2872 throw v4
2874 :catch_34
2875 - move-exception v4
2877 - goto :goto_1b
2879 - :catch_36
2880 move-exception v5
2882 goto :goto_33
2883 @@ -1750,7 +1745,7 @@
2885 invoke-interface {v9, v14, v15}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
2886 :try_end_43
2887 - .catchall {:try_start_2 .. :try_end_43} :catchall_12c
2888 + .catchall {:try_start_2 .. :try_end_43} :catchall_12a
2889 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_2 .. :try_end_43} :catch_e6
2890 .catch Ljava/io/IOException; {:try_start_2 .. :try_end_43} :catch_104
2892 @@ -1774,8 +1769,8 @@
2894 iput v14, v0, Landroid/content/SyncStorageEngine;->mNextAuthorityId:I
2895 :try_end_53
2896 - .catchall {:try_start_47 .. :try_end_53} :catchall_12c
2897 - .catch Ljava/lang/NumberFormatException; {:try_start_47 .. :try_end_53} :catch_148
2898 + .catchall {:try_start_47 .. :try_end_53} :catchall_12a
2899 + .catch Ljava/lang/NumberFormatException; {:try_start_47 .. :try_end_53} :catch_146
2900 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_47 .. :try_end_53} :catch_e6
2901 .catch Ljava/io/IOException; {:try_start_47 .. :try_end_53} :catch_104
2903 @@ -1848,7 +1843,7 @@
2904 :goto_89
2905 invoke-interface {v9}, Lorg/xmlpull/v1/XmlPullParser;->next()I
2906 :try_end_8c
2907 - .catchall {:try_start_55 .. :try_end_8c} :catchall_12c
2908 + .catchall {:try_start_55 .. :try_end_8c} :catchall_12a
2909 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_55 .. :try_end_8c} :catch_e6
2910 .catch Ljava/io/IOException; {:try_start_55 .. :try_end_8c} :catch_104
2912 @@ -1892,7 +1887,7 @@
2913 :try_start_a7
2914 invoke-static {v13}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2915 :try_end_aa
2916 - .catchall {:try_start_a7 .. :try_end_aa} :catchall_12c
2917 + .catchall {:try_start_a7 .. :try_end_aa} :catchall_12a
2918 .catch Ljava/lang/NumberFormatException; {:try_start_a7 .. :try_end_aa} :catch_ac
2919 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_a7 .. :try_end_aa} :catch_e6
2920 .catch Ljava/io/IOException; {:try_start_a7 .. :try_end_aa} :catch_104
2921 @@ -1912,8 +1907,8 @@
2922 :try_start_af
2923 invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2924 :try_end_b2
2925 - .catchall {:try_start_af .. :try_end_b2} :catchall_12c
2926 - .catch Ljava/lang/NumberFormatException; {:try_start_af .. :try_end_b2} :catch_148
2927 + .catchall {:try_start_af .. :try_end_b2} :catchall_12a
2928 + .catch Ljava/lang/NumberFormatException; {:try_start_af .. :try_end_b2} :catch_146
2929 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_af .. :try_end_b2} :catch_e6
2930 .catch Ljava/io/IOException; {:try_start_af .. :try_end_b2} :catch_104
2932 @@ -1977,7 +1972,7 @@
2934 invoke-direct {v0, v9, v10}, Landroid/content/SyncStorageEngine;->parseExtra(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/Pair;)V
2935 :try_end_e5
2936 - .catchall {:try_start_b6 .. :try_end_e5} :catchall_12c
2937 + .catchall {:try_start_b6 .. :try_end_e5} :catchall_12a
2938 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_b6 .. :try_end_e5} :catch_e6
2939 .catch Ljava/io/IOException; {:try_start_b6 .. :try_end_e5} :catch_104
2941 @@ -1993,7 +1988,7 @@
2943 invoke-static {v14, v15, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2944 :try_end_ee
2945 - .catchall {:try_start_e7 .. :try_end_ee} :catchall_12c
2946 + .catchall {:try_start_e7 .. :try_end_ee} :catchall_12a
2948 add-int/lit8 v14, v5, 0x1
2950 @@ -2026,7 +2021,7 @@
2951 :catch_104
2952 move-exception v2
2954 - if-nez v4, :cond_124
2955 + if-nez v4, :cond_122
2957 :try_start_107
2958 const-string v14, "SyncManager"
2959 @@ -2035,7 +2030,7 @@
2961 invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2962 :try_end_10e
2963 - .catchall {:try_start_107 .. :try_end_10e} :catchall_12c
2964 + .catchall {:try_start_107 .. :try_end_10e} :catchall_12a
2966 :goto_10e
2967 add-int/lit8 v14, v5, 0x1
2968 @@ -2057,28 +2052,23 @@
2969 :try_start_11e
2970 invoke-virtual {v4}, Ljava/io/FileInputStream;->close()V
2971 :try_end_121
2972 - .catch Ljava/io/IOException; {:try_start_11e .. :try_end_121} :catch_122
2973 + .catch Ljava/io/IOException; {:try_start_11e .. :try_end_121} :catch_102
2975 goto :goto_a6
2977 - :catch_122
2978 - move-exception v14
2980 - goto :goto_a6
2982 - :cond_124
2983 - :try_start_124
2984 + :cond_122
2985 + :try_start_122
2986 const-string v14, "SyncManager"
2988 const-string v15, "Error reading accounts"
2990 invoke-static {v14, v15, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2991 - :try_end_12b
2992 - .catchall {:try_start_124 .. :try_end_12b} :catchall_12c
2993 + :try_end_129
2994 + .catchall {:try_start_122 .. :try_end_129} :catchall_12a
2996 goto :goto_10e
2998 - :catchall_12c
2999 + :catchall_12a
3000 move-exception v14
3002 add-int/lit8 v15, v5, 0x1
3003 @@ -2097,28 +2087,28 @@
3005 iput v15, v0, Landroid/content/SyncStorageEngine;->mNextAuthorityId:I
3007 - if-eqz v4, :cond_142
3008 + if-eqz v4, :cond_140
3010 - :try_start_13f
3011 + :try_start_13d
3012 invoke-virtual {v4}, Ljava/io/FileInputStream;->close()V
3013 - :try_end_142
3014 - .catch Ljava/io/IOException; {:try_start_13f .. :try_end_142} :catch_146
3015 + :try_end_140
3016 + .catch Ljava/io/IOException; {:try_start_13d .. :try_end_140} :catch_141
3018 - :cond_142
3019 - :goto_142
3020 + :cond_140
3021 + :goto_140
3022 throw v14
3024 + :catch_141
3025 + move-exception v15
3027 + goto :goto_140
3029 :catch_143
3030 move-exception v14
3032 goto/16 :goto_a3
3034 :catch_146
3035 - move-exception v15
3037 - goto :goto_142
3039 - :catch_148
3040 move-exception v14
3042 goto/16 :goto_53
3043 @@ -3473,14 +3463,14 @@
3045 invoke-virtual {v2}, Landroid/os/Parcel;->readBundle()Landroid/os/Bundle;
3046 :try_end_10
3047 - .catchall {:try_start_5 .. :try_end_10} :catchall_1f
3048 + .catchall {:try_start_5 .. :try_end_10} :catchall_1c
3049 .catch Ljava/lang/RuntimeException; {:try_start_5 .. :try_end_10} :catch_15
3051 move-result-object v0
3053 + :goto_11
3054 invoke-virtual {v2}, Landroid/os/Parcel;->recycle()V
3056 - :goto_14
3057 return-object v0
3059 :catch_15
3060 @@ -3491,13 +3481,11 @@
3062 invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
3063 :try_end_1b
3064 - .catchall {:try_start_16 .. :try_end_1b} :catchall_1f
3066 - invoke-virtual {v2}, Landroid/os/Parcel;->recycle()V
3067 + .catchall {:try_start_16 .. :try_end_1b} :catchall_1c
3069 - goto :goto_14
3070 + goto :goto_11
3072 - :catchall_1f
3073 + :catchall_1c
3074 move-exception v3
3076 invoke-virtual {v2}, Landroid/os/Parcel;->recycle()V
3077 diff -Npru stock-framework/smali/android/database/BulkCursorToCursorAdaptor.smali pdroid-framework/smali/android/database/BulkCursorToCursorAdaptor.smali
3078 --- stock-framework/smali/android/database/BulkCursorToCursorAdaptor.smali 2012-05-07 17:01:04.189642769 -0500
3079 +++ pdroid-framework/smali/android/database/BulkCursorToCursorAdaptor.smali 2012-05-07 17:01:34.353792345 -0500
3080 @@ -105,13 +105,13 @@
3082 invoke-interface {v1}, Landroid/database/IBulkCursor;->close()V
3083 :try_end_d
3084 - .catchall {:try_start_8 .. :try_end_d} :catchall_1b
3085 + .catchall {:try_start_8 .. :try_end_d} :catchall_19
3086 .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_d} :catch_10
3088 + :goto_d
3089 iput-object v3, p0, Landroid/database/BulkCursorToCursorAdaptor;->mBulkCursor:Landroid/database/IBulkCursor;
3091 :cond_f
3092 - :goto_f
3093 return-void
3095 :catch_10
3096 @@ -124,13 +124,11 @@
3098 invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
3099 :try_end_18
3100 - .catchall {:try_start_11 .. :try_end_18} :catchall_1b
3101 + .catchall {:try_start_11 .. :try_end_18} :catchall_19
3103 - iput-object v3, p0, Landroid/database/BulkCursorToCursorAdaptor;->mBulkCursor:Landroid/database/IBulkCursor;
3105 - goto :goto_f
3106 + goto :goto_d
3108 - :catchall_1b
3109 + :catchall_19
3110 move-exception v1
3112 iput-object v3, p0, Landroid/database/BulkCursorToCursorAdaptor;->mBulkCursor:Landroid/database/IBulkCursor;
3113 diff -Npru stock-framework/smali/android/database/sqlite/SQLiteCursor.smali pdroid-framework/smali/android/database/sqlite/SQLiteCursor.smali
3114 --- stock-framework/smali/android/database/sqlite/SQLiteCursor.smali 2012-05-07 17:01:04.233642987 -0500
3115 +++ pdroid-framework/smali/android/database/sqlite/SQLiteCursor.smali 2012-05-07 17:01:34.381792483 -0500
3116 @@ -116,7 +116,7 @@
3117 const/4 v2, 0x0
3119 :goto_4a
3120 - if-ge v2, v0, :cond_66
3121 + if-ge v2, v0, :cond_6d
3123 iget-object v3, p0, Landroid/database/sqlite/SQLiteCursor;->mQuery:Landroid/database/sqlite/SQLiteQuery;
3125 @@ -138,7 +138,7 @@
3127 iput v2, p0, Landroid/database/sqlite/SQLiteCursor;->mRowIdColumnIndex:I
3128 :try_end_60
3129 - .catchall {:try_start_3f .. :try_end_60} :catchall_6c
3130 + .catchall {:try_start_3f .. :try_end_60} :catchall_66
3132 :cond_60
3133 add-int/lit8 v2, v2, 0x1
3134 @@ -150,14 +150,7 @@
3136 goto :goto_30
3138 - :cond_66
3139 - iget-object v3, p3, Landroid/database/sqlite/SQLiteQuery;->mDatabase:Landroid/database/sqlite/SQLiteDatabase;
3141 - invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3143 - return-void
3145 - :catchall_6c
3146 + :catchall_66
3147 move-exception v3
3149 iget-object v4, p3, Landroid/database/sqlite/SQLiteQuery;->mDatabase:Landroid/database/sqlite/SQLiteDatabase;
3150 @@ -165,6 +158,13 @@
3151 invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3153 throw v3
3155 + :cond_6d
3156 + iget-object v3, p3, Landroid/database/sqlite/SQLiteQuery;->mDatabase:Landroid/database/sqlite/SQLiteDatabase;
3158 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3160 + return-void
3161 .end method
3163 .method public constructor <init>(Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)V
3164 diff -Npru stock-framework/smali/android/database/sqlite/SQLiteDatabase.smali pdroid-framework/smali/android/database/sqlite/SQLiteDatabase.smali
3165 --- stock-framework/smali/android/database/sqlite/SQLiteDatabase.smali 2012-05-07 17:01:04.245643047 -0500
3166 +++ pdroid-framework/smali/android/database/sqlite/SQLiteDatabase.smali 2012-05-07 17:01:34.409792625 -0500
3167 @@ -459,19 +459,19 @@
3169 if-nez v2, :cond_32
3171 + :goto_2f
3172 invoke-direct {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlockForced()V
3174 :cond_32
3175 - :goto_32
3176 return-void
3178 :cond_33
3179 - if-eqz p2, :cond_58
3180 + if-eqz p2, :cond_55
3182 :try_start_35
3183 iget-object v3, p0, Landroid/database/sqlite/SQLiteDatabase;->mConnectionPool:Landroid/database/sqlite/DatabaseConnectionPool;
3185 - if-nez v3, :cond_58
3186 + if-nez v3, :cond_55
3188 const-string v3, "BEGIN EXCLUSIVE;"
3190 @@ -502,26 +502,24 @@
3191 invoke-interface {p1}, Landroid/database/sqlite/SQLiteTransactionListener;->onBegin()V
3192 :try_end_51
3193 .catchall {:try_start_4e .. :try_end_51} :catchall_25
3194 - .catch Ljava/lang/RuntimeException; {:try_start_4e .. :try_end_51} :catch_5e
3195 + .catch Ljava/lang/RuntimeException; {:try_start_4e .. :try_end_51} :catch_5b
3197 :cond_51
3198 const/4 v2, 0x1
3200 if-nez v2, :cond_32
3202 - invoke-direct {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlockForced()V
3204 - goto :goto_32
3205 + goto :goto_2f
3207 - :cond_58
3208 - :try_start_58
3209 + :cond_55
3210 + :try_start_55
3211 const-string v3, "BEGIN IMMEDIATE;"
3213 invoke-virtual {p0, v3}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3215 goto :goto_3e
3217 - :catch_5e
3218 + :catch_5b
3219 move-exception v0
3221 const-string v3, "ROLLBACK;"
3222 @@ -529,8 +527,8 @@
3223 invoke-virtual {p0, v3}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3225 throw v0
3226 - :try_end_65
3227 - .catchall {:try_start_58 .. :try_end_65} :catchall_25
3228 + :try_end_62
3229 + .catchall {:try_start_55 .. :try_end_62} :catchall_25
3230 .end method
3232 .method private checkLockHoldTime()V
3233 @@ -2993,6 +2991,8 @@
3235 if-nez v0, :cond_43
3237 + :cond_3f
3238 + :goto_3f
3239 invoke-virtual {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3241 goto :goto_7
3242 @@ -3009,7 +3009,7 @@
3244 iget-object v0, p0, Landroid/database/sqlite/SQLiteDatabase;->mConnectionPool:Landroid/database/sqlite/DatabaseConnectionPool;
3246 - if-eqz v0, :cond_7f
3247 + if-eqz v0, :cond_3f
3249 const-string v0, "SQLiteDatabase"
3251 @@ -3063,10 +3063,7 @@
3252 :try_end_7f
3253 .catchall {:try_start_6f .. :try_end_7f} :catchall_6a
3255 - :cond_7f
3256 - invoke-virtual {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3258 - goto :goto_7
3259 + goto :goto_3f
3260 .end method
3262 .method closeDatabase()V
3263 @@ -3507,13 +3504,13 @@
3264 :try_start_3
3265 iget-object v0, p0, Landroid/database/sqlite/SQLiteDatabase;->mConnectionPool:Landroid/database/sqlite/DatabaseConnectionPool;
3266 :try_end_5
3267 - .catchall {:try_start_3 .. :try_end_5} :catchall_1e
3268 + .catchall {:try_start_3 .. :try_end_5} :catchall_1b
3270 if-nez v0, :cond_b
3272 + :goto_7
3273 invoke-virtual {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3275 - :goto_a
3276 return-void
3278 :cond_b
3279 @@ -3532,13 +3529,11 @@
3281 iput-object v0, p0, Landroid/database/sqlite/SQLiteDatabase;->mConnectionPool:Landroid/database/sqlite/DatabaseConnectionPool;
3282 :try_end_1a
3283 - .catchall {:try_start_b .. :try_end_1a} :catchall_1e
3285 - invoke-virtual {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3286 + .catchall {:try_start_b .. :try_end_1a} :catchall_1b
3288 - goto :goto_a
3289 + goto :goto_7
3291 - :catchall_1e
3292 + :catchall_1b
3293 move-exception v0
3295 invoke-virtual {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3296 @@ -3568,7 +3563,7 @@
3297 :try_start_c
3298 iget-object v2, p0, Landroid/database/sqlite/SQLiteDatabase;->mConnectionPool:Landroid/database/sqlite/DatabaseConnectionPool;
3299 :try_end_e
3300 - .catchall {:try_start_c .. :try_end_e} :catchall_6f
3301 + .catchall {:try_start_c .. :try_end_e} :catchall_59
3303 if-eqz v2, :cond_15
3305 @@ -3596,8 +3591,10 @@
3307 invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
3308 :try_end_26
3309 - .catchall {:try_start_15 .. :try_end_26} :catchall_6f
3310 + .catchall {:try_start_15 .. :try_end_26} :catchall_59
3312 + :cond_26
3313 + :goto_26
3314 invoke-virtual {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3316 goto :goto_8
3317 @@ -3606,7 +3603,7 @@
3318 :try_start_2a
3319 iget-boolean v2, p0, Landroid/database/sqlite/SQLiteDatabase;->mHasAttachedDbs:Z
3321 - if-eqz v2, :cond_5c
3322 + if-eqz v2, :cond_5e
3324 const-string v1, "SQLiteDatabase"
3326 @@ -3616,7 +3613,7 @@
3328 move-result v1
3330 - if-eqz v1, :cond_58
3331 + if-eqz v1, :cond_26
3333 const-string v1, "SQLiteDatabase"
3335 @@ -3648,15 +3645,19 @@
3337 invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3338 :try_end_58
3339 - .catchall {:try_start_2a .. :try_end_58} :catchall_6f
3340 + .catchall {:try_start_2a .. :try_end_58} :catchall_59
3342 + goto :goto_26
3344 + :catchall_59
3345 + move-exception v0
3347 - :cond_58
3348 invoke-virtual {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3350 - goto :goto_8
3351 + throw v0
3353 - :cond_5c
3354 - :try_start_5c
3355 + :cond_5e
3356 + :try_start_5e
3357 new-instance v0, Landroid/database/sqlite/DatabaseConnectionPool;
3359 invoke-direct {v0, p0}, Landroid/database/sqlite/DatabaseConnectionPool;-><init>(Landroid/database/sqlite/SQLiteDatabase;)V
3360 @@ -3668,21 +3669,14 @@
3361 const-string v2, "WAL"
3363 invoke-direct {p0, v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->setJournalMode(Ljava/lang/String;Ljava/lang/String;)V
3364 - :try_end_6a
3365 - .catchall {:try_start_5c .. :try_end_6a} :catchall_6f
3366 + :try_end_6c
3367 + .catchall {:try_start_5e .. :try_end_6c} :catchall_59
3369 invoke-virtual {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3371 move v0, v1
3373 goto :goto_8
3375 - :catchall_6f
3376 - move-exception v0
3378 - invoke-virtual {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlock()V
3380 - throw v0
3381 .end method
3383 .method public endTransaction()V
3384 @@ -3716,9 +3710,9 @@
3386 iput-object v4, p0, Landroid/database/sqlite/SQLiteDatabase;->mTransactionListener:Landroid/database/sqlite/SQLiteTransactionListener;
3388 + :goto_16
3389 invoke-direct {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlockForced()V
3391 - :goto_19
3392 return-void
3394 :cond_1a
3395 @@ -3753,21 +3747,21 @@
3396 :try_start_2a
3397 iget-boolean v2, p0, Landroid/database/sqlite/SQLiteDatabase;->mTransactionIsSuccessful:Z
3399 - if-eqz v2, :cond_56
3400 + if-eqz v2, :cond_53
3402 iget-object v2, p0, Landroid/database/sqlite/SQLiteDatabase;->mTransactionListener:Landroid/database/sqlite/SQLiteTransactionListener;
3404 invoke-interface {v2}, Landroid/database/sqlite/SQLiteTransactionListener;->onCommit()V
3405 :try_end_33
3406 .catchall {:try_start_2a .. :try_end_33} :catchall_1e
3407 - .catch Ljava/lang/RuntimeException; {:try_start_2a .. :try_end_33} :catch_5c
3408 + .catch Ljava/lang/RuntimeException; {:try_start_2a .. :try_end_33} :catch_59
3410 :cond_33
3411 :goto_33
3412 :try_start_33
3413 iget-boolean v2, p0, Landroid/database/sqlite/SQLiteDatabase;->mTransactionIsSuccessful:Z
3415 - if-eqz v2, :cond_62
3416 + if-eqz v2, :cond_5f
3418 const-string v2, "COMMIT;"
3420 @@ -3797,37 +3791,35 @@
3421 :goto_50
3422 iput-object v4, p0, Landroid/database/sqlite/SQLiteDatabase;->mTransactionListener:Landroid/database/sqlite/SQLiteTransactionListener;
3424 - invoke-direct {p0}, Landroid/database/sqlite/SQLiteDatabase;->unlockForced()V
3426 - goto :goto_19
3427 + goto :goto_16
3429 - :cond_56
3430 - :try_start_56
3431 + :cond_53
3432 + :try_start_53
3433 iget-object v2, p0, Landroid/database/sqlite/SQLiteDatabase;->mTransactionListener:Landroid/database/sqlite/SQLiteTransactionListener;
3435 invoke-interface {v2}, Landroid/database/sqlite/SQLiteTransactionListener;->onRollback()V
3436 - :try_end_5b
3437 - .catchall {:try_start_56 .. :try_end_5b} :catchall_1e
3438 - .catch Ljava/lang/RuntimeException; {:try_start_56 .. :try_end_5b} :catch_5c
3439 + :try_end_58
3440 + .catchall {:try_start_53 .. :try_end_58} :catchall_1e
3441 + .catch Ljava/lang/RuntimeException; {:try_start_53 .. :try_end_58} :catch_59
3443 goto :goto_33
3445 - :catch_5c
3446 + :catch_59
3447 move-exception v0
3449 move-object v1, v0
3451 const/4 v2, 0x0
3453 - :try_start_5f
3454 + :try_start_5c
3455 iput-boolean v2, p0, Landroid/database/sqlite/SQLiteDatabase;->mTransactionIsSuccessful:Z
3456 - :try_end_61
3457 - .catchall {:try_start_5f .. :try_end_61} :catchall_1e
3458 + :try_end_5e
3459 + .catchall {:try_start_5c .. :try_end_5e} :catchall_1e
3461 goto :goto_33
3463 - :cond_62
3464 - :try_start_62
3465 + :cond_5f
3466 + :try_start_5f
3467 const-string v2, "ROLLBACK;"
3469 invoke-virtual {p0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
3470 @@ -3835,11 +3827,11 @@
3471 if-eqz v1, :cond_50
3473 throw v1
3474 - :try_end_6a
3475 - .catchall {:try_start_62 .. :try_end_6a} :catchall_1e
3476 - .catch Landroid/database/SQLException; {:try_start_62 .. :try_end_6a} :catch_6a
3477 + :try_end_67
3478 + .catchall {:try_start_5f .. :try_end_67} :catchall_1e
3479 + .catch Landroid/database/SQLException; {:try_start_5f .. :try_end_67} :catch_67
3481 - :catch_6a
3482 + :catch_67
3483 move-exception v2
3485 goto :goto_50
3486 @@ -4806,7 +4798,7 @@
3488 move-result v6
3490 - if-nez v6, :cond_af
3491 + if-nez v6, :cond_b6
3493 const-string v7, "SQLiteDatabase"
3495 @@ -4844,7 +4836,7 @@
3497 invoke-static {v7, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3498 :try_end_a8
3499 - .catchall {:try_start_54 .. :try_end_a8} :catchall_b7
3500 + .catchall {:try_start_54 .. :try_end_a8} :catchall_af
3502 const/4 v6, 0x0
3504 @@ -4856,25 +4848,25 @@
3505 :goto_ae
3506 return v6
3508 - :cond_af
3509 - if-eqz v4, :cond_b4
3510 + :catchall_af
3511 + move-exception v6
3513 - invoke-virtual {v4}, Landroid/database/sqlite/SQLiteStatement;->close()V
3514 + if-eqz v4, :cond_b5
3516 - :cond_b4
3517 - add-int/lit8 v2, v2, 0x1
3519 - goto :goto_47
3520 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteStatement;->close()V
3522 - :catchall_b7
3523 - move-exception v6
3524 + :cond_b5
3525 + throw v6
3527 - if-eqz v4, :cond_bd
3528 + :cond_b6
3529 + if-eqz v4, :cond_bb
3531 invoke-virtual {v4}, Landroid/database/sqlite/SQLiteStatement;->close()V
3533 - :cond_bd
3534 - throw v6
3535 + :cond_bb
3536 + add-int/lit8 v2, v2, 0x1
3538 + goto :goto_47
3540 :cond_be
3541 const/4 v6, 0x1
3542 diff -Npru stock-framework/smali/android/database/sqlite/SQLiteStatement.smali pdroid-framework/smali/android/database/sqlite/SQLiteStatement.smali
3543 --- stock-framework/smali/android/database/sqlite/SQLiteStatement.smali 2012-05-07 17:01:04.253643083 -0500
3544 +++ pdroid-framework/smali/android/database/sqlite/SQLiteStatement.smali 2012-05-07 17:01:34.429792725 -0500
3545 @@ -417,13 +417,13 @@
3547 invoke-virtual {v5, v6, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->logTimeStat(Ljava/lang/String;J)V
3548 :try_end_10
3549 - .catchall {:try_start_1 .. :try_end_10} :catchall_3e
3550 + .catchall {:try_start_1 .. :try_end_10} :catchall_3b
3551 .catch Ljava/io/IOException; {:try_start_1 .. :try_end_10} :catch_14
3552 - .catch Landroid/database/sqlite/SQLiteDoneException; {:try_start_1 .. :try_end_10} :catch_22
3553 + .catch Landroid/database/sqlite/SQLiteDoneException; {:try_start_1 .. :try_end_10} :catch_1f
3555 + :goto_10
3556 invoke-direct {p0}, Landroid/database/sqlite/SQLiteStatement;->releaseAndUnlock()V
3558 - :goto_13
3559 return-object v2
3561 :catch_14
3562 @@ -435,19 +435,14 @@
3563 const-string/jumbo v6, "simpleQueryForBlobFileDescriptor() failed"
3565 invoke-static {v5, v6, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3566 - :try_end_1d
3567 - .catchall {:try_start_15 .. :try_end_1d} :catchall_3e
3569 const/4 v2, 0x0
3571 - invoke-direct {p0}, Landroid/database/sqlite/SQLiteStatement;->releaseAndUnlock()V
3573 - goto :goto_13
3574 + goto :goto_10
3576 - :catch_22
3577 + :catch_1f
3578 move-exception v0
3580 - :try_start_23
3581 new-instance v5, Landroid/database/sqlite/SQLiteDoneException;
3583 new-instance v6, Ljava/lang/StringBuilder;
3584 @@ -473,10 +468,10 @@
3585 invoke-direct {v5, v6}, Landroid/database/sqlite/SQLiteDoneException;-><init>(Ljava/lang/String;)V
3587 throw v5
3588 - :try_end_3e
3589 - .catchall {:try_start_23 .. :try_end_3e} :catchall_3e
3590 + :try_end_3b
3591 + .catchall {:try_start_15 .. :try_end_3b} :catchall_3b
3593 - :catchall_3e
3594 + :catchall_3b
3595 move-exception v5
3597 invoke-direct {p0}, Landroid/database/sqlite/SQLiteStatement;->releaseAndUnlock()V
3598 diff -Npru stock-framework/smali/android/media/MediaPlayer.smali pdroid-framework/smali/android/media/MediaPlayer.smali
3599 --- stock-framework/smali/android/media/MediaPlayer.smali 2012-05-07 17:01:04.629644955 -0500
3600 +++ pdroid-framework/smali/android/media/MediaPlayer.smali 2012-05-07 17:01:35.061795855 -0500
3601 @@ -985,9 +985,9 @@
3603 invoke-virtual {v7, p2, v0}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3604 :try_end_21
3605 - .catchall {:try_start_17 .. :try_end_21} :catchall_6e
3606 - .catch Ljava/lang/SecurityException; {:try_start_17 .. :try_end_21} :catch_52
3607 - .catch Ljava/io/IOException; {:try_start_17 .. :try_end_21} :catch_67
3608 + .catchall {:try_start_17 .. :try_end_21} :catchall_64
3609 + .catch Ljava/lang/SecurityException; {:try_start_17 .. :try_end_21} :catch_4f
3610 + .catch Ljava/io/IOException; {:try_start_17 .. :try_end_21} :catch_6b
3612 move-result-object v6
3614 @@ -995,6 +995,7 @@
3616 if-eqz v6, :cond_15
3618 + :goto_26
3619 invoke-virtual {v6}, Landroid/content/res/AssetFileDescriptor;->close()V
3621 goto :goto_15
3622 @@ -1009,27 +1010,20 @@
3624 cmp-long v0, v0, v2
3626 - if-gez v0, :cond_41
3627 + if-gez v0, :cond_3e
3629 invoke-virtual {v6}, Landroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
3631 move-result-object v0
3633 invoke-virtual {p0, v0}, Landroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;)V
3634 - :try_end_3b
3635 - .catchall {:try_start_2a .. :try_end_3b} :catchall_6e
3636 - .catch Ljava/lang/SecurityException; {:try_start_2a .. :try_end_3b} :catch_52
3637 - .catch Ljava/io/IOException; {:try_start_2a .. :try_end_3b} :catch_67
3639 :goto_3b
3640 if-eqz v6, :cond_15
3642 - invoke-virtual {v6}, Landroid/content/res/AssetFileDescriptor;->close()V
3644 - goto :goto_15
3645 + goto :goto_26
3647 - :cond_41
3648 - :try_start_41
3649 + :cond_3e
3650 invoke-virtual {v6}, Landroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
3652 move-result-object v1
3653 @@ -1045,22 +1039,22 @@
3654 move-object v0, p0
3656 invoke-virtual/range {v0 .. v5}, Landroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;JJ)V
3657 - :try_end_51
3658 - .catchall {:try_start_41 .. :try_end_51} :catchall_6e
3659 - .catch Ljava/lang/SecurityException; {:try_start_41 .. :try_end_51} :catch_52
3660 - .catch Ljava/io/IOException; {:try_start_41 .. :try_end_51} :catch_67
3661 + :try_end_4e
3662 + .catchall {:try_start_2a .. :try_end_4e} :catchall_64
3663 + .catch Ljava/lang/SecurityException; {:try_start_2a .. :try_end_4e} :catch_4f
3664 + .catch Ljava/io/IOException; {:try_start_2a .. :try_end_4e} :catch_6b
3666 goto :goto_3b
3668 - :catch_52
3669 + :catch_4f
3670 move-exception v0
3672 - if-eqz v6, :cond_58
3673 + if-eqz v6, :cond_55
3675 + :goto_52
3676 invoke-virtual {v6}, Landroid/content/res/AssetFileDescriptor;->close()V
3678 - :cond_58
3679 - :goto_58
3680 + :cond_55
3681 const-string v0, "MediaPlayer"
3683 const-string v1, "Couldn\'t open file on client side, trying server side"
3684 @@ -1075,24 +1069,22 @@
3686 goto :goto_15
3688 - :catch_67
3689 + :catchall_64
3690 move-exception v0
3692 - if-eqz v6, :cond_58
3693 + if-eqz v6, :cond_6a
3695 invoke-virtual {v6}, Landroid/content/res/AssetFileDescriptor;->close()V
3697 - goto :goto_58
3698 + :cond_6a
3699 + throw v0
3701 - :catchall_6e
3702 + :catch_6b
3703 move-exception v0
3705 - if-eqz v6, :cond_74
3706 + if-eqz v6, :cond_55
3708 - invoke-virtual {v6}, Landroid/content/res/AssetFileDescriptor;->close()V
3710 - :cond_74
3711 - throw v0
3712 + goto :goto_52
3713 .end method
3715 .method public setDataSource(Ljava/io/FileDescriptor;)V
3716 diff -Npru stock-framework/smali/android/net/VpnService.smali pdroid-framework/smali/android/net/VpnService.smali
3717 --- stock-framework/smali/android/net/VpnService.smali 2012-05-07 17:01:04.989646735 -0500
3718 +++ pdroid-framework/smali/android/net/VpnService.smali 2012-05-07 17:01:35.505798061 -0500
3719 @@ -155,8 +155,6 @@
3721 :try_start_d
3722 invoke-virtual {v0}, Landroid/os/ParcelFileDescriptor;->close()V
3723 - :try_end_10
3724 - .catch Ljava/lang/Exception; {:try_start_d .. :try_end_10} :catch_1e
3726 :goto_10
3727 return v2
3728 @@ -166,10 +164,9 @@
3730 const/4 v2, 0x0
3732 - :try_start_13
3733 invoke-virtual {v0}, Landroid/os/ParcelFileDescriptor;->close()V
3734 :try_end_16
3735 - .catch Ljava/lang/Exception; {:try_start_13 .. :try_end_16} :catch_17
3736 + .catch Ljava/lang/Exception; {:try_start_d .. :try_end_16} :catch_17
3738 goto :goto_10
3740 @@ -184,7 +181,7 @@
3741 :try_start_1a
3742 invoke-virtual {v0}, Landroid/os/ParcelFileDescriptor;->close()V
3743 :try_end_1d
3744 - .catch Ljava/lang/Exception; {:try_start_1a .. :try_end_1d} :catch_20
3745 + .catch Ljava/lang/Exception; {:try_start_1a .. :try_end_1d} :catch_1e
3747 :goto_1d
3748 throw v2
3749 @@ -192,11 +189,6 @@
3750 :catch_1e
3751 move-exception v3
3753 - goto :goto_10
3755 - :catch_20
3756 - move-exception v3
3758 goto :goto_1d
3759 .end method
3761 diff -Npru stock-framework/smali/android/net/wifi/WifiConfigStore.smali pdroid-framework/smali/android/net/wifi/WifiConfigStore.smali
3762 --- stock-framework/smali/android/net/wifi/WifiConfigStore.smali 2012-05-07 17:01:05.193647751 -0500
3763 +++ pdroid-framework/smali/android/net/wifi/WifiConfigStore.smali 2012-05-07 17:01:35.589798477 -0500
3764 @@ -2786,9 +2786,9 @@
3766 invoke-direct {v9, v0}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
3767 :try_end_14
3768 - .catchall {:try_start_1 .. :try_end_14} :catchall_23d
3769 - .catch Ljava/io/EOFException; {:try_start_1 .. :try_end_14} :catch_243
3770 - .catch Ljava/io/IOException; {:try_start_1 .. :try_end_14} :catch_240
3771 + .catchall {:try_start_1 .. :try_end_14} :catchall_23a
3772 + .catch Ljava/io/EOFException; {:try_start_1 .. :try_end_14} :catch_240
3773 + .catch Ljava/io/IOException; {:try_start_1 .. :try_end_14} :catch_23d
3775 :try_start_14
3776 invoke-virtual {v9}, Ljava/io/DataInputStream;->readInt()I
3777 @@ -2815,7 +2815,7 @@
3779 invoke-static/range {v19 .. v19}, Landroid/net/wifi/WifiConfigStore;->loge(Ljava/lang/String;)V
3780 :try_end_2d
3781 - .catchall {:try_start_14 .. :try_end_2d} :catchall_17e
3782 + .catchall {:try_start_14 .. :try_end_2d} :catchall_17b
3783 .catch Ljava/io/EOFException; {:try_start_14 .. :try_end_2d} :catch_d5
3784 .catch Ljava/io/IOException; {:try_start_14 .. :try_end_2d} :catch_10b
3786 @@ -2842,27 +2842,27 @@
3788 invoke-virtual {v11, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3789 :try_end_3b
3790 - .catchall {:try_start_34 .. :try_end_3b} :catchall_17e
3791 + .catchall {:try_start_34 .. :try_end_3b} :catchall_17b
3792 .catch Ljava/lang/IllegalArgumentException; {:try_start_34 .. :try_end_3b} :catch_bb
3793 .catch Ljava/io/EOFException; {:try_start_34 .. :try_end_3b} :catch_d5
3794 .catch Ljava/io/IOException; {:try_start_34 .. :try_end_3b} :catch_10b
3796 move-result v19
3798 - if-eqz v19, :cond_1cd
3799 + if-eqz v19, :cond_1ca
3801 const/16 v19, -0x1
3803 move/from16 v0, v19
3805 - if-eq v7, v0, :cond_230
3806 + if-eq v7, v0, :cond_22d
3808 :try_start_44
3809 sget-object v20, Landroid/net/wifi/WifiConfigStore;->sConfiguredNetworks:Ljava/util/HashMap;
3811 monitor-enter v20
3812 :try_end_47
3813 - .catchall {:try_start_44 .. :try_end_47} :catchall_17e
3814 + .catchall {:try_start_44 .. :try_end_47} :catchall_17b
3815 .catch Ljava/io/EOFException; {:try_start_44 .. :try_end_47} :catch_d5
3816 .catch Ljava/io/IOException; {:try_start_44 .. :try_end_47} :catch_10b
3818 @@ -2889,7 +2889,7 @@
3820 check-cast v2, Landroid/net/wifi/WifiConfiguration;
3822 - if-nez v2, :cond_1ee
3823 + if-nez v2, :cond_1eb
3825 const-string v19, "configuration found for missing network, ignored"
3827 @@ -2899,7 +2899,7 @@
3828 :pswitch_64
3829 monitor-exit v20
3830 :try_end_65
3831 - .catchall {:try_start_47 .. :try_end_65} :catchall_212
3832 + .catchall {:try_start_47 .. :try_end_65} :catchall_20f
3834 :cond_65
3835 :goto_65
3836 @@ -2923,7 +2923,7 @@
3837 :goto_72
3838 invoke-virtual {v9}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
3839 :try_end_75
3840 - .catchall {:try_start_66 .. :try_end_75} :catchall_17e
3841 + .catchall {:try_start_66 .. :try_end_75} :catchall_17b
3842 .catch Ljava/io/EOFException; {:try_start_66 .. :try_end_75} :catch_d5
3843 .catch Ljava/io/IOException; {:try_start_66 .. :try_end_75} :catch_10b
3845 @@ -3000,7 +3000,7 @@
3847 invoke-virtual {v13, v12}, Landroid/net/LinkProperties;->addLinkAddress(Landroid/net/LinkAddress;)V
3848 :try_end_ba
3849 - .catchall {:try_start_76 .. :try_end_ba} :catchall_17e
3850 + .catchall {:try_start_76 .. :try_end_ba} :catchall_17b
3851 .catch Ljava/lang/IllegalArgumentException; {:try_start_76 .. :try_end_ba} :catch_bb
3852 .catch Ljava/io/EOFException; {:try_start_76 .. :try_end_ba} :catch_d5
3853 .catch Ljava/io/IOException; {:try_start_76 .. :try_end_ba} :catch_10b
3854 @@ -3033,7 +3033,7 @@
3856 invoke-static/range {v19 .. v19}, Landroid/net/wifi/WifiConfigStore;->loge(Ljava/lang/String;)V
3857 :try_end_d4
3858 - .catchall {:try_start_bc .. :try_end_d4} :catchall_17e
3859 + .catchall {:try_start_bc .. :try_end_d4} :catchall_17b
3860 .catch Ljava/io/EOFException; {:try_start_bc .. :try_end_d4} :catch_d5
3861 .catch Ljava/io/IOException; {:try_start_bc .. :try_end_d4} :catch_10b
3863 @@ -3069,7 +3069,7 @@
3865 move-result v19
3867 - if-eqz v19, :cond_165
3868 + if-eqz v19, :cond_162
3870 const/4 v3, 0x0
3872 @@ -3081,7 +3081,7 @@
3874 move/from16 v1, v19
3876 - if-ne v0, v1, :cond_12f
3877 + if-ne v0, v1, :cond_12c
3879 invoke-virtual {v9}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
3881 @@ -3103,7 +3103,7 @@
3883 invoke-virtual {v13, v0}, Landroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)V
3884 :try_end_109
3885 - .catchall {:try_start_e1 .. :try_end_109} :catchall_17e
3886 + .catchall {:try_start_e1 .. :try_end_109} :catchall_17b
3887 .catch Ljava/lang/IllegalArgumentException; {:try_start_e1 .. :try_end_109} :catch_bb
3888 .catch Ljava/io/EOFException; {:try_start_e1 .. :try_end_109} :catch_d5
3889 .catch Ljava/io/IOException; {:try_start_e1 .. :try_end_109} :catch_10b
3890 @@ -3139,24 +3139,19 @@
3892 invoke-static/range {v19 .. v19}, Landroid/net/wifi/WifiConfigStore;->loge(Ljava/lang/String;)V
3893 :try_end_125
3894 - .catchall {:try_start_10d .. :try_end_125} :catchall_23d
3895 + .catchall {:try_start_10d .. :try_end_125} :catchall_23a
3897 if-eqz v8, :cond_33
3899 :try_start_127
3900 invoke-virtual {v8}, Ljava/io/DataInputStream;->close()V
3901 :try_end_12a
3902 - .catch Ljava/lang/Exception; {:try_start_127 .. :try_end_12a} :catch_12c
3903 + .catch Ljava/lang/Exception; {:try_start_127 .. :try_end_12a} :catch_de
3905 goto/16 :goto_33
3907 - :catch_12c
3908 - move-exception v19
3910 - goto/16 :goto_33
3912 - :cond_12f
3913 - :try_start_12f
3914 + :cond_12c
3915 + :try_start_12c
3916 invoke-virtual {v9}, Ljava/io/DataInputStream;->readInt()I
3918 move-result v19
3919 @@ -3167,7 +3162,7 @@
3921 move/from16 v1, v20
3923 - if-ne v0, v1, :cond_150
3924 + if-ne v0, v1, :cond_14d
3926 new-instance v3, Landroid/net/LinkAddress;
3928 @@ -3189,7 +3184,7 @@
3930 invoke-direct {v3, v0, v1}, Landroid/net/LinkAddress;-><init>(Ljava/net/InetAddress;I)V
3932 - :cond_150
3933 + :cond_14d
3934 invoke-virtual {v9}, Ljava/io/DataInputStream;->readInt()I
3936 move-result v19
3937 @@ -3212,7 +3207,7 @@
3939 goto :goto_fd
3941 - :cond_165
3942 + :cond_162
3943 const-string v19, "dns"
3945 move-object/from16 v0, v19
3946 @@ -3221,7 +3216,7 @@
3948 move-result v19
3950 - if-eqz v19, :cond_186
3951 + if-eqz v19, :cond_183
3953 invoke-virtual {v9}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
3955 @@ -3234,33 +3229,33 @@
3956 move-object/from16 v0, v19
3958 invoke-virtual {v13, v0}, Landroid/net/LinkProperties;->addDns(Ljava/net/InetAddress;)V
3959 - :try_end_17c
3960 - .catchall {:try_start_12f .. :try_end_17c} :catchall_17e
3961 - .catch Ljava/lang/IllegalArgumentException; {:try_start_12f .. :try_end_17c} :catch_bb
3962 - .catch Ljava/io/EOFException; {:try_start_12f .. :try_end_17c} :catch_d5
3963 - .catch Ljava/io/IOException; {:try_start_12f .. :try_end_17c} :catch_10b
3964 + :try_end_179
3965 + .catchall {:try_start_12c .. :try_end_179} :catchall_17b
3966 + .catch Ljava/lang/IllegalArgumentException; {:try_start_12c .. :try_end_179} :catch_bb
3967 + .catch Ljava/io/EOFException; {:try_start_12c .. :try_end_179} :catch_d5
3968 + .catch Ljava/io/IOException; {:try_start_12c .. :try_end_179} :catch_10b
3970 goto/16 :goto_72
3972 - :catchall_17e
3973 + :catchall_17b
3974 move-exception v19
3976 move-object v8, v9
3978 - :goto_180
3979 - if-eqz v8, :cond_185
3980 + :goto_17d
3981 + if-eqz v8, :cond_182
3983 - :try_start_182
3984 + :try_start_17f
3985 invoke-virtual {v8}, Ljava/io/DataInputStream;->close()V
3986 - :try_end_185
3987 - .catch Ljava/lang/Exception; {:try_start_182 .. :try_end_185} :catch_23a
3988 + :try_end_182
3989 + .catch Ljava/lang/Exception; {:try_start_17f .. :try_end_182} :catch_234
3991 - :cond_185
3992 - :goto_185
3993 + :cond_182
3994 + :goto_182
3995 throw v19
3997 - :cond_186
3998 - :try_start_186
3999 + :cond_183
4000 + :try_start_183
4001 const-string/jumbo v19, "proxySettings"
4003 move-object/from16 v0, v19
4004 @@ -3269,7 +3264,7 @@
4006 move-result v19
4008 - if-eqz v19, :cond_19b
4009 + if-eqz v19, :cond_198
4011 invoke-virtual {v9}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
4013 @@ -3281,7 +3276,7 @@
4015 goto/16 :goto_72
4017 - :cond_19b
4018 + :cond_198
4019 const-string/jumbo v19, "proxyHost"
4021 move-object/from16 v0, v19
4022 @@ -3290,7 +3285,7 @@
4024 move-result v19
4026 - if-eqz v19, :cond_1ac
4027 + if-eqz v19, :cond_1a9
4029 invoke-virtual {v9}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
4031 @@ -3298,7 +3293,7 @@
4033 goto/16 :goto_72
4035 - :cond_1ac
4036 + :cond_1a9
4037 const-string/jumbo v19, "proxyPort"
4039 move-object/from16 v0, v19
4040 @@ -3307,7 +3302,7 @@
4042 move-result v19
4044 - if-eqz v19, :cond_1bd
4045 + if-eqz v19, :cond_1ba
4047 invoke-virtual {v9}, Ljava/io/DataInputStream;->readInt()I
4049 @@ -3315,7 +3310,7 @@
4051 goto/16 :goto_72
4053 - :cond_1bd
4054 + :cond_1ba
4055 const-string v19, "exclusionList"
4057 move-object/from16 v0, v19
4058 @@ -3332,7 +3327,7 @@
4060 goto/16 :goto_72
4062 - :cond_1cd
4063 + :cond_1ca
4064 new-instance v19, Ljava/lang/StringBuilder;
4066 invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;-><init>()V
4067 @@ -3360,16 +3355,16 @@
4068 move-result-object v19
4070 invoke-static/range {v19 .. v19}, Landroid/net/wifi/WifiConfigStore;->loge(Ljava/lang/String;)V
4071 - :try_end_1ec
4072 - .catchall {:try_start_186 .. :try_end_1ec} :catchall_17e
4073 - .catch Ljava/lang/IllegalArgumentException; {:try_start_186 .. :try_end_1ec} :catch_bb
4074 - .catch Ljava/io/EOFException; {:try_start_186 .. :try_end_1ec} :catch_d5
4075 - .catch Ljava/io/IOException; {:try_start_186 .. :try_end_1ec} :catch_10b
4076 + :try_end_1e9
4077 + .catchall {:try_start_183 .. :try_end_1e9} :catchall_17b
4078 + .catch Ljava/lang/IllegalArgumentException; {:try_start_183 .. :try_end_1e9} :catch_bb
4079 + .catch Ljava/io/EOFException; {:try_start_183 .. :try_end_1e9} :catch_d5
4080 + .catch Ljava/io/IOException; {:try_start_183 .. :try_end_1e9} :catch_10b
4082 goto/16 :goto_72
4084 - :cond_1ee
4085 - :try_start_1ee
4086 + :cond_1eb
4087 + :try_start_1eb
4088 iput-object v13, v2, Landroid/net/wifi/WifiConfiguration;->linkProperties:Landroid/net/LinkProperties;
4090 sget-object v19, Landroid/net/wifi/WifiConfigStore$1;->$SwitchMap$android$net$wifi$WifiConfiguration$IpAssignment:[I
4091 @@ -3380,14 +3375,14 @@
4093 aget v19, v19, v21
4095 - packed-switch v19, :pswitch_data_246
4096 + packed-switch v19, :pswitch_data_244
4098 const-string v19, "Ignore invalid ip assignment while reading"
4100 invoke-static/range {v19 .. v19}, Landroid/net/wifi/WifiConfigStore;->loge(Ljava/lang/String;)V
4102 - :goto_200
4103 - :pswitch_200
4104 + :goto_1fd
4105 + :pswitch_1fd
4106 sget-object v19, Landroid/net/wifi/WifiConfigStore$1;->$SwitchMap$android$net$wifi$WifiConfiguration$ProxySettings:[I
4108 invoke-virtual/range {v17 .. v17}, Landroid/net/wifi/WifiConfiguration$ProxySettings;->ordinal()I
4109 @@ -3396,7 +3391,7 @@
4111 aget v19, v19, v21
4113 - packed-switch v19, :pswitch_data_250
4114 + packed-switch v19, :pswitch_data_24e
4116 const-string v19, "Ignore invalid proxy settings while reading"
4118 @@ -3404,27 +3399,27 @@
4120 goto/16 :goto_64
4122 - :catchall_212
4123 + :catchall_20f
4124 move-exception v19
4126 monitor-exit v20
4127 - :try_end_214
4128 - .catchall {:try_start_1ee .. :try_end_214} :catchall_212
4129 + :try_end_211
4130 + .catchall {:try_start_1eb .. :try_end_211} :catchall_20f
4132 - :try_start_214
4133 + :try_start_211
4134 throw v19
4135 - :try_end_215
4136 - .catchall {:try_start_214 .. :try_end_215} :catchall_17e
4137 - .catch Ljava/io/EOFException; {:try_start_214 .. :try_end_215} :catch_d5
4138 - .catch Ljava/io/IOException; {:try_start_214 .. :try_end_215} :catch_10b
4139 + :try_end_212
4140 + .catchall {:try_start_211 .. :try_end_212} :catchall_17b
4141 + .catch Ljava/io/EOFException; {:try_start_211 .. :try_end_212} :catch_d5
4142 + .catch Ljava/io/IOException; {:try_start_211 .. :try_end_212} :catch_10b
4144 - :pswitch_215
4145 - :try_start_215
4146 + :pswitch_212
4147 + :try_start_212
4148 iput-object v10, v2, Landroid/net/wifi/WifiConfiguration;->ipAssignment:Landroid/net/wifi/WifiConfiguration$IpAssignment;
4150 - goto :goto_200
4151 + goto :goto_1fd
4153 - :pswitch_218
4154 + :pswitch_215
4155 move-object/from16 v0, v17
4157 iput-object v0, v2, Landroid/net/wifi/WifiConfiguration;->proxySettings:Landroid/net/wifi/WifiConfiguration$ProxySettings;
4158 @@ -3441,63 +3436,65 @@
4160 goto/16 :goto_64
4162 - :pswitch_22a
4163 + :pswitch_227
4164 move-object/from16 v0, v17
4166 iput-object v0, v2, Landroid/net/wifi/WifiConfiguration;->proxySettings:Landroid/net/wifi/WifiConfiguration$ProxySettings;
4167 - :try_end_22e
4168 - .catchall {:try_start_215 .. :try_end_22e} :catchall_212
4169 + :try_end_22b
4170 + .catchall {:try_start_212 .. :try_end_22b} :catchall_20f
4172 goto/16 :goto_64
4174 - :cond_230
4175 - :try_start_230
4176 + :cond_22d
4177 + :try_start_22d
4178 const-string v19, "Missing id while parsing configuration"
4180 invoke-static/range {v19 .. v19}, Landroid/net/wifi/WifiConfigStore;->loge(Ljava/lang/String;)V
4181 - :try_end_235
4182 - .catchall {:try_start_230 .. :try_end_235} :catchall_17e
4183 - .catch Ljava/io/EOFException; {:try_start_230 .. :try_end_235} :catch_d5
4184 - .catch Ljava/io/IOException; {:try_start_230 .. :try_end_235} :catch_10b
4185 + :try_end_232
4186 + .catchall {:try_start_22d .. :try_end_232} :catchall_17b
4187 + .catch Ljava/io/EOFException; {:try_start_22d .. :try_end_232} :catch_d5
4188 + .catch Ljava/io/IOException; {:try_start_22d .. :try_end_232} :catch_10b
4190 goto/16 :goto_65
4192 + :catch_234
4193 + move-exception v20
4195 + goto/16 :goto_182
4197 :catch_237
4198 move-exception v19
4200 goto/16 :goto_32
4202 - :catch_23a
4203 - move-exception v20
4205 - goto/16 :goto_185
4207 - :catchall_23d
4208 + :catchall_23a
4209 move-exception v19
4211 - goto/16 :goto_180
4212 + goto/16 :goto_17d
4214 - :catch_240
4215 + :catch_23d
4216 move-exception v4
4218 goto/16 :goto_10d
4220 - :catch_243
4221 + :catch_240
4222 move-exception v19
4224 goto/16 :goto_d7
4226 - :pswitch_data_246
4227 + nop
4229 + :pswitch_data_244
4230 .packed-switch 0x1
4231 - :pswitch_215
4232 - :pswitch_215
4233 - :pswitch_200
4234 + :pswitch_212
4235 + :pswitch_212
4236 + :pswitch_1fd
4237 .end packed-switch
4239 - :pswitch_data_250
4240 + :pswitch_data_24e
4241 .packed-switch 0x1
4242 - :pswitch_218
4243 - :pswitch_22a
4244 + :pswitch_215
4245 + :pswitch_227
4246 :pswitch_64
4247 .end packed-switch
4248 .end method
4249 @@ -4603,8 +4600,8 @@
4251 invoke-direct {v11, v15}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
4252 :try_end_12
4253 - .catchall {:try_start_1 .. :try_end_12} :catchall_1c1
4254 - .catch Ljava/io/IOException; {:try_start_1 .. :try_end_12} :catch_1d0
4255 + .catchall {:try_start_1 .. :try_end_12} :catchall_1bd
4256 + .catch Ljava/io/IOException; {:try_start_1 .. :try_end_12} :catch_1ce
4258 const/4 v15, 0x2
4260 @@ -4615,7 +4612,7 @@
4262 monitor-enter v16
4263 :try_end_19
4264 - .catchall {:try_start_13 .. :try_end_19} :catchall_1cd
4265 + .catchall {:try_start_13 .. :try_end_19} :catchall_1cb
4266 .catch Ljava/io/IOException; {:try_start_13 .. :try_end_19} :catch_71
4268 :try_start_19
4269 @@ -4661,7 +4658,7 @@
4271 aget v15, v15, v17
4273 - packed-switch v15, :pswitch_data_1d6
4274 + packed-switch v15, :pswitch_data_1d2
4276 const-string v15, "Ignore invalid ip assignment while writing"
4278 @@ -4681,7 +4678,7 @@
4280 aget v15, v15, v17
4282 - packed-switch v15, :pswitch_data_1e0
4283 + packed-switch v15, :pswitch_data_1dc
4285 const-string v15, "Ignore invalid proxy settings while writing"
4287 @@ -4723,7 +4720,7 @@
4288 :try_start_70
4289 throw v15
4290 :try_end_71
4291 - .catchall {:try_start_70 .. :try_end_71} :catchall_1cd
4292 + .catchall {:try_start_70 .. :try_end_71} :catchall_1cb
4293 .catch Ljava/io/IOException; {:try_start_70 .. :try_end_71} :catch_71
4295 :catch_71
4296 @@ -4737,14 +4734,14 @@
4298 invoke-static {v15}, Landroid/net/wifi/WifiConfigStore;->loge(Ljava/lang/String;)V
4299 :try_end_78
4300 - .catchall {:try_start_73 .. :try_end_78} :catchall_1c1
4301 + .catchall {:try_start_73 .. :try_end_78} :catchall_1bd
4303 if-eqz v10, :cond_7d
4305 :try_start_7a
4306 invoke-virtual {v10}, Ljava/io/DataOutputStream;->close()V
4307 :try_end_7d
4308 - .catch Ljava/lang/Exception; {:try_start_7a .. :try_end_7d} :catch_1c8
4309 + .catch Ljava/lang/Exception; {:try_start_7a .. :try_end_7d} :catch_1c6
4311 :cond_7d
4312 :goto_7d
4313 @@ -5073,74 +5070,71 @@
4314 :try_end_1b5
4315 .catchall {:try_start_1b4 .. :try_end_1b5} :catchall_6e
4317 - if-eqz v11, :cond_1d3
4318 + if-eqz v11, :cond_1ba
4320 :try_start_1b7
4321 invoke-virtual {v11}, Ljava/io/DataOutputStream;->close()V
4322 :try_end_1ba
4323 - .catch Ljava/lang/Exception; {:try_start_1b7 .. :try_end_1ba} :catch_1bd
4325 - move-object v10, v11
4327 - goto/16 :goto_7d
4329 - :catch_1bd
4330 - move-exception v15
4331 + .catch Ljava/lang/Exception; {:try_start_1b7 .. :try_end_1ba} :catch_1c9
4333 + :cond_1ba
4334 + :goto_1ba
4335 move-object v10, v11
4337 goto/16 :goto_7d
4339 - :catchall_1c1
4340 + :catchall_1bd
4341 move-exception v15
4343 - :goto_1c2
4344 - if-eqz v10, :cond_1c7
4345 + :goto_1be
4346 + if-eqz v10, :cond_1c3
4348 - :try_start_1c4
4349 + :try_start_1c0
4350 invoke-virtual {v10}, Ljava/io/DataOutputStream;->close()V
4351 - :try_end_1c7
4352 - .catch Ljava/lang/Exception; {:try_start_1c4 .. :try_end_1c7} :catch_1cb
4353 + :try_end_1c3
4354 + .catch Ljava/lang/Exception; {:try_start_1c0 .. :try_end_1c3} :catch_1c4
4356 - :cond_1c7
4357 - :goto_1c7
4358 + :cond_1c3
4359 + :goto_1c3
4360 throw v15
4362 - :catch_1c8
4363 + :catch_1c4
4364 + move-exception v16
4366 + goto :goto_1c3
4368 + :catch_1c6
4369 move-exception v15
4371 goto/16 :goto_7d
4373 - :catch_1cb
4374 - move-exception v16
4375 + :catch_1c9
4376 + move-exception v15
4378 - goto :goto_1c7
4379 + goto :goto_1ba
4381 - :catchall_1cd
4382 + :catchall_1cb
4383 move-exception v15
4385 move-object v10, v11
4387 - goto :goto_1c2
4388 + goto :goto_1be
4390 - :catch_1d0
4391 + :catch_1ce
4392 move-exception v3
4394 goto/16 :goto_73
4396 - :cond_1d3
4397 - move-object v10, v11
4399 - goto/16 :goto_7d
4400 + nop
4402 - :pswitch_data_1d6
4403 + :pswitch_data_1d2
4404 .packed-switch 0x1
4405 :pswitch_7e
4406 :pswitch_155
4407 :pswitch_46
4408 .end packed-switch
4410 - :pswitch_data_1e0
4411 + :pswitch_data_1dc
4412 .packed-switch 0x1
4413 :pswitch_166
4414 :pswitch_1a2
4415 diff -Npru stock-framework/smali/android/opengl/GLSurfaceView$GLThread.smali pdroid-framework/smali/android/opengl/GLSurfaceView$GLThread.smali
4416 --- stock-framework/smali/android/opengl/GLSurfaceView$GLThread.smali 2012-05-07 17:01:05.489649219 -0500
4417 +++ pdroid-framework/smali/android/opengl/GLSurfaceView$GLThread.smali 2012-05-07 17:01:35.781799429 -0500
4418 @@ -161,7 +161,7 @@
4420 monitor-enter v14
4421 :try_end_26
4422 - .catchall {:try_start_21 .. :try_end_26} :catchall_160
4423 + .catchall {:try_start_21 .. :try_end_26} :catchall_15d
4425 :goto_26
4426 :try_start_26
4427 @@ -169,11 +169,11 @@
4429 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mShouldExit:Z
4431 - if-eqz v13, :cond_3d
4432 + if-eqz v13, :cond_3a
4434 monitor-exit v14
4435 :try_end_2d
4436 - .catchall {:try_start_26 .. :try_end_2d} :catchall_15d
4437 + .catchall {:try_start_26 .. :try_end_2d} :catchall_15a
4439 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4441 @@ -187,21 +187,14 @@
4442 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglContextLocked()V
4444 monitor-exit v14
4445 + :try_end_39
4446 + .catchall {:try_start_32 .. :try_end_39} :catchall_212
4448 :goto_39
4449 return-void
4451 - :catchall_3a
4452 - move-exception v13
4454 - monitor-exit v14
4455 - :try_end_3c
4456 - .catchall {:try_start_32 .. :try_end_3c} :catchall_3a
4458 - throw v13
4460 - :cond_3d
4461 - :try_start_3d
4462 + :cond_3a
4463 + :try_start_3a
4464 move-object/from16 v0, p0
4466 iget-object v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mEventQueue:Ljava/util/ArrayList;
4467 @@ -210,7 +203,7 @@
4469 move-result v13
4471 - if-nez v13, :cond_5c
4472 + if-nez v13, :cond_59
4474 move-object/from16 v0, p0
4476 @@ -228,24 +221,24 @@
4478 move-object v5, v0
4480 - :goto_54
4481 + :goto_51
4482 monitor-exit v14
4483 - :try_end_55
4484 - .catchall {:try_start_3d .. :try_end_55} :catchall_15d
4485 + :try_end_52
4486 + .catchall {:try_start_3a .. :try_end_52} :catchall_15a
4488 - if-eqz v5, :cond_1a9
4489 + if-eqz v5, :cond_1a6
4491 - :try_start_57
4492 + :try_start_54
4493 invoke-interface {v5}, Ljava/lang/Runnable;->run()V
4494 - :try_end_5a
4495 - .catchall {:try_start_57 .. :try_end_5a} :catchall_160
4496 + :try_end_57
4497 + .catchall {:try_start_54 .. :try_end_57} :catchall_15d
4499 const/4 v5, 0x0
4501 goto :goto_21
4503 - :cond_5c
4504 - :try_start_5c
4505 + :cond_59
4506 + :try_start_59
4507 move-object/from16 v0, p0
4509 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mPaused:Z
4510 @@ -254,7 +247,7 @@
4512 iget-boolean v15, v0, Landroid/opengl/GLSurfaceView$GLThread;->mRequestPaused:Z
4514 - if-eq v13, v15, :cond_75
4515 + if-eq v13, v15, :cond_72
4517 move-object/from16 v0, p0
4519 @@ -270,12 +263,12 @@
4521 invoke-virtual {v13}, Ljava/lang/Object;->notifyAll()V
4523 - :cond_75
4524 + :cond_72
4525 move-object/from16 v0, p0
4527 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mShouldReleaseEglContext:Z
4529 - if-eqz v13, :cond_87
4530 + if-eqz v13, :cond_84
4532 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglSurfaceLocked()V
4534 @@ -289,8 +282,8 @@
4536 const/4 v1, 0x1
4538 - :cond_87
4539 - if-eqz v8, :cond_90
4540 + :cond_84
4541 + if-eqz v8, :cond_8d
4543 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglSurfaceLocked()V
4545 @@ -298,18 +291,18 @@
4547 const/4 v8, 0x0
4549 - :cond_90
4550 + :cond_8d
4551 move-object/from16 v0, p0
4553 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mHaveEglSurface:Z
4555 - if-eqz v13, :cond_c7
4556 + if-eqz v13, :cond_c4
4558 move-object/from16 v0, p0
4560 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mPaused:Z
4562 - if-eqz v13, :cond_c7
4563 + if-eqz v13, :cond_c4
4565 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglSurfaceLocked()V
4567 @@ -322,7 +315,7 @@
4569 move-result v13
4571 - if-eqz v13, :cond_b3
4572 + if-eqz v13, :cond_b0
4574 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4576 @@ -332,12 +325,12 @@
4578 move-result v13
4580 - if-eqz v13, :cond_b6
4581 + if-eqz v13, :cond_b3
4583 - :cond_b3
4584 + :cond_b0
4585 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglContextLocked()V
4587 - :cond_b6
4588 + :cond_b3
4589 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4591 move-result-object v13
4592 @@ -346,7 +339,7 @@
4594 move-result v13
4596 - if-eqz v13, :cond_c7
4597 + if-eqz v13, :cond_c4
4599 move-object/from16 v0, p0
4601 @@ -354,28 +347,28 @@
4603 invoke-virtual {v13}, Landroid/opengl/GLSurfaceView$EglHelper;->finish()V
4605 - :cond_c7
4606 + :cond_c4
4607 move-object/from16 v0, p0
4609 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mHasSurface:Z
4611 - if-nez v13, :cond_e8
4612 + if-nez v13, :cond_e5
4614 move-object/from16 v0, p0
4616 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mWaitingForSurface:Z
4618 - if-nez v13, :cond_e8
4619 + if-nez v13, :cond_e5
4621 move-object/from16 v0, p0
4623 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mHaveEglSurface:Z
4625 - if-eqz v13, :cond_dc
4626 + if-eqz v13, :cond_d9
4628 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglSurfaceLocked()V
4630 - :cond_dc
4631 + :cond_d9
4632 const/4 v13, 0x1
4634 move-object/from16 v0, p0
4635 @@ -388,18 +381,18 @@
4637 invoke-virtual {v13}, Ljava/lang/Object;->notifyAll()V
4639 - :cond_e8
4640 + :cond_e5
4641 move-object/from16 v0, p0
4643 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mHasSurface:Z
4645 - if-eqz v13, :cond_100
4646 + if-eqz v13, :cond_fd
4648 move-object/from16 v0, p0
4650 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mWaitingForSurface:Z
4652 - if-eqz v13, :cond_100
4653 + if-eqz v13, :cond_fd
4655 const/4 v13, 0x0
4657 @@ -413,8 +406,8 @@
4659 invoke-virtual {v13}, Ljava/lang/Object;->notifyAll()V
4661 - :cond_100
4662 - if-eqz v4, :cond_110
4663 + :cond_fd
4664 + if-eqz v4, :cond_10d
4666 const/4 v12, 0x0
4668 @@ -432,36 +425,36 @@
4670 invoke-virtual {v13}, Ljava/lang/Object;->notifyAll()V
4672 - :cond_110
4673 + :cond_10d
4674 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->readyToDraw()Z
4676 move-result v13
4678 - if-eqz v13, :cond_1a0
4679 + if-eqz v13, :cond_19d
4681 move-object/from16 v0, p0
4683 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mHaveEglContext:Z
4685 - if-nez v13, :cond_11f
4686 + if-nez v13, :cond_11c
4688 - if-eqz v1, :cond_16e
4689 + if-eqz v1, :cond_16b
4691 const/4 v1, 0x0
4693 - :cond_11f
4694 - :goto_11f
4695 + :cond_11c
4696 + :goto_11c
4697 move-object/from16 v0, p0
4699 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mHaveEglContext:Z
4701 - if-eqz v13, :cond_132
4702 + if-eqz v13, :cond_12f
4704 move-object/from16 v0, p0
4706 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mHaveEglSurface:Z
4708 - if-nez v13, :cond_132
4709 + if-nez v13, :cond_12f
4711 const/4 v13, 0x1
4713 @@ -473,12 +466,12 @@
4715 const/4 v9, 0x1
4717 - :cond_132
4718 + :cond_12f
4719 move-object/from16 v0, p0
4721 iget-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mHaveEglSurface:Z
4723 - if-eqz v13, :cond_1a0
4724 + if-eqz v13, :cond_19d
4726 move-object/from16 v0, p0
4728 @@ -489,7 +482,7 @@
4730 move-result v13
4732 - if-eqz v13, :cond_19a
4733 + if-eqz v13, :cond_197
4735 const/4 v9, 0x1
4737 @@ -512,28 +505,28 @@
4738 #setter for: Landroid/opengl/GLSurfaceView;->mSizeChanged:Z
4739 invoke-static {v13, v15}, Landroid/opengl/GLSurfaceView;->access$1002(Landroid/opengl/GLSurfaceView;Z)Z
4741 - :goto_154
4742 + :goto_151
4743 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4745 move-result-object v13
4747 invoke-virtual {v13}, Ljava/lang/Object;->notifyAll()V
4749 - goto/16 :goto_54
4750 + goto/16 :goto_51
4752 - :catchall_15d
4753 + :catchall_15a
4754 move-exception v13
4756 monitor-exit v14
4757 - :try_end_15f
4758 - .catchall {:try_start_5c .. :try_end_15f} :catchall_15d
4759 + :try_end_15c
4760 + .catchall {:try_start_59 .. :try_end_15c} :catchall_15a
4762 - :try_start_15f
4763 + :try_start_15c
4764 throw v13
4765 - :try_end_160
4766 - .catchall {:try_start_15f .. :try_end_160} :catchall_160
4767 + :try_end_15d
4768 + .catchall {:try_start_15c .. :try_end_15d} :catchall_15d
4770 - :catchall_160
4771 + :catchall_15d
4772 move-exception v13
4774 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4775 @@ -542,19 +535,19 @@
4777 monitor-enter v14
4779 - :try_start_166
4780 + :try_start_163
4781 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglSurfaceLocked()V
4783 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglContextLocked()V
4785 monitor-exit v14
4786 - :try_end_16d
4787 - .catchall {:try_start_166 .. :try_end_16d} :catchall_212
4788 + :try_end_16a
4789 + .catchall {:try_start_163 .. :try_end_16a} :catchall_20f
4791 throw v13
4793 - :cond_16e
4794 - :try_start_16e
4795 + :cond_16b
4796 + :try_start_16b
4797 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4799 move-result-object v13
4800 @@ -562,26 +555,26 @@
4801 move-object/from16 v0, p0
4803 invoke-virtual {v13, v0}, Landroid/opengl/GLSurfaceView$GLThreadManager;->tryAcquireEglContextLocked(Landroid/opengl/GLSurfaceView$GLThread;)Z
4804 - :try_end_177
4805 - .catchall {:try_start_16e .. :try_end_177} :catchall_15d
4806 + :try_end_174
4807 + .catchall {:try_start_16b .. :try_end_174} :catchall_15a
4809 move-result v13
4811 - if-eqz v13, :cond_11f
4812 + if-eqz v13, :cond_11c
4814 - :try_start_17a
4815 + :try_start_177
4816 move-object/from16 v0, p0
4818 iget-object v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
4820 invoke-virtual {v13}, Landroid/opengl/GLSurfaceView$EglHelper;->start()V
4821 - :try_end_181
4822 - .catchall {:try_start_17a .. :try_end_181} :catchall_15d
4823 - .catch Ljava/lang/RuntimeException; {:try_start_17a .. :try_end_181} :catch_18f
4824 + :try_end_17e
4825 + .catchall {:try_start_177 .. :try_end_17e} :catchall_15a
4826 + .catch Ljava/lang/RuntimeException; {:try_start_177 .. :try_end_17e} :catch_18c
4828 const/4 v13, 0x1
4830 - :try_start_182
4831 + :try_start_17f
4832 move-object/from16 v0, p0
4834 iput-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mHaveEglContext:Z
4835 @@ -594,9 +587,9 @@
4837 invoke-virtual {v13}, Ljava/lang/Object;->notifyAll()V
4839 - goto :goto_11f
4840 + goto :goto_11c
4842 - :catch_18f
4843 + :catch_18c
4844 move-exception v10
4846 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4847 @@ -609,30 +602,30 @@
4849 throw v10
4851 - :cond_19a
4852 + :cond_197
4853 const/4 v13, 0x0
4855 move-object/from16 v0, p0
4857 iput-boolean v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mRequestRender:Z
4859 - goto :goto_154
4860 + goto :goto_151
4862 - :cond_1a0
4863 + :cond_19d
4864 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4866 move-result-object v13
4868 invoke-virtual {v13}, Ljava/lang/Object;->wait()V
4869 - :try_end_1a7
4870 - .catchall {:try_start_182 .. :try_end_1a7} :catchall_15d
4871 + :try_end_1a4
4872 + .catchall {:try_start_17f .. :try_end_1a4} :catchall_15a
4874 goto/16 :goto_26
4876 - :cond_1a9
4877 - if-eqz v3, :cond_1da
4878 + :cond_1a6
4879 + if-eqz v3, :cond_1d7
4881 - :try_start_1ab
4882 + :try_start_1a8
4883 move-object/from16 v0, p0
4885 iget-object v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
4886 @@ -654,10 +647,10 @@
4887 check-cast v0, Ljavax/microedition/khronos/opengles/GL10;
4889 move-object v6, v0
4890 - :try_end_1bf
4891 - .catchall {:try_start_1ab .. :try_end_1bf} :catchall_160
4892 + :try_end_1bc
4893 + .catchall {:try_start_1a8 .. :try_end_1bc} :catchall_15d
4895 - if-nez v6, :cond_1d2
4896 + if-nez v6, :cond_1cf
4898 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4900 @@ -665,7 +658,7 @@
4902 monitor-enter v14
4904 - :try_start_1c6
4905 + :try_start_1c3
4906 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglSurfaceLocked()V
4908 invoke-direct/range {p0 .. p0}, Landroid/opengl/GLSurfaceView$GLThread;->stopEglContextLocked()V
4909 @@ -674,17 +667,17 @@
4911 goto/16 :goto_39
4913 - :catchall_1cf
4914 + :catchall_1cc
4915 move-exception v13
4917 monitor-exit v14
4918 - :try_end_1d1
4919 - .catchall {:try_start_1c6 .. :try_end_1d1} :catchall_1cf
4920 + :try_end_1ce
4921 + .catchall {:try_start_1c3 .. :try_end_1ce} :catchall_1cc
4923 throw v13
4925 - :cond_1d2
4926 - :try_start_1d2
4927 + :cond_1cf
4928 + :try_start_1cf
4929 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
4931 move-result-object v13
4932 @@ -693,8 +686,8 @@
4934 const/4 v3, 0x0
4936 - :cond_1da
4937 - if-eqz v2, :cond_1ea
4938 + :cond_1d7
4939 + if-eqz v2, :cond_1e7
4941 move-object/from16 v0, p0
4943 @@ -710,8 +703,8 @@
4945 const/4 v2, 0x0
4947 - :cond_1ea
4948 - if-eqz v9, :cond_1fb
4949 + :cond_1e7
4950 + if-eqz v9, :cond_1f8
4952 move-object/from16 v0, p0
4954 @@ -727,7 +720,7 @@
4956 const/4 v9, 0x0
4958 - :cond_1fb
4959 + :cond_1f8
4960 move-object/from16 v0, p0
4962 iget-object v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mRenderer:Landroid/opengl/GLSurfaceView$Renderer;
4963 @@ -739,22 +732,32 @@
4964 iget-object v13, v0, Landroid/opengl/GLSurfaceView$GLThread;->mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
4966 invoke-virtual {v13}, Landroid/opengl/GLSurfaceView$EglHelper;->swap()Z
4967 - :try_end_209
4968 - .catchall {:try_start_1d2 .. :try_end_209} :catchall_160
4969 + :try_end_206
4970 + .catchall {:try_start_1cf .. :try_end_206} :catchall_15d
4972 move-result v13
4974 - if-nez v13, :cond_20d
4975 + if-nez v13, :cond_20a
4977 const/4 v8, 0x1
4979 - :cond_20d
4980 + :cond_20a
4981 if-eqz v12, :cond_21
4983 const/4 v4, 0x1
4985 goto/16 :goto_21
4987 + :catchall_20f
4988 + move-exception v13
4990 + :try_start_210
4991 + monitor-exit v14
4992 + :try_end_211
4993 + .catchall {:try_start_210 .. :try_end_211} :catchall_20f
4995 + throw v13
4997 :catchall_212
4998 move-exception v13
5000 @@ -1371,39 +1374,37 @@
5001 :try_start_1a
5002 invoke-direct {p0}, Landroid/opengl/GLSurfaceView$GLThread;->guardedRun()V
5003 :try_end_1d
5004 - .catchall {:try_start_1a .. :try_end_1d} :catchall_2e
5005 - .catch Ljava/lang/InterruptedException; {:try_start_1a .. :try_end_1d} :catch_25
5006 + .catchall {:try_start_1a .. :try_end_1d} :catchall_25
5007 + .catch Ljava/lang/InterruptedException; {:try_start_1a .. :try_end_1d} :catch_2e
5009 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
5011 move-result-object v0
5013 + :goto_21
5014 invoke-virtual {v0, p0}, Landroid/opengl/GLSurfaceView$GLThreadManager;->threadExiting(Landroid/opengl/GLSurfaceView$GLThread;)V
5016 - :goto_24
5017 return-void
5019 - :catch_25
5020 + :catchall_25
5021 move-exception v0
5023 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
5025 - move-result-object v0
5026 + move-result-object v1
5028 - invoke-virtual {v0, p0}, Landroid/opengl/GLSurfaceView$GLThreadManager;->threadExiting(Landroid/opengl/GLSurfaceView$GLThread;)V
5029 + invoke-virtual {v1, p0}, Landroid/opengl/GLSurfaceView$GLThreadManager;->threadExiting(Landroid/opengl/GLSurfaceView$GLThread;)V
5031 - goto :goto_24
5032 + throw v0
5034 - :catchall_2e
5035 + :catch_2e
5036 move-exception v0
5038 invoke-static {}, Landroid/opengl/GLSurfaceView;->access$800()Landroid/opengl/GLSurfaceView$GLThreadManager;
5040 - move-result-object v1
5042 - invoke-virtual {v1, p0}, Landroid/opengl/GLSurfaceView$GLThreadManager;->threadExiting(Landroid/opengl/GLSurfaceView$GLThread;)V
5043 + move-result-object v0
5045 - throw v0
5046 + goto :goto_21
5047 .end method
5049 .method public setRenderMode(I)V
5050 diff -Npru stock-framework/smali/android/os/Looper.smali pdroid-framework/smali/android/os/Looper.smali
5051 --- stock-framework/smali/android/os/Looper.smali 2012-05-07 17:01:05.637649949 -0500
5052 +++ pdroid-framework/smali/android/os/Looper.smali 2012-05-07 17:01:35.905800041 -0500
5053 @@ -538,7 +538,7 @@
5055 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
5057 - const-string v5, "mRun="
5058 + const-string/jumbo v5, "mRun="
5060 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5062 @@ -590,11 +590,11 @@
5064 iget-object v4, p0, Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
5066 - if-eqz v4, :cond_93
5067 + if-eqz v4, :cond_94
5069 iget-object v4, p0, Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
5071 - :goto_4d
5072 + :goto_4e
5073 invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5075 move-result-object v4
5076 @@ -607,13 +607,13 @@
5078 iget-object v4, p0, Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
5080 - if-eqz v4, :cond_b3
5081 + if-eqz v4, :cond_b4
5083 iget-object v5, p0, Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
5085 monitor-enter v5
5087 - :try_start_5f
5088 + :try_start_60
5089 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
5091 move-result-wide v2
5092 @@ -624,8 +624,8 @@
5094 const/4 v1, 0x0
5096 - :goto_68
5097 - if-eqz v0, :cond_96
5098 + :goto_69
5099 + if-eqz v0, :cond_97
5101 new-instance v4, Ljava/lang/StringBuilder;
5103 @@ -664,18 +664,18 @@
5104 add-int/lit8 v1, v1, 0x1
5106 iget-object v0, v0, Landroid/os/Message;->next:Landroid/os/Message;
5107 - :try_end_92
5108 - .catchall {:try_start_5f .. :try_end_92} :catchall_b4
5109 + :try_end_93
5110 + .catchall {:try_start_60 .. :try_end_93} :catchall_b5
5112 - goto :goto_68
5113 + goto :goto_69
5115 - :cond_93
5116 + :cond_94
5117 const-string v4, "(null"
5119 - goto :goto_4d
5120 + goto :goto_4e
5122 - :cond_96
5123 - :try_start_96
5124 + :cond_97
5125 + :try_start_97
5126 new-instance v4, Ljava/lang/StringBuilder;
5128 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
5129 @@ -704,15 +704,15 @@
5131 monitor-exit v5
5133 - :cond_b3
5134 + :cond_b4
5135 return-void
5137 - :catchall_b4
5138 + :catchall_b5
5139 move-exception v4
5141 monitor-exit v5
5142 - :try_end_b6
5143 - .catchall {:try_start_96 .. :try_end_b6} :catchall_b4
5144 + :try_end_b7
5145 + .catchall {:try_start_97 .. :try_end_b7} :catchall_b5
5147 throw v4
5148 .end method
5149 diff -Npru stock-framework/smali/android/os/StrictMode$AndroidBlockGuardPolicy.smali pdroid-framework/smali/android/os/StrictMode$AndroidBlockGuardPolicy.smali
5150 --- stock-framework/smali/android/os/StrictMode$AndroidBlockGuardPolicy.smali 2012-05-07 17:01:05.729650405 -0500
5151 +++ pdroid-framework/smali/android/os/StrictMode$AndroidBlockGuardPolicy.smali 2012-05-07 17:01:35.973800381 -0500
5152 @@ -582,14 +582,14 @@
5154 invoke-interface {v0, v1, v2, v3}, Landroid/app/IActivityManager;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
5155 :try_end_1fb
5156 - .catchall {:try_start_1e5 .. :try_end_1fb} :catchall_21d
5157 + .catchall {:try_start_1e5 .. :try_end_1fb} :catchall_21a
5158 .catch Landroid/os/RemoteException; {:try_start_1e5 .. :try_end_1fb} :catch_20d
5160 + :goto_1fb
5161 #calls: Landroid/os/StrictMode;->setThreadPolicyMask(I)V
5162 invoke-static {v13}, Landroid/os/StrictMode;->access$1200(I)V
5164 :cond_1fe
5165 - :goto_1fe
5166 move-object/from16 v0, p1
5168 iget v0, v0, Landroid/os/StrictMode$ViolationInfo;->policy:I
5169 @@ -619,14 +619,11 @@
5171 invoke-static {v0, v1, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5172 :try_end_219
5173 - .catchall {:try_start_20e .. :try_end_219} :catchall_21d
5174 + .catchall {:try_start_20e .. :try_end_219} :catchall_21a
5176 - #calls: Landroid/os/StrictMode;->setThreadPolicyMask(I)V
5177 - invoke-static {v13}, Landroid/os/StrictMode;->access$1200(I)V
5179 - goto :goto_1fe
5180 + goto :goto_1fb
5182 - :catchall_21d
5183 + :catchall_21a
5184 move-exception v19
5186 #calls: Landroid/os/StrictMode;->setThreadPolicyMask(I)V
5187 diff -Npru stock-framework/smali/android/os/StrictMode.smali pdroid-framework/smali/android/os/StrictMode.smali
5188 --- stock-framework/smali/android/os/StrictMode.smali 2012-05-07 17:01:05.757650547 -0500
5189 +++ pdroid-framework/smali/android/os/StrictMode.smali 2012-05-07 17:01:36.001800517 -0500
5190 @@ -1686,13 +1686,13 @@
5192 invoke-interface {v0, v1, v2, v5}, Landroid/app/IActivityManager;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
5193 :try_end_d3
5194 - .catchall {:try_start_bf .. :try_end_d3} :catchall_fc
5195 + .catchall {:try_start_bf .. :try_end_d3} :catchall_f9
5196 .catch Landroid/os/RemoteException; {:try_start_bf .. :try_end_d3} :catch_ec
5198 + :goto_d3
5199 invoke-static {v13}, Landroid/os/StrictMode;->setThreadPolicyMask(I)V
5201 :cond_d6
5202 - :goto_d6
5203 if-eqz v10, :cond_a4
5205 sget-object v17, Ljava/lang/System;->err:Ljava/io/PrintStream;
5206 @@ -1727,13 +1727,11 @@
5208 invoke-static {v0, v1, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
5209 :try_end_f8
5210 - .catchall {:try_start_ed .. :try_end_f8} :catchall_fc
5211 + .catchall {:try_start_ed .. :try_end_f8} :catchall_f9
5213 - invoke-static {v13}, Landroid/os/StrictMode;->setThreadPolicyMask(I)V
5215 - goto :goto_d6
5216 + goto :goto_d3
5218 - :catchall_fc
5219 + :catchall_f9
5220 move-exception v17
5222 invoke-static {v13}, Landroid/os/StrictMode;->setThreadPolicyMask(I)V
5223 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
5224 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
5225 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-05-07 17:01:36.085800933 -0500
5226 @@ -0,0 +1,104 @@
5227 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
5228 +.super Ljava/lang/Object;
5229 +.source "IPrivacySettingsManager.java"
5231 +# interfaces
5232 +.implements Landroid/os/IInterface;
5235 +# annotations
5236 +.annotation system Ldalvik/annotation/MemberClasses;
5237 + value = {
5238 + Landroid/privacy/IPrivacySettingsManager$Stub;
5240 +.end annotation
5243 +# virtual methods
5244 +.method public abstract addObserver(Ljava/lang/String;)V
5245 + .annotation system Ldalvik/annotation/Throws;
5246 + value = {
5247 + Landroid/os/RemoteException;
5249 + .end annotation
5250 +.end method
5252 +.method public abstract deleteSettings(Ljava/lang/String;)Z
5253 + .annotation system Ldalvik/annotation/Throws;
5254 + value = {
5255 + Landroid/os/RemoteException;
5257 + .end annotation
5258 +.end method
5260 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
5261 + .annotation system Ldalvik/annotation/Throws;
5262 + value = {
5263 + Landroid/os/RemoteException;
5265 + .end annotation
5266 +.end method
5268 +.method public abstract getVersion()D
5269 + .annotation system Ldalvik/annotation/Throws;
5270 + value = {
5271 + Landroid/os/RemoteException;
5273 + .end annotation
5274 +.end method
5276 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
5277 + .annotation system Ldalvik/annotation/Throws;
5278 + value = {
5279 + Landroid/os/RemoteException;
5281 + .end annotation
5282 +.end method
5284 +.method public abstract purgeSettings()Z
5285 + .annotation system Ldalvik/annotation/Throws;
5286 + value = {
5287 + Landroid/os/RemoteException;
5289 + .end annotation
5290 +.end method
5292 +.method public abstract registerObservers()V
5293 + .annotation system Ldalvik/annotation/Throws;
5294 + value = {
5295 + Landroid/os/RemoteException;
5297 + .end annotation
5298 +.end method
5300 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
5301 + .annotation system Ldalvik/annotation/Throws;
5302 + value = {
5303 + Landroid/os/RemoteException;
5305 + .end annotation
5306 +.end method
5308 +.method public abstract setBootCompleted()V
5309 + .annotation system Ldalvik/annotation/Throws;
5310 + value = {
5311 + Landroid/os/RemoteException;
5313 + .end annotation
5314 +.end method
5316 +.method public abstract setEnabled(Z)Z
5317 + .annotation system Ldalvik/annotation/Throws;
5318 + value = {
5319 + Landroid/os/RemoteException;
5321 + .end annotation
5322 +.end method
5324 +.method public abstract setNotificationsEnabled(Z)Z
5325 + .annotation system Ldalvik/annotation/Throws;
5326 + value = {
5327 + Landroid/os/RemoteException;
5329 + .end annotation
5330 +.end method
5331 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
5332 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
5333 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-05-07 17:01:36.089800957 -0500
5334 @@ -0,0 +1,743 @@
5335 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
5336 +.super Ljava/lang/Object;
5337 +.source "IPrivacySettingsManager.java"
5339 +# interfaces
5340 +.implements Landroid/privacy/IPrivacySettingsManager;
5343 +# annotations
5344 +.annotation system Ldalvik/annotation/EnclosingClass;
5345 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
5346 +.end annotation
5348 +.annotation system Ldalvik/annotation/InnerClass;
5349 + accessFlags = 0xa
5350 + name = "Proxy"
5351 +.end annotation
5354 +# instance fields
5355 +.field private mRemote:Landroid/os/IBinder;
5358 +# direct methods
5359 +.method constructor <init>(Landroid/os/IBinder;)V
5360 + .registers 2
5362 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5364 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5366 + return-void
5367 +.end method
5370 +# virtual methods
5371 +.method public addObserver(Ljava/lang/String;)V
5372 + .registers 7
5373 + .annotation system Ldalvik/annotation/Throws;
5374 + value = {
5375 + Landroid/os/RemoteException;
5377 + .end annotation
5379 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5381 + move-result-object v0
5383 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5385 + move-result-object v1
5387 + :try_start_8
5388 + const-string v2, "android.privacy.IPrivacySettingsManager"
5390 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5392 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
5394 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5396 + const/4 v3, 0x6
5398 + const/4 v4, 0x0
5400 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5402 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5403 + :try_end_1a
5404 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
5406 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5408 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5410 + return-void
5412 + :catchall_21
5413 + move-exception v2
5415 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5417 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5419 + throw v2
5420 +.end method
5422 +.method public asBinder()Landroid/os/IBinder;
5423 + .registers 2
5425 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5427 + return-object v0
5428 +.end method
5430 +.method public deleteSettings(Ljava/lang/String;)Z
5431 + .registers 8
5432 + .annotation system Ldalvik/annotation/Throws;
5433 + value = {
5434 + Landroid/os/RemoteException;
5436 + .end annotation
5438 + const/4 v2, 0x0
5440 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5442 + move-result-object v0
5444 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5446 + move-result-object v1
5448 + :try_start_9
5449 + const-string v3, "android.privacy.IPrivacySettingsManager"
5451 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5453 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
5455 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5457 + const/4 v4, 0x3
5459 + const/4 v5, 0x0
5461 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5463 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5465 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
5466 + :try_end_1e
5467 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
5469 + move-result v3
5471 + if-eqz v3, :cond_22
5473 + const/4 v2, 0x1
5475 + :cond_22
5476 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5478 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5480 + return v2
5482 + :catchall_29
5483 + move-exception v3
5485 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5487 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5489 + throw v3
5490 +.end method
5492 +.method public getInterfaceDescriptor()Ljava/lang/String;
5493 + .registers 2
5495 + const-string v0, "android.privacy.IPrivacySettingsManager"
5497 + return-object v0
5498 +.end method
5500 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
5501 + .registers 8
5502 + .annotation system Ldalvik/annotation/Throws;
5503 + value = {
5504 + Landroid/os/RemoteException;
5506 + .end annotation
5508 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5510 + move-result-object v0
5512 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5514 + move-result-object v1
5516 + :try_start_8
5517 + const-string v3, "android.privacy.IPrivacySettingsManager"
5519 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5521 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
5523 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5525 + const/4 v4, 0x1
5527 + const/4 v5, 0x0
5529 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5531 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5533 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
5535 + move-result v3
5537 + if-eqz v3, :cond_2f
5539 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
5541 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
5543 + move-result-object v2
5545 + check-cast v2, Landroid/privacy/PrivacySettings;
5546 + :try_end_28
5547 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
5549 + :goto_28
5550 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5552 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5554 + return-object v2
5556 + :cond_2f
5557 + const/4 v2, 0x0
5559 + goto :goto_28
5561 + :catchall_31
5562 + move-exception v3
5564 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5566 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5568 + throw v3
5569 +.end method
5571 +.method public getVersion()D
5572 + .registers 8
5573 + .annotation system Ldalvik/annotation/Throws;
5574 + value = {
5575 + Landroid/os/RemoteException;
5577 + .end annotation
5579 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5581 + move-result-object v0
5583 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5585 + move-result-object v1
5587 + :try_start_8
5588 + const-string v4, "android.privacy.IPrivacySettingsManager"
5590 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5592 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5594 + const/16 v5, 0x8
5596 + const/4 v6, 0x0
5598 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5600 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5602 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
5603 + :try_end_1b
5604 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
5606 + move-result-wide v2
5608 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5610 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5612 + return-wide v2
5614 + :catchall_23
5615 + move-exception v4
5617 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5619 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5621 + throw v4
5622 +.end method
5624 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
5625 + .registers 10
5626 + .annotation system Ldalvik/annotation/Throws;
5627 + value = {
5628 + Landroid/os/RemoteException;
5630 + .end annotation
5632 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5634 + move-result-object v0
5636 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5638 + move-result-object v1
5640 + :try_start_8
5641 + const-string v2, "android.privacy.IPrivacySettingsManager"
5643 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5645 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
5647 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
5649 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
5651 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
5653 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5655 + const/4 v3, 0x4
5657 + const/4 v4, 0x0
5659 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5661 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5662 + :try_end_23
5663 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
5665 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5667 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5669 + return-void
5671 + :catchall_2a
5672 + move-exception v2
5674 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5676 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5678 + throw v2
5679 +.end method
5681 +.method public purgeSettings()Z
5682 + .registers 7
5683 + .annotation system Ldalvik/annotation/Throws;
5684 + value = {
5685 + Landroid/os/RemoteException;
5687 + .end annotation
5689 + const/4 v2, 0x0
5691 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5693 + move-result-object v0
5695 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5697 + move-result-object v1
5699 + :try_start_9
5700 + const-string v3, "android.privacy.IPrivacySettingsManager"
5702 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5704 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5706 + const/4 v4, 0x7
5708 + const/4 v5, 0x0
5710 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5712 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5714 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
5715 + :try_end_1b
5716 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
5718 + move-result v3
5720 + if-eqz v3, :cond_1f
5722 + const/4 v2, 0x1
5724 + :cond_1f
5725 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5727 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5729 + return v2
5731 + :catchall_26
5732 + move-exception v3
5734 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5736 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5738 + throw v3
5739 +.end method
5741 +.method public registerObservers()V
5742 + .registers 6
5743 + .annotation system Ldalvik/annotation/Throws;
5744 + value = {
5745 + Landroid/os/RemoteException;
5747 + .end annotation
5749 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5751 + move-result-object v0
5753 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5755 + move-result-object v1
5757 + :try_start_8
5758 + const-string v2, "android.privacy.IPrivacySettingsManager"
5760 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5762 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5764 + const/4 v3, 0x5
5766 + const/4 v4, 0x0
5768 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5770 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5771 + :try_end_17
5772 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
5774 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5776 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5778 + return-void
5780 + :catchall_1e
5781 + move-exception v2
5783 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5785 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5787 + throw v2
5788 +.end method
5790 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
5791 + .registers 9
5792 + .annotation system Ldalvik/annotation/Throws;
5793 + value = {
5794 + Landroid/os/RemoteException;
5796 + .end annotation
5798 + const/4 v2, 0x1
5800 + const/4 v3, 0x0
5802 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5804 + move-result-object v0
5806 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5808 + move-result-object v1
5810 + :try_start_a
5811 + const-string v4, "android.privacy.IPrivacySettingsManager"
5813 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5815 + if-eqz p1, :cond_30
5817 + const/4 v4, 0x1
5819 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
5821 + const/4 v4, 0x0
5823 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
5825 + :goto_19
5826 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5828 + const/4 v5, 0x2
5830 + const/4 v6, 0x0
5832 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5834 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5836 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
5837 + :try_end_26
5838 + .catchall {:try_start_a .. :try_end_26} :catchall_35
5840 + move-result v4
5842 + if-eqz v4, :cond_3d
5844 + :goto_29
5845 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5847 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5849 + return v2
5851 + :cond_30
5852 + const/4 v4, 0x0
5854 + :try_start_31
5855 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
5856 + :try_end_34
5857 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
5859 + goto :goto_19
5861 + :catchall_35
5862 + move-exception v3
5864 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5866 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5868 + throw v3
5870 + :cond_3d
5871 + move v2, v3
5873 + goto :goto_29
5874 +.end method
5876 +.method public setBootCompleted()V
5877 + .registers 6
5878 + .annotation system Ldalvik/annotation/Throws;
5879 + value = {
5880 + Landroid/os/RemoteException;
5882 + .end annotation
5884 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5886 + move-result-object v0
5888 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5890 + move-result-object v1
5892 + :try_start_8
5893 + const-string v2, "android.privacy.IPrivacySettingsManager"
5895 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5897 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5899 + const/16 v3, 0xb
5901 + const/4 v4, 0x0
5903 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5905 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5906 + :try_end_18
5907 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
5909 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5911 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5913 + return-void
5915 + :catchall_1f
5916 + move-exception v2
5918 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5920 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5922 + throw v2
5923 +.end method
5925 +.method public setEnabled(Z)Z
5926 + .registers 9
5927 + .annotation system Ldalvik/annotation/Throws;
5928 + value = {
5929 + Landroid/os/RemoteException;
5931 + .end annotation
5933 + const/4 v2, 0x1
5935 + const/4 v3, 0x0
5937 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5939 + move-result-object v0
5941 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
5943 + move-result-object v1
5945 + :try_start_a
5946 + const-string v4, "android.privacy.IPrivacySettingsManager"
5948 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
5950 + if-eqz p1, :cond_2d
5952 + move v4, v2
5954 + :goto_12
5955 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
5957 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
5959 + const/16 v5, 0x9
5961 + const/4 v6, 0x0
5963 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
5965 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
5967 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
5968 + :try_end_23
5969 + .catchall {:try_start_a .. :try_end_23} :catchall_31
5971 + move-result v4
5973 + if-eqz v4, :cond_2f
5975 + :goto_26
5976 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5978 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5980 + return v2
5982 + :cond_2d
5983 + move v4, v3
5985 + goto :goto_12
5987 + :cond_2f
5988 + move v2, v3
5990 + goto :goto_26
5992 + :catchall_31
5993 + move-exception v3
5995 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
5997 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
5999 + throw v3
6000 +.end method
6002 +.method public setNotificationsEnabled(Z)Z
6003 + .registers 9
6004 + .annotation system Ldalvik/annotation/Throws;
6005 + value = {
6006 + Landroid/os/RemoteException;
6008 + .end annotation
6010 + const/4 v2, 0x1
6012 + const/4 v3, 0x0
6014 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
6016 + move-result-object v0
6018 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
6020 + move-result-object v1
6022 + :try_start_a
6023 + const-string v4, "android.privacy.IPrivacySettingsManager"
6025 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
6027 + if-eqz p1, :cond_2d
6029 + move v4, v2
6031 + :goto_12
6032 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
6034 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
6036 + const/16 v5, 0xa
6038 + const/4 v6, 0x0
6040 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
6042 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
6044 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
6045 + :try_end_23
6046 + .catchall {:try_start_a .. :try_end_23} :catchall_31
6048 + move-result v4
6050 + if-eqz v4, :cond_2f
6052 + :goto_26
6053 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
6055 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
6057 + return v2
6059 + :cond_2d
6060 + move v4, v3
6062 + goto :goto_12
6064 + :cond_2f
6065 + move v2, v3
6067 + goto :goto_26
6069 + :catchall_31
6070 + move-exception v3
6072 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
6074 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
6076 + throw v3
6077 +.end method
6078 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
6079 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
6080 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-05-07 17:01:36.089800957 -0500
6081 @@ -0,0 +1,412 @@
6082 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
6083 +.super Landroid/os/Binder;
6084 +.source "IPrivacySettingsManager.java"
6086 +# interfaces
6087 +.implements Landroid/privacy/IPrivacySettingsManager;
6090 +# annotations
6091 +.annotation system Ldalvik/annotation/EnclosingClass;
6092 + value = Landroid/privacy/IPrivacySettingsManager;
6093 +.end annotation
6095 +.annotation system Ldalvik/annotation/InnerClass;
6096 + accessFlags = 0x409
6097 + name = "Stub"
6098 +.end annotation
6100 +.annotation system Ldalvik/annotation/MemberClasses;
6101 + value = {
6102 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
6104 +.end annotation
6107 +# static fields
6108 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
6110 +.field static final TRANSACTION_addObserver:I = 0x6
6112 +.field static final TRANSACTION_deleteSettings:I = 0x3
6114 +.field static final TRANSACTION_getSettings:I = 0x1
6116 +.field static final TRANSACTION_getVersion:I = 0x8
6118 +.field static final TRANSACTION_notification:I = 0x4
6120 +.field static final TRANSACTION_purgeSettings:I = 0x7
6122 +.field static final TRANSACTION_registerObservers:I = 0x5
6124 +.field static final TRANSACTION_saveSettings:I = 0x2
6126 +.field static final TRANSACTION_setBootCompleted:I = 0xb
6128 +.field static final TRANSACTION_setEnabled:I = 0x9
6130 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
6133 +# direct methods
6134 +.method public constructor <init>()V
6135 + .registers 2
6137 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
6139 + const-string v0, "android.privacy.IPrivacySettingsManager"
6141 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
6143 + return-void
6144 +.end method
6146 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
6147 + .registers 3
6149 + if-nez p0, :cond_4
6151 + const/4 v0, 0x0
6153 + :goto_3
6154 + return-object v0
6156 + :cond_4
6157 + const-string v1, "android.privacy.IPrivacySettingsManager"
6159 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
6161 + move-result-object v0
6163 + if-eqz v0, :cond_13
6165 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
6167 + if-eqz v1, :cond_13
6169 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
6171 + goto :goto_3
6173 + :cond_13
6174 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
6176 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
6178 + goto :goto_3
6179 +.end method
6182 +# virtual methods
6183 +.method public asBinder()Landroid/os/IBinder;
6184 + .registers 1
6186 + return-object p0
6187 +.end method
6189 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
6190 + .registers 14
6191 + .annotation system Ldalvik/annotation/Throws;
6192 + value = {
6193 + Landroid/os/RemoteException;
6195 + .end annotation
6197 + const/4 v6, 0x0
6199 + const/4 v7, 0x1
6201 + sparse-switch p1, :sswitch_data_10e
6203 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
6205 + move-result v7
6207 + :goto_9
6208 + return v7
6210 + :sswitch_a
6211 + const-string v6, "android.privacy.IPrivacySettingsManager"
6213 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
6215 + goto :goto_9
6217 + :sswitch_10
6218 + const-string v8, "android.privacy.IPrivacySettingsManager"
6220 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6222 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
6224 + move-result-object v0
6226 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
6228 + move-result-object v4
6230 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6232 + if-eqz v4, :cond_29
6234 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
6236 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
6238 + goto :goto_9
6240 + :cond_29
6241 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
6243 + goto :goto_9
6245 + :sswitch_2d
6246 + const-string v8, "android.privacy.IPrivacySettingsManager"
6248 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6250 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
6252 + move-result v8
6254 + if-eqz v8, :cond_4e
6256 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
6258 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
6260 + move-result-object v0
6262 + check-cast v0, Landroid/privacy/PrivacySettings;
6264 + :goto_40
6265 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
6267 + move-result v4
6269 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6271 + if-eqz v4, :cond_4a
6273 + move v6, v7
6275 + :cond_4a
6276 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
6278 + goto :goto_9
6280 + :cond_4e
6281 + const/4 v0, 0x0
6283 + goto :goto_40
6285 + :sswitch_50
6286 + const-string v8, "android.privacy.IPrivacySettingsManager"
6288 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6290 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
6292 + move-result-object v0
6294 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
6296 + move-result v4
6298 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6300 + if-eqz v4, :cond_63
6302 + move v6, v7
6304 + :cond_63
6305 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
6307 + goto :goto_9
6309 + :sswitch_67
6310 + const-string v6, "android.privacy.IPrivacySettingsManager"
6312 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6314 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
6316 + move-result-object v0
6318 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
6320 + move-result v1
6322 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
6324 + move-result-object v2
6326 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
6328 + move-result-object v3
6330 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
6332 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6334 + goto :goto_9
6336 + :sswitch_83
6337 + const-string v6, "android.privacy.IPrivacySettingsManager"
6339 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6341 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
6343 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6345 + goto/16 :goto_9
6347 + :sswitch_90
6348 + const-string v6, "android.privacy.IPrivacySettingsManager"
6350 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6352 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
6354 + move-result-object v0
6356 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
6358 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6360 + goto/16 :goto_9
6362 + :sswitch_a1
6363 + const-string v8, "android.privacy.IPrivacySettingsManager"
6365 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6367 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
6369 + move-result v4
6371 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6373 + if-eqz v4, :cond_b0
6375 + move v6, v7
6377 + :cond_b0
6378 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
6380 + goto/16 :goto_9
6382 + :sswitch_b5
6383 + const-string v6, "android.privacy.IPrivacySettingsManager"
6385 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6387 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
6389 + move-result-wide v4
6391 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6393 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
6395 + goto/16 :goto_9
6397 + :sswitch_c6
6398 + const-string v8, "android.privacy.IPrivacySettingsManager"
6400 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6402 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
6404 + move-result v8
6406 + if-eqz v8, :cond_e1
6408 + move v0, v7
6410 + :goto_d2
6411 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
6413 + move-result v4
6415 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6417 + if-eqz v4, :cond_dc
6419 + move v6, v7
6421 + :cond_dc
6422 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
6424 + goto/16 :goto_9
6426 + :cond_e1
6427 + move v0, v6
6429 + goto :goto_d2
6431 + :sswitch_e3
6432 + const-string v8, "android.privacy.IPrivacySettingsManager"
6434 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6436 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
6438 + move-result v8
6440 + if-eqz v8, :cond_fe
6442 + move v0, v7
6444 + :goto_ef
6445 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
6447 + move-result v4
6449 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6451 + if-eqz v4, :cond_f9
6453 + move v6, v7
6455 + :cond_f9
6456 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
6458 + goto/16 :goto_9
6460 + :cond_fe
6461 + move v0, v6
6463 + goto :goto_ef
6465 + :sswitch_100
6466 + const-string v6, "android.privacy.IPrivacySettingsManager"
6468 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
6470 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
6472 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
6474 + goto/16 :goto_9
6476 + nop
6478 + :sswitch_data_10e
6479 + .sparse-switch
6480 + 0x1 -> :sswitch_10
6481 + 0x2 -> :sswitch_2d
6482 + 0x3 -> :sswitch_50
6483 + 0x4 -> :sswitch_67
6484 + 0x5 -> :sswitch_83
6485 + 0x6 -> :sswitch_90
6486 + 0x7 -> :sswitch_a1
6487 + 0x8 -> :sswitch_b5
6488 + 0x9 -> :sswitch_c6
6489 + 0xa -> :sswitch_e3
6490 + 0xb -> :sswitch_100
6491 + 0x5f4e5446 -> :sswitch_a
6492 + .end sparse-switch
6493 +.end method
6494 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
6495 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
6496 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-05-07 17:01:36.089800957 -0500
6497 @@ -0,0 +1,217 @@
6498 +.class public Landroid/privacy/PrivacyFileObserver;
6499 +.super Landroid/os/FileObserver;
6500 +.source "PrivacyFileObserver.java"
6503 +# static fields
6504 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
6506 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
6509 +# instance fields
6510 +.field public absolutePath:Ljava/lang/String;
6512 +.field public children:Ljava/util/HashMap;
6513 + .annotation system Ldalvik/annotation/Signature;
6514 + value = {
6515 + "Ljava/util/HashMap",
6516 + "<",
6517 + "Ljava/lang/String;",
6518 + "Landroid/privacy/PrivacyFileObserver;",
6519 + ">;"
6521 + .end annotation
6522 +.end field
6524 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
6527 +# direct methods
6528 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6529 + .registers 12
6531 + const/16 v8, 0xfff
6533 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
6535 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
6537 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
6539 + new-instance v8, Ljava/util/HashMap;
6541 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
6543 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6545 + new-instance v7, Ljava/io/File;
6547 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
6549 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6551 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
6553 + move-result v8
6555 + if-eqz v8, :cond_42
6557 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
6559 + move-result-object v6
6561 + move-object v0, v6
6563 + array-length v4, v0
6565 + const/4 v3, 0x0
6567 + :goto_24
6568 + if-ge v3, v4, :cond_42
6570 + aget-object v2, v0, v3
6572 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
6574 + move-result-object v5
6576 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
6578 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6580 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6582 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
6584 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
6586 + move-result v8
6588 + if-eqz v8, :cond_3f
6590 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
6592 + :cond_3f
6593 + add-int/lit8 v3, v3, 0x1
6595 + goto :goto_24
6597 + :cond_42
6598 + return-void
6599 +.end method
6602 +# virtual methods
6603 +.method public addObserver(Ljava/lang/String;)V
6604 + .registers 6
6606 + new-instance v2, Ljava/lang/StringBuilder;
6608 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
6610 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
6612 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6614 + move-result-object v2
6616 + const-string v3, "/"
6618 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6620 + move-result-object v2
6622 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6624 + move-result-object v2
6626 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6628 + move-result-object v1
6630 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6632 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
6634 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
6636 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
6638 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
6640 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
6642 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
6644 + return-void
6645 +.end method
6647 +.method public onEvent(ILjava/lang/String;)V
6648 + .registers 11
6650 + and-int/lit8 v4, p1, 0x1
6652 + if-eqz v4, :cond_34
6654 + new-instance v3, Ljava/util/StringTokenizer;
6656 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
6658 + const-string v5, "/"
6660 + invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
6662 + const/4 v0, 0x0
6664 + :goto_e
6665 + const/4 v4, 0x3
6667 + if-ge v0, v4, :cond_1d
6669 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z
6671 + move-result v4
6673 + if-eqz v4, :cond_1d
6675 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
6677 + add-int/lit8 v0, v0, 0x1
6679 + goto :goto_e
6681 + :cond_1d
6682 + invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
6684 + move-result-object v2
6686 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
6688 + invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
6690 + move-result-object v1
6692 + iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
6694 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
6696 + move-result v5
6698 + const-string/jumbo v6, "systemLogs"
6700 + const/4 v7, 0x0
6702 + invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
6704 + :cond_34
6705 + return-void
6706 +.end method
6708 +.method public startWatching()V
6709 + .registers 1
6711 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
6713 + return-void
6714 +.end method
6715 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
6716 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
6717 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-05-07 17:01:36.093800973 -0500
6718 @@ -0,0 +1,4581 @@
6719 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
6720 +.super Ljava/lang/Object;
6721 +.source "PrivacyPersistenceAdapter.java"
6724 +# static fields
6725 +.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) );"
6727 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
6729 +.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);"
6731 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
6733 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
6735 +.field private static final DATABASE_VERSION:I = 0x3
6737 +.field public static final DUMMY_UID:I = -0x1
6739 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
6741 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
6743 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
6745 +.field private static final RETRY_QUERY_COUNT:I = 0x5
6747 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
6749 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
6751 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
6753 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
6755 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
6757 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
6759 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
6761 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
6763 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
6765 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
6767 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
6769 +.field public static readingThreads:Ljava/lang/Integer;
6772 +# instance fields
6773 +.field private context:Landroid/content/Context;
6775 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
6778 +# direct methods
6779 +.method static constructor <clinit>()V
6780 + .registers 3
6782 + const/4 v2, 0x0
6784 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6786 + move-result-object v0
6788 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
6790 + const/16 v0, 0x23
6792 + new-array v0, v0, [Ljava/lang/String;
6794 + const-string v1, "_id"
6796 + aput-object v1, v0, v2
6798 + const/4 v1, 0x1
6800 + const-string/jumbo v2, "packageName"
6802 + aput-object v2, v0, v1
6804 + const/4 v1, 0x2
6806 + const-string/jumbo v2, "uid"
6808 + aput-object v2, v0, v1
6810 + const/4 v1, 0x3
6812 + const-string v2, "deviceIdSetting"
6814 + aput-object v2, v0, v1
6816 + const/4 v1, 0x4
6818 + const-string v2, "deviceId"
6820 + aput-object v2, v0, v1
6822 + const/4 v1, 0x5
6824 + const-string v2, "line1NumberSetting"
6826 + aput-object v2, v0, v1
6828 + const/4 v1, 0x6
6830 + const-string v2, "line1Number"
6832 + aput-object v2, v0, v1
6834 + const/4 v1, 0x7
6836 + const-string v2, "locationGpsSetting"
6838 + aput-object v2, v0, v1
6840 + const/16 v1, 0x8
6842 + const-string v2, "locationGpsLat"
6844 + aput-object v2, v0, v1
6846 + const/16 v1, 0x9
6848 + const-string v2, "locationGpsLon"
6850 + aput-object v2, v0, v1
6852 + const/16 v1, 0xa
6854 + const-string v2, "locationNetworkSetting"
6856 + aput-object v2, v0, v1
6858 + const/16 v1, 0xb
6860 + const-string v2, "locationNetworkLat"
6862 + aput-object v2, v0, v1
6864 + const/16 v1, 0xc
6866 + const-string v2, "locationNetworkLon"
6868 + aput-object v2, v0, v1
6870 + const/16 v1, 0xd
6872 + const-string/jumbo v2, "networkInfoSetting"
6874 + aput-object v2, v0, v1
6876 + const/16 v1, 0xe
6878 + const-string/jumbo v2, "simInfoSetting"
6880 + aput-object v2, v0, v1
6882 + const/16 v1, 0xf
6884 + const-string/jumbo v2, "simSerialNumberSetting"
6886 + aput-object v2, v0, v1
6888 + const/16 v1, 0x10
6890 + const-string/jumbo v2, "simSerialNumber"
6892 + aput-object v2, v0, v1
6894 + const/16 v1, 0x11
6896 + const-string/jumbo v2, "subscriberIdSetting"
6898 + aput-object v2, v0, v1
6900 + const/16 v1, 0x12
6902 + const-string/jumbo v2, "subscriberId"
6904 + aput-object v2, v0, v1
6906 + const/16 v1, 0x13
6908 + const-string v2, "accountsSetting"
6910 + aput-object v2, v0, v1
6912 + const/16 v1, 0x14
6914 + const-string v2, "accountsAuthTokensSetting"
6916 + aput-object v2, v0, v1
6918 + const/16 v1, 0x15
6920 + const-string/jumbo v2, "outgoingCallsSetting"
6922 + aput-object v2, v0, v1
6924 + const/16 v1, 0x16
6926 + const-string v2, "incomingCallsSetting"
6928 + aput-object v2, v0, v1
6930 + const/16 v1, 0x17
6932 + const-string v2, "contactsSetting"
6934 + aput-object v2, v0, v1
6936 + const/16 v1, 0x18
6938 + const-string v2, "calendarSetting"
6940 + aput-object v2, v0, v1
6942 + const/16 v1, 0x19
6944 + const-string/jumbo v2, "mmsSetting"
6946 + aput-object v2, v0, v1
6948 + const/16 v1, 0x1a
6950 + const-string/jumbo v2, "smsSetting"
6952 + aput-object v2, v0, v1
6954 + const/16 v1, 0x1b
6956 + const-string v2, "callLogSetting"
6958 + aput-object v2, v0, v1
6960 + const/16 v1, 0x1c
6962 + const-string v2, "bookmarksSetting"
6964 + aput-object v2, v0, v1
6966 + const/16 v1, 0x1d
6968 + const-string/jumbo v2, "systemLogsSetting"
6970 + aput-object v2, v0, v1
6972 + const/16 v1, 0x1e
6974 + const-string v2, "externalStorageSetting"
6976 + aput-object v2, v0, v1
6978 + const/16 v1, 0x1f
6980 + const-string v2, "cameraSetting"
6982 + aput-object v2, v0, v1
6984 + const/16 v1, 0x20
6986 + const-string/jumbo v2, "recordAudioSetting"
6988 + aput-object v2, v0, v1
6990 + const/16 v1, 0x21
6992 + const-string/jumbo v2, "notificationSetting"
6994 + aput-object v2, v0, v1
6996 + const/16 v1, 0x22
6998 + const-string v2, "intentBootCompletedSetting"
7000 + aput-object v2, v0, v1
7002 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
7004 + return-void
7005 +.end method
7007 +.method public constructor <init>(Landroid/content/Context;)V
7008 + .registers 6
7010 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7012 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
7014 + new-instance v2, Ljava/io/File;
7016 + const-string v3, "/data/system/"
7018 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7020 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
7022 + move-result v0
7024 + if-eqz v0, :cond_3c
7026 + new-instance v2, Ljava/io/File;
7028 + const-string v3, "/data/system/privacy.db"
7030 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7032 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
7034 + move-result v2
7036 + if-nez v2, :cond_22
7038 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
7040 + :cond_22
7041 + new-instance v2, Ljava/io/File;
7043 + const-string v3, "/data/system/privacy"
7045 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7047 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
7049 + move-result v2
7051 + if-nez v2, :cond_32
7053 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
7055 + :cond_32
7056 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
7058 + move-result v1
7060 + const/4 v2, 0x3
7062 + if-ge v1, v2, :cond_3c
7064 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
7066 + :cond_3c
7067 + return-void
7068 +.end method
7070 +.method private declared-synchronized createDatabase()V
7071 + .registers 6
7073 + monitor-enter p0
7075 + :try_start_1
7076 + const-string v2, "PrivacyPersistenceAdapter"
7078 + const-string v3, "createDatabase - creating privacy database file"
7080 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7081 + :try_end_8
7082 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
7084 + :try_start_8
7085 + const-string v2, "/data/system/privacy.db"
7087 + const/4 v3, 0x0
7089 + const/high16 v4, 0x1000
7091 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
7093 + move-result-object v0
7095 + const-string v2, "PrivacyPersistenceAdapter"
7097 + const-string v3, "createDatabase - creating privacy database"
7099 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7101 + 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);"
7103 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7105 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
7107 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7109 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
7111 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7113 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
7115 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7117 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
7119 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7121 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
7123 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7125 + if-eqz v0, :cond_41
7127 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
7129 + move-result v2
7131 + if-eqz v2, :cond_41
7133 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
7134 + :try_end_41
7135 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
7136 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
7138 + :cond_41
7139 + :goto_41
7140 + monitor-exit p0
7142 + return-void
7144 + :catch_43
7145 + move-exception v1
7147 + :try_start_44
7148 + const-string v2, "PrivacyPersistenceAdapter"
7150 + const-string v3, "createDatabase - failed to create privacy database"
7152 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
7153 + :try_end_4b
7154 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
7156 + goto :goto_41
7158 + :catchall_4c
7159 + move-exception v2
7161 + monitor-exit p0
7163 + throw v2
7164 +.end method
7166 +.method private declared-synchronized createSettingsDir()V
7167 + .registers 4
7169 + monitor-enter p0
7171 + :try_start_1
7172 + new-instance v0, Ljava/io/File;
7174 + const-string v1, "/data/system/privacy/"
7176 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7178 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
7180 + const/4 v1, 0x1
7182 + const/4 v2, 0x0
7184 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
7186 + const/4 v1, 0x1
7188 + const/4 v2, 0x0
7190 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
7191 + :try_end_15
7192 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
7194 + monitor-exit p0
7196 + return-void
7198 + :catchall_17
7199 + move-exception v1
7201 + monitor-exit p0
7203 + throw v1
7204 +.end method
7206 +.method private deleteRecursive(Ljava/io/File;)V
7207 + .registers 7
7209 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
7211 + move-result v4
7213 + if-eqz v4, :cond_16
7215 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
7217 + move-result-object v0
7219 + array-length v3, v0
7221 + const/4 v2, 0x0
7223 + :goto_c
7224 + if-ge v2, v3, :cond_16
7226 + aget-object v1, v0, v2
7228 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
7230 + add-int/lit8 v2, v2, 0x1
7232 + goto :goto_c
7234 + :cond_16
7235 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
7237 + return-void
7238 +.end method
7240 +.method private getDbVersion()I
7241 + .registers 9
7243 + const/4 v4, 0x1
7245 + const/4 v3, -0x1
7247 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
7249 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
7251 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
7253 + move-result v6
7255 + add-int/lit8 v6, v6, 0x1
7257 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
7259 + move-result-object v6
7261 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
7263 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
7265 + move-result-object v1
7267 + :try_start_16
7268 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
7270 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
7272 + move-result-object v0
7274 + if-eqz v0, :cond_5e
7276 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
7278 + move-result v6
7280 + if-nez v6, :cond_25
7282 + const/4 v3, 0x1
7284 + :cond_25
7285 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
7287 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
7289 + monitor-enter v7
7290 + :try_end_2b
7291 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
7293 + :try_start_2b
7294 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
7296 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
7298 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
7300 + move-result v6
7302 + add-int/lit8 v6, v6, -0x1
7304 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
7306 + move-result-object v6
7308 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
7310 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
7312 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
7314 + move-result v6
7316 + if-nez v6, :cond_4e
7318 + if-eqz v1, :cond_4e
7320 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
7322 + move-result v6
7324 + if-eqz v6, :cond_4e
7326 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
7328 + :cond_4e
7329 + monitor-exit v7
7331 + :goto_4f
7332 + if-ne v3, v4, :cond_66
7334 + :goto_51
7335 + return v3
7337 + :catchall_52
7338 + move-exception v6
7340 + monitor-exit v7
7341 + :try_end_54
7342 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
7344 + :try_start_54
7345 + throw v6
7346 + :try_end_55
7347 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
7349 + :catch_55
7350 + move-exception v2
7352 + const-string v6, "PrivacyPersistenceAdapter"
7354 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
7356 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7358 + goto :goto_4f
7360 + :cond_5e
7361 + :try_start_5e
7362 + const-string v6, "PrivacyPersistenceAdapter"
7364 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
7366 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7367 + :try_end_65
7368 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
7370 + goto :goto_4f
7372 + :cond_66
7373 + const-string v6, "db_version"
7375 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
7377 + move-result-object v5
7379 + if-nez v5, :cond_70
7381 + move v3, v4
7383 + goto :goto_51
7385 + :cond_70
7386 + :try_start_70
7387 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
7388 + :try_end_73
7389 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
7391 + move-result v4
7393 + move v3, v4
7395 + goto :goto_51
7397 + :catch_76
7398 + move-exception v2
7400 + const-string v6, "PrivacyPersistenceAdapter"
7402 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
7404 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7406 + move v3, v4
7408 + goto :goto_51
7409 +.end method
7411 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
7412 + .registers 4
7414 + monitor-enter p0
7416 + :try_start_1
7417 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7419 + if-eqz v0, :cond_11
7421 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7423 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
7425 + move-result v0
7427 + if-eqz v0, :cond_11
7429 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7430 + :try_end_f
7431 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
7433 + :goto_f
7434 + monitor-exit p0
7436 + return-object v0
7438 + :cond_11
7439 + :try_start_11
7440 + const-string v0, "/data/system/privacy.db"
7442 + const/4 v1, 0x0
7444 + const/4 v2, 0x1
7446 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
7448 + move-result-object v0
7450 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7452 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7453 + :try_end_1d
7454 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
7456 + goto :goto_f
7458 + :catchall_1e
7459 + move-exception v0
7461 + monitor-exit p0
7463 + throw v0
7464 +.end method
7466 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
7467 + .registers 4
7469 + monitor-enter p0
7471 + :try_start_1
7472 + new-instance v0, Ljava/io/File;
7474 + const-string v1, "/data/system/privacy.db"
7476 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7478 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
7480 + move-result v0
7482 + if-nez v0, :cond_11
7484 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
7486 + :cond_11
7487 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7489 + if-eqz v0, :cond_29
7491 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7493 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
7495 + move-result v0
7497 + if-eqz v0, :cond_29
7499 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7501 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
7503 + move-result v0
7505 + if-nez v0, :cond_29
7507 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7508 + :try_end_27
7509 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
7511 + :goto_27
7512 + monitor-exit p0
7514 + return-object v0
7516 + :cond_29
7517 + :try_start_29
7518 + const-string v0, "/data/system/privacy.db"
7520 + const/4 v1, 0x0
7522 + const/4 v2, 0x0
7524 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
7526 + move-result-object v0
7528 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7530 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
7531 + :try_end_35
7532 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
7534 + goto :goto_27
7536 + :catchall_36
7537 + move-exception v0
7539 + monitor-exit p0
7541 + throw v0
7542 +.end method
7544 +.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;
7545 + .registers 16
7546 + .annotation system Ldalvik/annotation/Throws;
7547 + value = {
7548 + Ljava/lang/Exception;
7550 + .end annotation
7552 + const/4 v0, 0x0
7554 + const/4 v3, 0x0
7556 + const/4 v2, 0x0
7558 + :goto_3
7559 + if-nez v3, :cond_27
7561 + const/4 v4, 0x5
7563 + if-ge v2, v4, :cond_27
7565 + if-eqz v0, :cond_d
7567 + :try_start_a
7568 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
7570 + :cond_d
7571 + 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;
7572 + :try_end_10
7573 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
7575 + move-result-object v0
7577 + const/4 v3, 0x1
7579 + :goto_12
7580 + add-int/lit8 v2, v2, 0x1
7582 + goto :goto_3
7584 + :catch_15
7585 + move-exception v1
7587 + const/4 v3, 0x0
7589 + if-eqz p1, :cond_22
7591 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
7593 + move-result v4
7595 + if-eqz v4, :cond_22
7597 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
7599 + :cond_22
7600 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
7602 + move-result-object p1
7604 + goto :goto_12
7606 + :cond_27
7607 + if-nez v3, :cond_32
7609 + new-instance v4, Ljava/lang/Exception;
7611 + const-string/jumbo v5, "query - failed to execute query on the DB"
7613 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
7615 + throw v4
7617 + :cond_32
7618 + return-object v0
7619 +.end method
7621 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
7622 + .registers 9
7623 + .annotation system Ldalvik/annotation/Throws;
7624 + value = {
7625 + Ljava/lang/Exception;
7627 + .end annotation
7629 + const/4 v0, 0x0
7631 + const/4 v3, 0x0
7633 + const/4 v2, 0x0
7635 + :goto_3
7636 + if-nez v3, :cond_28
7638 + const/4 v4, 0x5
7640 + if-ge v2, v4, :cond_28
7642 + if-eqz v0, :cond_d
7644 + :try_start_a
7645 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
7647 + :cond_d
7648 + const/4 v4, 0x0
7650 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
7651 + :try_end_11
7652 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
7654 + move-result-object v0
7656 + const/4 v3, 0x1
7658 + :goto_13
7659 + add-int/lit8 v2, v2, 0x1
7661 + goto :goto_3
7663 + :catch_16
7664 + move-exception v1
7666 + const/4 v3, 0x0
7668 + if-eqz p1, :cond_23
7670 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
7672 + move-result v4
7674 + if-eqz v4, :cond_23
7676 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
7678 + :cond_23
7679 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
7681 + move-result-object p1
7683 + goto :goto_13
7685 + :cond_28
7686 + if-nez v3, :cond_33
7688 + new-instance v4, Ljava/lang/Exception;
7690 + const-string/jumbo v5, "query - failed to execute query on the DB"
7692 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
7694 + throw v4
7696 + :cond_33
7697 + return-object v0
7698 +.end method
7700 +.method private declared-synchronized upgradeDatabase(I)V
7701 + .registers 23
7703 + monitor-enter p0
7705 + :try_start_1
7706 + const-string v17, "PrivacyPersistenceAdapter"
7708 + new-instance v18, Ljava/lang/StringBuilder;
7710 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
7712 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
7714 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7716 + move-result-object v18
7718 + move-object/from16 v0, v18
7720 + move/from16 v1, p1
7722 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7724 + move-result-object v18
7726 + const-string v19, " to "
7728 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7730 + move-result-object v18
7732 + const/16 v19, 0x3
7734 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7736 + move-result-object v18
7738 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7740 + move-result-object v18
7742 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7744 + new-instance v6, Ljava/io/File;
7746 + const-string v17, "/data/system/privacy.db"
7748 + move-object/from16 v0, v17
7750 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7752 + new-instance v5, Ljava/io/File;
7754 + const-string v17, "/data/system/privacy.db.bak"
7756 + move-object/from16 v0, v17
7758 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7759 + :try_end_3c
7760 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
7762 + :try_start_3c
7763 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
7764 + :try_end_3f
7765 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
7766 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
7768 + :goto_3f
7769 + :try_start_3f
7770 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
7772 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
7774 + move-result-wide v17
7776 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
7778 + move-result-wide v19
7780 + sub-long v17, v17, v19
7782 + const-wide/16 v19, 0x7d0
7784 + cmp-long v17, v17, v19
7786 + if-lez v17, :cond_69
7788 + const-string v17, "PrivacyPersistenceAdapter"
7790 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
7792 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7793 + :try_end_5a
7794 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
7796 + :goto_5a
7797 + monitor-exit p0
7799 + return-void
7801 + :catch_5c
7802 + move-exception v7
7804 + :try_start_5d
7805 + const-string v17, "PrivacyPersistenceAdapter"
7807 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
7809 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
7810 + :try_end_65
7811 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
7813 + goto :goto_3f
7815 + :catchall_66
7816 + move-exception v17
7818 + monitor-exit p0
7820 + throw v17
7822 + :cond_69
7823 + :try_start_69
7824 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
7826 + move-result-object v4
7828 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
7830 + packed-switch p1, :pswitch_data_164
7832 + :cond_73
7833 + :goto_73
7834 + if-eqz v4, :cond_159
7836 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
7838 + move-result v17
7840 + if-eqz v17, :cond_159
7842 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
7844 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
7846 + :goto_81
7847 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
7848 + :try_end_84
7849 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
7851 + goto :goto_5a
7853 + :pswitch_85
7854 + if-eqz v4, :cond_73
7856 + :try_start_87
7857 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
7859 + move-result v17
7861 + if-eqz v17, :cond_73
7863 + const-string v17, "DROP TABLE IF EXISTS version;"
7865 + move-object/from16 v0, v17
7867 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7869 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
7871 + move-object/from16 v0, v17
7873 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7875 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
7877 + move-object/from16 v0, v17
7879 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7881 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);"
7883 + move-object/from16 v0, v17
7885 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7887 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
7889 + move-object/from16 v0, v17
7891 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7893 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
7895 + move-object/from16 v0, v17
7897 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
7899 + new-instance v14, Ljava/io/File;
7901 + const-string v17, "/data/system/privacy"
7903 + move-object/from16 v0, v17
7905 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7907 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
7909 + move-result-object v2
7911 + array-length v10, v2
7913 + const/4 v8, 0x0
7915 + move v9, v8
7917 + :goto_c7
7918 + if-ge v9, v10, :cond_127
7920 + aget-object v13, v2, v9
7922 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
7924 + move-result-object v3
7926 + array-length v11, v3
7928 + const/4 v8, 0x0
7930 + :goto_d1
7931 + if-ge v8, v11, :cond_123
7933 + aget-object v16, v3, v8
7935 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
7937 + move-result v17
7939 + if-eqz v17, :cond_120
7941 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
7943 + move-result-object v15
7945 + const/16 v17, 0x0
7947 + aget-object v17, v15, v17
7949 + if-eqz v17, :cond_120
7951 + new-instance v12, Ljava/io/File;
7953 + new-instance v17, Ljava/lang/StringBuilder;
7955 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
7957 + move-object/from16 v0, v17
7959 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7961 + move-result-object v17
7963 + const-string v18, "/"
7965 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7967 + move-result-object v17
7969 + const/16 v18, 0x0
7971 + aget-object v18, v15, v18
7973 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
7975 + move-result-object v18
7977 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7979 + move-result-object v17
7981 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7983 + move-result-object v17
7985 + move-object/from16 v0, v17
7987 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7989 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
7991 + const/16 v17, 0x0
7993 + aget-object v17, v15, v17
7995 + move-object/from16 v0, v17
7997 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
7999 + move-object/from16 v0, p0
8001 + move-object/from16 v1, v16
8003 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
8005 + :cond_120
8006 + add-int/lit8 v8, v8, 0x1
8008 + goto :goto_d1
8010 + :cond_123
8011 + add-int/lit8 v8, v9, 0x1
8013 + move v9, v8
8015 + goto :goto_c7
8017 + :cond_127
8018 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
8019 + :try_end_12a
8020 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
8021 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
8023 + goto/16 :goto_73
8025 + :catch_12c
8026 + move-exception v7
8028 + if-eqz v4, :cond_13b
8030 + :try_start_12f
8031 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
8033 + move-result v17
8035 + if-eqz v17, :cond_13b
8037 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
8039 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
8041 + :cond_13b
8042 + const-string v17, "PrivacyPersistenceAdapter"
8044 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
8046 + move-object/from16 v0, v17
8048 + move-object/from16 v1, v18
8050 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
8052 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
8054 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
8056 + goto/16 :goto_73
8058 + :pswitch_14f
8059 + const-string v17, "PrivacyPersistenceAdapter"
8061 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
8063 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
8065 + goto/16 :goto_73
8067 + :cond_159
8068 + const-string v17, "PrivacyPersistenceAdapter"
8070 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
8072 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8073 + :try_end_161
8074 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
8076 + goto/16 :goto_81
8078 + nop
8080 + :pswitch_data_164
8081 + .packed-switch 0x1
8082 + :pswitch_85
8083 + :pswitch_85
8084 + :pswitch_14f
8085 + .end packed-switch
8086 +.end method
8089 +# virtual methods
8090 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
8091 + .registers 16
8093 + monitor-enter p0
8095 + const/4 v11, 0x1
8097 + :try_start_2
8098 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
8100 + move-result-object v0
8102 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
8103 + :try_end_9
8104 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
8106 + :try_start_9
8107 + const-string/jumbo v1, "settings"
8109 + const/4 v2, 0x1
8111 + new-array v2, v2, [Ljava/lang/String;
8113 + const/4 v3, 0x0
8115 + const-string v4, "_id"
8117 + aput-object v4, v2, v3
8119 + const-string/jumbo v3, "packageName=?"
8121 + const/4 v4, 0x1
8123 + new-array v4, v4, [Ljava/lang/String;
8125 + const/4 v5, 0x0
8127 + aput-object p1, v4, v5
8129 + const/4 v5, 0x0
8131 + const/4 v6, 0x0
8133 + const/4 v7, 0x0
8135 + 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;
8137 + move-result-object v8
8139 + if-eqz v8, :cond_4c
8141 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
8143 + move-result v1
8145 + if-lez v1, :cond_4c
8147 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
8149 + move-result v1
8151 + if-eqz v1, :cond_4c
8153 + const/4 v1, 0x0
8155 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
8157 + move-result v10
8159 + const-string v1, "allowed_contacts"
8161 + const-string/jumbo v2, "settings_id=?"
8163 + const/4 v3, 0x1
8165 + new-array v3, v3, [Ljava/lang/String;
8167 + const/4 v4, 0x0
8169 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
8171 + move-result-object v5
8173 + aput-object v5, v3, v4
8175 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
8177 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
8179 + :cond_4c
8180 + const-string/jumbo v1, "settings"
8182 + const-string/jumbo v2, "packageName=?"
8184 + const/4 v3, 0x1
8186 + new-array v3, v3, [Ljava/lang/String;
8188 + const/4 v4, 0x0
8190 + aput-object p1, v3, v4
8192 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
8194 + move-result v1
8196 + if-nez v1, :cond_8d
8198 + const-string v1, "PrivacyPersistenceAdapter"
8200 + new-instance v2, Ljava/lang/StringBuilder;
8202 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
8204 + const-string v3, "deleteSettings - database entry for "
8206 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8208 + move-result-object v2
8210 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8212 + move-result-object v2
8214 + const-string v3, " not found"
8216 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8218 + move-result-object v2
8220 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8222 + move-result-object v2
8224 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8225 + :try_end_7c
8226 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
8227 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
8229 + const/4 v1, 0x0
8231 + :try_start_7d
8232 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
8234 + if-eqz v0, :cond_8b
8236 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
8238 + move-result v2
8240 + if-eqz v2, :cond_8b
8242 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
8243 + :try_end_8b
8244 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
8246 + :cond_8b
8247 + :goto_8b
8248 + monitor-exit p0
8250 + return v1
8252 + :cond_8d
8253 + :try_start_8d
8254 + new-instance v12, Ljava/io/File;
8256 + new-instance v1, Ljava/lang/StringBuilder;
8258 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8260 + const-string v2, "/data/system/privacy/"
8262 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8264 + move-result-object v1
8266 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8268 + move-result-object v1
8270 + const-string v2, "/"
8272 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8274 + move-result-object v1
8276 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8278 + move-result-object v1
8280 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8282 + new-instance v13, Ljava/io/File;
8284 + new-instance v1, Ljava/lang/StringBuilder;
8286 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8288 + const-string v2, "/data/system/privacy/"
8290 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8292 + move-result-object v1
8294 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8296 + move-result-object v1
8298 + const-string v2, "/systemLogsSetting"
8300 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8302 + move-result-object v1
8304 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8306 + move-result-object v1
8308 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8310 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
8312 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
8314 + move-result-object v1
8316 + if-eqz v1, :cond_d9
8318 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
8320 + move-result-object v1
8322 + array-length v1, v1
8324 + if-nez v1, :cond_dc
8326 + :cond_d9
8327 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
8329 + :cond_dc
8330 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
8331 + :try_end_df
8332 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
8333 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
8335 + :try_start_df
8336 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
8338 + if-eqz v0, :cond_ed
8340 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
8342 + move-result v1
8344 + if-eqz v1, :cond_ed
8346 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
8347 + :try_end_ed
8348 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
8350 + :cond_ed
8351 + :goto_ed
8352 + move v1, v11
8354 + goto :goto_8b
8356 + :catch_ef
8357 + move-exception v9
8359 + const/4 v11, 0x0
8361 + :try_start_f1
8362 + const-string v1, "PrivacyPersistenceAdapter"
8364 + const-string v2, "deleteSettings - could not delete settings"
8366 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
8367 + :try_end_f8
8368 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
8370 + :try_start_f8
8371 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
8373 + if-eqz v0, :cond_ed
8375 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
8377 + move-result v1
8379 + if-eqz v1, :cond_ed
8381 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
8382 + :try_end_106
8383 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
8385 + goto :goto_ed
8387 + :catchall_107
8388 + move-exception v1
8390 + monitor-exit p0
8392 + throw v1
8394 + :catchall_10a
8395 + move-exception v1
8397 + :try_start_10b
8398 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
8400 + if-eqz v0, :cond_119
8402 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
8404 + move-result v2
8406 + if-eqz v2, :cond_119
8408 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
8410 + :cond_119
8411 + throw v1
8412 + :try_end_11a
8413 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
8414 +.end method
8416 +.method public getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
8417 + .registers 47
8419 + const/16 v43, 0x0
8421 + if-nez p1, :cond_e
8423 + const-string v1, "PrivacyPersistenceAdapter"
8425 + const-string v4, "getSettings - insufficient application identifier - package name is required"
8427 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8429 + move-object/from16 v3, v43
8431 + :goto_d
8432 + return-object v43
8434 + :cond_e
8435 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
8437 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
8439 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
8441 + move-result v1
8443 + add-int/lit8 v1, v1, 0x1
8445 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8447 + move-result-object v1
8449 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
8451 + :try_start_1e
8452 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
8453 + :try_end_21
8454 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_1e .. :try_end_21} :catch_243
8456 + move-result-object v2
8458 + const/16 v41, 0x0
8460 + :try_start_24
8461 + const-string/jumbo v3, "settings"
8463 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
8465 + const-string/jumbo v5, "packageName=?"
8467 + const/4 v1, 0x1
8469 + new-array v6, v1, [Ljava/lang/String;
8471 + const/4 v1, 0x0
8473 + aput-object p1, v6, v1
8475 + const/4 v7, 0x0
8477 + const/4 v8, 0x0
8479 + const/4 v9, 0x0
8481 + const/4 v10, 0x0
8483 + move-object/from16 v1, p0
8485 + 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;
8487 + move-result-object v41
8489 + if-eqz v41, :cond_2d3
8491 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z
8493 + move-result v1
8495 + if-eqz v1, :cond_2d3
8497 + new-instance v3, Landroid/privacy/PrivacySettings;
8499 + const/4 v1, 0x0
8501 + move-object/from16 v0, v41
8503 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
8505 + move-result v1
8507 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
8509 + move-result-object v4
8511 + const/4 v1, 0x1
8513 + move-object/from16 v0, v41
8515 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
8517 + move-result-object v5
8519 + const/4 v1, 0x2
8521 + move-object/from16 v0, v41
8523 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
8525 + move-result v6
8527 + const/4 v1, 0x3
8529 + move-object/from16 v0, v41
8531 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8533 + move-result v1
8535 + int-to-byte v7, v1
8537 + const/4 v1, 0x4
8539 + move-object/from16 v0, v41
8541 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
8543 + move-result-object v8
8545 + const/4 v1, 0x5
8547 + move-object/from16 v0, v41
8549 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8551 + move-result v1
8553 + int-to-byte v9, v1
8555 + const/4 v1, 0x6
8557 + move-object/from16 v0, v41
8559 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
8561 + move-result-object v10
8563 + const/4 v1, 0x7
8565 + move-object/from16 v0, v41
8567 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8569 + move-result v1
8571 + int-to-byte v11, v1
8573 + const/16 v1, 0x8
8575 + move-object/from16 v0, v41
8577 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
8579 + move-result-object v12
8581 + const/16 v1, 0x9
8583 + move-object/from16 v0, v41
8585 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
8587 + move-result-object v13
8589 + const/16 v1, 0xa
8591 + move-object/from16 v0, v41
8593 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8595 + move-result v1
8597 + int-to-byte v14, v1
8599 + const/16 v1, 0xb
8601 + move-object/from16 v0, v41
8603 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
8605 + move-result-object v15
8607 + const/16 v1, 0xc
8609 + move-object/from16 v0, v41
8611 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
8613 + move-result-object v16
8615 + const/16 v1, 0xd
8617 + move-object/from16 v0, v41
8619 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8621 + move-result v1
8623 + int-to-byte v0, v1
8625 + move/from16 v17, v0
8627 + const/16 v1, 0xe
8629 + move-object/from16 v0, v41
8631 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8633 + move-result v1
8635 + int-to-byte v0, v1
8637 + move/from16 v18, v0
8639 + const/16 v1, 0xf
8641 + move-object/from16 v0, v41
8643 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8645 + move-result v1
8647 + int-to-byte v0, v1
8649 + move/from16 v19, v0
8651 + const/16 v1, 0x10
8653 + move-object/from16 v0, v41
8655 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
8657 + move-result-object v20
8659 + const/16 v1, 0x11
8661 + move-object/from16 v0, v41
8663 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8665 + move-result v1
8667 + int-to-byte v0, v1
8669 + move/from16 v21, v0
8671 + const/16 v1, 0x12
8673 + move-object/from16 v0, v41
8675 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
8677 + move-result-object v22
8679 + const/16 v1, 0x13
8681 + move-object/from16 v0, v41
8683 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8685 + move-result v1
8687 + int-to-byte v0, v1
8689 + move/from16 v23, v0
8691 + const/16 v1, 0x14
8693 + move-object/from16 v0, v41
8695 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8697 + move-result v1
8699 + int-to-byte v0, v1
8701 + move/from16 v24, v0
8703 + const/16 v1, 0x15
8705 + move-object/from16 v0, v41
8707 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8709 + move-result v1
8711 + int-to-byte v0, v1
8713 + move/from16 v25, v0
8715 + const/16 v1, 0x16
8717 + move-object/from16 v0, v41
8719 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8721 + move-result v1
8723 + int-to-byte v0, v1
8725 + move/from16 v26, v0
8727 + const/16 v1, 0x17
8729 + move-object/from16 v0, v41
8731 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8733 + move-result v1
8735 + int-to-byte v0, v1
8737 + move/from16 v27, v0
8739 + const/16 v1, 0x18
8741 + move-object/from16 v0, v41
8743 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8745 + move-result v1
8747 + int-to-byte v0, v1
8749 + move/from16 v28, v0
8751 + const/16 v1, 0x19
8753 + move-object/from16 v0, v41
8755 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8757 + move-result v1
8759 + int-to-byte v0, v1
8761 + move/from16 v29, v0
8763 + const/16 v1, 0x1a
8765 + move-object/from16 v0, v41
8767 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8769 + move-result v1
8771 + int-to-byte v0, v1
8773 + move/from16 v30, v0
8775 + const/16 v1, 0x1b
8777 + move-object/from16 v0, v41
8779 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8781 + move-result v1
8783 + int-to-byte v0, v1
8785 + move/from16 v31, v0
8787 + const/16 v1, 0x1c
8789 + move-object/from16 v0, v41
8791 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8793 + move-result v1
8795 + int-to-byte v0, v1
8797 + move/from16 v32, v0
8799 + const/16 v1, 0x1d
8801 + move-object/from16 v0, v41
8803 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8805 + move-result v1
8807 + int-to-byte v0, v1
8809 + move/from16 v33, v0
8811 + const/16 v1, 0x1e
8813 + move-object/from16 v0, v41
8815 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8817 + move-result v1
8819 + int-to-byte v0, v1
8821 + move/from16 v34, v0
8823 + const/16 v1, 0x1f
8825 + move-object/from16 v0, v41
8827 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8829 + move-result v1
8831 + int-to-byte v0, v1
8833 + move/from16 v35, v0
8835 + const/16 v1, 0x20
8837 + move-object/from16 v0, v41
8839 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8841 + move-result v1
8843 + int-to-byte v0, v1
8845 + move/from16 v36, v0
8847 + const/16 v1, 0x21
8849 + move-object/from16 v0, v41
8851 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8853 + move-result v1
8855 + int-to-byte v0, v1
8857 + move/from16 v37, v0
8859 + const/16 v1, 0x22
8861 + move-object/from16 v0, v41
8863 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
8865 + move-result v1
8867 + int-to-byte v0, v1
8869 + move/from16 v38, v0
8871 + const/16 v39, 0x0
8873 + invoke-direct/range {v3 .. v39}, 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[I)V
8874 + :try_end_19f
8875 + .catchall {:try_start_24 .. :try_end_19f} :catchall_299
8876 + .catch Ljava/lang/Exception; {:try_start_24 .. :try_end_19f} :catch_2ce
8878 + :try_start_19f
8879 + new-instance v1, Ljava/lang/StringBuilder;
8881 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
8883 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
8885 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8887 + move-result-object v1
8889 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
8891 + move-result-object v4
8893 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
8895 + move-result v4
8897 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
8899 + move-result-object v4
8901 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8903 + move-result-object v1
8905 + const-string v4, ";"
8907 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8909 + move-result-object v1
8911 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8913 + move-result-object v1
8915 + move-object/from16 v0, p0
8917 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
8919 + move-result-object v41
8921 + if-eqz v41, :cond_266
8923 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
8925 + move-result v1
8927 + if-lez v1, :cond_266
8929 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I
8931 + move-result v1
8933 + new-array v0, v1, [I
8935 + move-object/from16 v40, v0
8937 + :goto_1da
8938 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z
8940 + move-result v1
8942 + if-eqz v1, :cond_261
8944 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I
8946 + move-result v1
8948 + const/4 v4, 0x1
8950 + move-object/from16 v0, v41
8952 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
8954 + move-result v4
8956 + aput v4, v40, v1
8957 + :try_end_1ed
8958 + .catchall {:try_start_19f .. :try_end_1ed} :catchall_2cc
8959 + .catch Ljava/lang/Exception; {:try_start_19f .. :try_end_1ed} :catch_1ee
8961 + goto :goto_1da
8963 + :catch_1ee
8964 + move-exception v42
8966 + :goto_1ef
8967 + :try_start_1ef
8968 + const-string v1, "PrivacyPersistenceAdapter"
8970 + new-instance v4, Ljava/lang/StringBuilder;
8972 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
8974 + const-string v5, "getSettings - failed to get settings for package: "
8976 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8978 + move-result-object v4
8980 + move-object/from16 v0, p1
8982 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8984 + move-result-object v4
8986 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8988 + move-result-object v4
8990 + move-object/from16 v0, v42
8992 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
8994 + invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V
8996 + if-eqz v41, :cond_213
8998 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
8999 + :try_end_213
9000 + .catchall {:try_start_1ef .. :try_end_213} :catchall_2cc
9002 + :cond_213
9003 + if-eqz v41, :cond_218
9005 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
9007 + :cond_218
9008 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9010 + monitor-enter v4
9012 + :try_start_21b
9013 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9015 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9017 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
9019 + move-result v1
9021 + add-int/lit8 v1, v1, -0x1
9023 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9025 + move-result-object v1
9027 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9029 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9031 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
9033 + move-result v1
9035 + if-nez v1, :cond_23e
9037 + if-eqz v2, :cond_23e
9039 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
9041 + move-result v1
9043 + if-eqz v1, :cond_23e
9045 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
9047 + :cond_23e
9048 + monitor-exit v4
9049 + :try_end_23f
9050 + .catchall {:try_start_21b .. :try_end_23f} :catchall_296
9052 + :goto_23f
9053 + move-object/from16 v43, v3
9055 + goto/16 :goto_d
9057 + :catch_243
9058 + move-exception v42
9060 + const-string v1, "PrivacyPersistenceAdapter"
9062 + const-string v4, "getSettings - database could not be opened"
9064 + move-object/from16 v0, v42
9066 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
9068 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9070 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9072 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
9074 + move-result v1
9076 + add-int/lit8 v1, v1, -0x1
9078 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9080 + move-result-object v1
9082 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9084 + move-object/from16 v3, v43
9086 + goto/16 :goto_d
9088 + :cond_261
9089 + :try_start_261
9090 + move-object/from16 v0, v40
9092 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
9093 + :try_end_266
9094 + .catchall {:try_start_261 .. :try_end_266} :catchall_2cc
9095 + .catch Ljava/lang/Exception; {:try_start_261 .. :try_end_266} :catch_1ee
9097 + :cond_266
9098 + :goto_266
9099 + if-eqz v41, :cond_26b
9101 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
9103 + :cond_26b
9104 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9106 + monitor-enter v4
9108 + :try_start_26e
9109 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9111 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9113 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
9115 + move-result v1
9117 + add-int/lit8 v1, v1, -0x1
9119 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9121 + move-result-object v1
9123 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9125 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9127 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
9129 + move-result v1
9131 + if-nez v1, :cond_291
9133 + if-eqz v2, :cond_291
9135 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
9137 + move-result v1
9139 + if-eqz v1, :cond_291
9141 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
9143 + :cond_291
9144 + monitor-exit v4
9146 + goto :goto_23f
9148 + :catchall_293
9149 + move-exception v1
9151 + monitor-exit v4
9152 + :try_end_295
9153 + .catchall {:try_start_26e .. :try_end_295} :catchall_293
9155 + throw v1
9157 + :catchall_296
9158 + move-exception v1
9160 + :try_start_297
9161 + monitor-exit v4
9162 + :try_end_298
9163 + .catchall {:try_start_297 .. :try_end_298} :catchall_296
9165 + throw v1
9167 + :catchall_299
9168 + move-exception v1
9170 + move-object/from16 v3, v43
9172 + :goto_29c
9173 + if-eqz v41, :cond_2a1
9175 + invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V
9177 + :cond_2a1
9178 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9180 + monitor-enter v4
9182 + :try_start_2a4
9183 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9185 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9187 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
9189 + move-result v5
9191 + add-int/lit8 v5, v5, -0x1
9193 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9195 + move-result-object v5
9197 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9199 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9201 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
9203 + move-result v5
9205 + if-nez v5, :cond_2c7
9207 + if-eqz v2, :cond_2c7
9209 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
9211 + move-result v5
9213 + if-eqz v5, :cond_2c7
9215 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
9217 + :cond_2c7
9218 + monitor-exit v4
9219 + :try_end_2c8
9220 + .catchall {:try_start_2a4 .. :try_end_2c8} :catchall_2c9
9222 + throw v1
9224 + :catchall_2c9
9225 + move-exception v1
9227 + :try_start_2ca
9228 + monitor-exit v4
9229 + :try_end_2cb
9230 + .catchall {:try_start_2ca .. :try_end_2cb} :catchall_2c9
9232 + throw v1
9234 + :catchall_2cc
9235 + move-exception v1
9237 + goto :goto_29c
9239 + :catch_2ce
9240 + move-exception v42
9242 + move-object/from16 v3, v43
9244 + goto/16 :goto_1ef
9246 + :cond_2d3
9247 + move-object/from16 v3, v43
9249 + goto :goto_266
9250 +.end method
9252 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
9253 + .registers 15
9255 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9257 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9259 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9261 + move-result v0
9263 + add-int/lit8 v0, v0, 0x1
9265 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9267 + move-result-object v0
9269 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9271 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
9273 + move-result-object v1
9275 + const/4 v12, 0x0
9277 + :try_start_15
9278 + const-string/jumbo v2, "map"
9280 + const/4 v0, 0x1
9282 + new-array v3, v0, [Ljava/lang/String;
9284 + const/4 v0, 0x0
9286 + const-string/jumbo v4, "value"
9288 + aput-object v4, v3, v0
9290 + const-string/jumbo v4, "name=?"
9292 + const/4 v0, 0x1
9294 + new-array v5, v0, [Ljava/lang/String;
9296 + const/4 v0, 0x0
9298 + aput-object p1, v5, v0
9300 + const/4 v6, 0x0
9302 + const/4 v7, 0x0
9304 + const/4 v8, 0x0
9306 + const/4 v9, 0x0
9308 + move-object v0, p0
9310 + 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;
9312 + move-result-object v10
9314 + if-eqz v10, :cond_77
9316 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
9318 + move-result v0
9320 + if-lez v0, :cond_77
9322 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
9324 + move-result v0
9326 + if-eqz v0, :cond_77
9328 + const-string/jumbo v0, "value"
9330 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
9332 + move-result v0
9334 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
9336 + move-result-object v12
9338 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
9339 + :try_end_4f
9340 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
9342 + :goto_4f
9343 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9345 + monitor-enter v2
9347 + :try_start_52
9348 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9350 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9352 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9354 + move-result v0
9356 + add-int/lit8 v0, v0, -0x1
9358 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9360 + move-result-object v0
9362 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9364 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9366 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
9368 + move-result v0
9370 + if-nez v0, :cond_75
9372 + if-eqz v1, :cond_75
9374 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
9376 + move-result v0
9378 + if-eqz v0, :cond_75
9380 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
9382 + :cond_75
9383 + monitor-exit v2
9384 + :try_end_76
9385 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
9387 + return-object v12
9389 + :cond_77
9390 + :try_start_77
9391 + const-string v0, "PrivacyPersistenceAdapter"
9393 + new-instance v2, Ljava/lang/StringBuilder;
9395 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9397 + const-string v3, "getValue - could not get value for name: "
9399 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9401 + move-result-object v2
9403 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9405 + move-result-object v2
9407 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9409 + move-result-object v2
9411 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
9412 + :try_end_8f
9413 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
9415 + goto :goto_4f
9417 + :catch_90
9418 + move-exception v11
9420 + const-string v0, "PrivacyPersistenceAdapter"
9422 + new-instance v2, Ljava/lang/StringBuilder;
9424 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9426 + const-string v3, "getValue - could not get value for name: "
9428 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9430 + move-result-object v2
9432 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9434 + move-result-object v2
9436 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9438 + move-result-object v2
9440 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
9442 + goto :goto_4f
9444 + :catchall_aa
9445 + move-exception v0
9447 + :try_start_ab
9448 + monitor-exit v2
9449 + :try_end_ac
9450 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
9452 + throw v0
9453 +.end method
9455 +.method public purgeSettings()Z
9456 + .registers 28
9458 + const/16 v25, 0x1
9460 + new-instance v13, Ljava/util/ArrayList;
9462 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
9464 + move-object/from16 v0, p0
9466 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
9468 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
9470 + move-result-object v21
9472 + const/16 v2, 0x80
9474 + move-object/from16 v0, v21
9476 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
9478 + move-result-object v19
9480 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
9482 + move-result-object v18
9484 + :goto_1b
9485 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
9487 + move-result v2
9489 + if-eqz v2, :cond_2d
9491 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
9493 + move-result-object v12
9495 + check-cast v12, Landroid/content/pm/ApplicationInfo;
9497 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
9499 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
9501 + goto :goto_1b
9503 + :cond_2d
9504 + new-instance v26, Ljava/io/File;
9506 + const-string v2, "/data/system/privacy"
9508 + move-object/from16 v0, v26
9510 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9512 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
9514 + move-result-object v15
9516 + array-length v0, v15
9518 + move/from16 v20, v0
9520 + const/16 v18, 0x0
9522 + :goto_3f
9523 + move/from16 v0, v18
9525 + move/from16 v1, v20
9527 + if-ge v0, v1, :cond_5d
9529 + aget-object v23, v15, v18
9531 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
9533 + move-result-object v24
9535 + move-object/from16 v0, v24
9537 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
9539 + move-result v2
9541 + if-nez v2, :cond_5a
9543 + move-object/from16 v0, p0
9545 + move-object/from16 v1, v23
9547 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
9549 + :cond_5a
9550 + add-int/lit8 v18, v18, 0x1
9552 + goto :goto_3f
9554 + :cond_5d
9555 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9557 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9559 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
9561 + move-result v2
9563 + add-int/lit8 v2, v2, 0x1
9565 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9567 + move-result-object v2
9569 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9571 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
9573 + move-result-object v3
9575 + const/16 v16, 0x0
9577 + :try_start_73
9578 + const-string/jumbo v4, "settings"
9580 + const/4 v2, 0x1
9582 + new-array v5, v2, [Ljava/lang/String;
9584 + const/4 v2, 0x0
9586 + const-string/jumbo v6, "packageName"
9588 + aput-object v6, v5, v2
9590 + const/4 v6, 0x0
9592 + const/4 v7, 0x0
9594 + const/4 v8, 0x0
9596 + const/4 v9, 0x0
9598 + const/4 v10, 0x0
9600 + const/4 v11, 0x0
9602 + move-object/from16 v2, p0
9604 + 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;
9606 + move-result-object v16
9608 + new-instance v14, Ljava/util/ArrayList;
9610 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
9612 + :goto_90
9613 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
9615 + move-result v2
9617 + if-eqz v2, :cond_142
9619 + const/4 v2, 0x0
9621 + move-object/from16 v0, v16
9623 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
9625 + move-result-object v24
9627 + move-object/from16 v0, v24
9629 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
9631 + move-result v2
9633 + if-nez v2, :cond_e7
9635 + move-object/from16 v0, p0
9637 + move-object/from16 v1, v24
9639 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
9640 + :try_end_ac
9641 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
9642 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
9644 + goto :goto_90
9646 + :catch_ad
9647 + move-exception v17
9649 + :try_start_ae
9650 + const-string v2, "PrivacyPersistenceAdapter"
9652 + const-string/jumbo v4, "purgeSettings - purging DB failed"
9654 + move-object/from16 v0, v17
9656 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
9657 + :try_end_b8
9658 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
9660 + const/16 v25, 0x0
9662 + if-eqz v16, :cond_bf
9664 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
9666 + :cond_bf
9667 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9669 + monitor-enter v4
9671 + :try_start_c2
9672 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9674 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9676 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
9678 + move-result v2
9680 + add-int/lit8 v2, v2, -0x1
9682 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9684 + move-result-object v2
9686 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9688 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9690 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
9692 + move-result v2
9694 + if-nez v2, :cond_e5
9696 + if-eqz v3, :cond_e5
9698 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
9700 + move-result v2
9702 + if-eqz v2, :cond_e5
9704 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
9706 + :cond_e5
9707 + monitor-exit v4
9708 + :try_end_e6
9709 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
9711 + :goto_e6
9712 + return v25
9714 + :cond_e7
9715 + :try_start_e7
9716 + move-object/from16 v0, v24
9718 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
9720 + move-result v2
9722 + if-eqz v2, :cond_135
9724 + const/4 v2, 0x0
9726 + move-object/from16 v0, p0
9728 + move-object/from16 v1, v24
9730 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
9732 + move-result-object v22
9734 + move-object/from16 v0, p0
9736 + move-object/from16 v1, v24
9738 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
9740 + move-object/from16 v0, p0
9742 + move-object/from16 v1, v22
9744 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
9745 + :try_end_106
9746 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
9747 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
9749 + goto :goto_90
9751 + :catchall_107
9752 + move-exception v2
9754 + if-eqz v16, :cond_10d
9756 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
9758 + :cond_10d
9759 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9761 + monitor-enter v4
9763 + :try_start_110
9764 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9766 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9768 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
9770 + move-result v5
9772 + add-int/lit8 v5, v5, -0x1
9774 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9776 + move-result-object v5
9778 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9780 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9782 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
9784 + move-result v5
9786 + if-nez v5, :cond_133
9788 + if-eqz v3, :cond_133
9790 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
9792 + move-result v5
9794 + if-eqz v5, :cond_133
9796 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
9798 + :cond_133
9799 + monitor-exit v4
9800 + :try_end_134
9801 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
9803 + throw v2
9805 + :cond_135
9806 + :try_start_135
9807 + move-object/from16 v0, v24
9809 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
9810 + :try_end_13a
9811 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
9812 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
9814 + goto/16 :goto_90
9816 + :catchall_13c
9817 + move-exception v2
9819 + :try_start_13d
9820 + monitor-exit v4
9821 + :try_end_13e
9822 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
9824 + throw v2
9826 + :catchall_13f
9827 + move-exception v2
9829 + :try_start_140
9830 + monitor-exit v4
9831 + :try_end_141
9832 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
9834 + throw v2
9836 + :cond_142
9837 + if-eqz v16, :cond_147
9839 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
9841 + :cond_147
9842 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9844 + monitor-enter v4
9846 + :try_start_14a
9847 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9849 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9851 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
9853 + move-result v2
9855 + add-int/lit8 v2, v2, -0x1
9857 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9859 + move-result-object v2
9861 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9863 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
9865 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
9867 + move-result v2
9869 + if-nez v2, :cond_16d
9871 + if-eqz v3, :cond_16d
9873 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
9875 + move-result v2
9877 + if-eqz v2, :cond_16d
9879 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
9881 + :cond_16d
9882 + monitor-exit v4
9884 + goto/16 :goto_e6
9886 + :catchall_170
9887 + move-exception v2
9889 + monitor-exit v4
9890 + :try_end_172
9891 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
9893 + throw v2
9894 +.end method
9896 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
9897 + .registers 27
9899 + monitor-enter p0
9901 + const/16 v18, 0x1
9903 + :try_start_3
9904 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
9906 + move-result-object v17
9908 + if-eqz v17, :cond_f
9910 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z
9912 + move-result v3
9914 + if-eqz v3, :cond_1a
9916 + :cond_f
9917 + const-string v3, "PrivacyPersistenceAdapter"
9919 + const-string/jumbo v4, "saveSettings - either package name, UID or both is missing"
9921 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9922 + :try_end_17
9923 + .catchall {:try_start_3 .. :try_end_17} :catchall_2c2
9925 + const/4 v3, 0x0
9927 + :goto_18
9928 + monitor-exit p0
9930 + return v3
9932 + :cond_1a
9933 + :try_start_1a
9934 + new-instance v23, Landroid/content/ContentValues;
9936 + invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;-><init>()V
9938 + const-string/jumbo v3, "packageName"
9940 + move-object/from16 v0, v23
9942 + move-object/from16 v1, v17
9944 + invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
9946 + const-string/jumbo v3, "uid"
9948 + const/4 v4, -0x1
9950 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
9952 + move-result-object v4
9954 + move-object/from16 v0, v23
9956 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
9958 + const-string v3, "deviceIdSetting"
9960 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
9962 + move-result v4
9964 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
9966 + move-result-object v4
9968 + move-object/from16 v0, v23
9970 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
9972 + const-string v3, "deviceId"
9974 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
9976 + move-result-object v4
9978 + move-object/from16 v0, v23
9980 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
9982 + const-string v3, "line1NumberSetting"
9984 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
9986 + move-result v4
9988 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
9990 + move-result-object v4
9992 + move-object/from16 v0, v23
9994 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
9996 + const-string v3, "line1Number"
9998 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
10000 + move-result-object v4
10002 + move-object/from16 v0, v23
10004 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
10006 + const-string v3, "locationGpsSetting"
10008 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
10010 + move-result v4
10012 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10014 + move-result-object v4
10016 + move-object/from16 v0, v23
10018 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10020 + const-string v3, "locationGpsLat"
10022 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
10024 + move-result-object v4
10026 + move-object/from16 v0, v23
10028 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
10030 + const-string v3, "locationGpsLon"
10032 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
10034 + move-result-object v4
10036 + move-object/from16 v0, v23
10038 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
10040 + const-string v3, "locationNetworkSetting"
10042 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
10044 + move-result v4
10046 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10048 + move-result-object v4
10050 + move-object/from16 v0, v23
10052 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10054 + const-string v3, "locationNetworkLat"
10056 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
10058 + move-result-object v4
10060 + move-object/from16 v0, v23
10062 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
10064 + const-string v3, "locationNetworkLon"
10066 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
10068 + move-result-object v4
10070 + move-object/from16 v0, v23
10072 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
10074 + const-string/jumbo v3, "networkInfoSetting"
10076 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
10078 + move-result v4
10080 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10082 + move-result-object v4
10084 + move-object/from16 v0, v23
10086 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10088 + const-string/jumbo v3, "simInfoSetting"
10090 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
10092 + move-result v4
10094 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10096 + move-result-object v4
10098 + move-object/from16 v0, v23
10100 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10102 + const-string/jumbo v3, "simSerialNumberSetting"
10104 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
10106 + move-result v4
10108 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10110 + move-result-object v4
10112 + move-object/from16 v0, v23
10114 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10116 + const-string/jumbo v3, "simSerialNumber"
10118 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
10120 + move-result-object v4
10122 + move-object/from16 v0, v23
10124 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
10126 + const-string/jumbo v3, "subscriberIdSetting"
10128 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
10130 + move-result v4
10132 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10134 + move-result-object v4
10136 + move-object/from16 v0, v23
10138 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10140 + const-string/jumbo v3, "subscriberId"
10142 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
10144 + move-result-object v4
10146 + move-object/from16 v0, v23
10148 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
10150 + const-string v3, "accountsSetting"
10152 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
10154 + move-result v4
10156 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10158 + move-result-object v4
10160 + move-object/from16 v0, v23
10162 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10164 + const-string v3, "accountsAuthTokensSetting"
10166 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
10168 + move-result v4
10170 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10172 + move-result-object v4
10174 + move-object/from16 v0, v23
10176 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10178 + const-string/jumbo v3, "outgoingCallsSetting"
10180 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
10182 + move-result v4
10184 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10186 + move-result-object v4
10188 + move-object/from16 v0, v23
10190 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10192 + const-string v3, "incomingCallsSetting"
10194 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
10196 + move-result v4
10198 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10200 + move-result-object v4
10202 + move-object/from16 v0, v23
10204 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10206 + const-string v3, "contactsSetting"
10208 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
10210 + move-result v4
10212 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10214 + move-result-object v4
10216 + move-object/from16 v0, v23
10218 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10220 + const-string v3, "calendarSetting"
10222 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
10224 + move-result v4
10226 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10228 + move-result-object v4
10230 + move-object/from16 v0, v23
10232 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10234 + const-string/jumbo v3, "mmsSetting"
10236 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
10238 + move-result v4
10240 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10242 + move-result-object v4
10244 + move-object/from16 v0, v23
10246 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10248 + const-string/jumbo v3, "smsSetting"
10250 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
10252 + move-result v4
10254 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10256 + move-result-object v4
10258 + move-object/from16 v0, v23
10260 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10262 + const-string v3, "callLogSetting"
10264 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
10266 + move-result v4
10268 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10270 + move-result-object v4
10272 + move-object/from16 v0, v23
10274 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10276 + const-string v3, "bookmarksSetting"
10278 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
10280 + move-result v4
10282 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10284 + move-result-object v4
10286 + move-object/from16 v0, v23
10288 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10290 + const-string/jumbo v3, "systemLogsSetting"
10292 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
10294 + move-result v4
10296 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10298 + move-result-object v4
10300 + move-object/from16 v0, v23
10302 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10304 + const-string/jumbo v3, "notificationSetting"
10306 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
10308 + move-result v4
10310 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10312 + move-result-object v4
10314 + move-object/from16 v0, v23
10316 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10318 + const-string v3, "intentBootCompletedSetting"
10320 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
10322 + move-result v4
10324 + invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
10326 + move-result-object v4
10328 + move-object/from16 v0, v23
10330 + invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
10332 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10334 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10336 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
10338 + move-result v3
10340 + add-int/lit8 v3, v3, 0x1
10342 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10344 + move-result-object v3
10346 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10348 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
10350 + move-result-object v2
10352 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
10353 + :try_end_1eb
10354 + .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2
10356 + const/4 v11, 0x0
10358 + :try_start_1ec
10359 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
10361 + move-result-object v15
10363 + if-eqz v15, :cond_2c8
10365 + const-string/jumbo v3, "settings"
10367 + const-string v4, "_id=?"
10369 + const/4 v5, 0x1
10371 + new-array v5, v5, [Ljava/lang/String;
10373 + const/4 v6, 0x0
10375 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
10377 + move-result-object v7
10379 + aput-object v7, v5, v6
10381 + move-object/from16 v0, v23
10383 + invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
10385 + move-result v3
10387 + const/4 v4, 0x1
10389 + if-ge v3, v4, :cond_249
10391 + new-instance v3, Ljava/lang/Exception;
10393 + const-string/jumbo v4, "saveSettings - failed to update database entry"
10395 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
10397 + throw v3
10398 + :try_end_213
10399 + .catchall {:try_start_1ec .. :try_end_213} :catchall_291
10400 + .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213
10402 + :catch_213
10403 + move-exception v13
10405 + const/16 v18, 0x0
10407 + :try_start_216
10408 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
10410 + if-eqz v11, :cond_21e
10412 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
10414 + :cond_21e
10415 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10417 + monitor-enter v4
10418 + :try_end_221
10419 + .catchall {:try_start_216 .. :try_end_221} :catchall_2c2
10421 + :try_start_221
10422 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10424 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10426 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
10428 + move-result v3
10430 + add-int/lit8 v3, v3, -0x1
10432 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10434 + move-result-object v3
10436 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10438 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10440 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
10442 + move-result v3
10444 + if-nez v3, :cond_244
10446 + if-eqz v2, :cond_244
10448 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
10450 + move-result v3
10452 + if-eqz v3, :cond_244
10454 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
10456 + :cond_244
10457 + monitor-exit v4
10458 + :try_end_245
10459 + .catchall {:try_start_221 .. :try_end_245} :catchall_4ca
10461 + :goto_245
10462 + move/from16 v3, v18
10464 + goto/16 :goto_18
10466 + :cond_249
10467 + :try_start_249
10468 + const-string v3, "allowed_contacts"
10470 + const-string/jumbo v4, "settings_id=?"
10472 + const/4 v5, 0x1
10474 + new-array v5, v5, [Ljava/lang/String;
10476 + const/4 v6, 0x0
10478 + invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String;
10480 + move-result-object v7
10482 + aput-object v7, v5, v6
10484 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
10486 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
10488 + move-result-object v10
10490 + if-eqz v10, :cond_3f2
10492 + new-instance v12, Landroid/content/ContentValues;
10494 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
10496 + const/4 v14, 0x0
10498 + :goto_267
10499 + array-length v3, v10
10501 + if-ge v14, v3, :cond_3f2
10503 + const-string/jumbo v3, "settings_id"
10505 + invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
10507 + const-string v3, "contact_id"
10509 + aget v4, v10, v14
10511 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10513 + move-result-object v4
10515 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
10517 + const-string v3, "allowed_contacts"
10519 + const/4 v4, 0x0
10521 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
10523 + move-result-wide v3
10525 + const-wide/16 v5, -0x1
10527 + cmp-long v3, v3, v5
10529 + if-nez v3, :cond_2c5
10531 + new-instance v3, Ljava/lang/Exception;
10533 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
10535 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
10537 + throw v3
10538 + :try_end_291
10539 + .catchall {:try_start_249 .. :try_end_291} :catchall_291
10540 + .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213
10542 + :catchall_291
10543 + move-exception v3
10545 + :try_start_292
10546 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
10548 + if-eqz v11, :cond_29a
10550 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
10552 + :cond_29a
10553 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10555 + monitor-enter v4
10556 + :try_end_29d
10557 + .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2
10559 + :try_start_29d
10560 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10562 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10564 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
10566 + move-result v5
10568 + add-int/lit8 v5, v5, -0x1
10570 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10572 + move-result-object v5
10574 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10576 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10578 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
10580 + move-result v5
10582 + if-nez v5, :cond_2c0
10584 + if-eqz v2, :cond_2c0
10586 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
10588 + move-result v5
10590 + if-eqz v5, :cond_2c0
10592 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
10594 + :cond_2c0
10595 + monitor-exit v4
10596 + :try_end_2c1
10597 + .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd
10599 + :try_start_2c1
10600 + throw v3
10601 + :try_end_2c2
10602 + .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2
10604 + :catchall_2c2
10605 + move-exception v3
10607 + monitor-exit p0
10609 + throw v3
10611 + :cond_2c5
10612 + add-int/lit8 v14, v14, 0x1
10614 + goto :goto_267
10616 + :cond_2c8
10617 + :try_start_2c8
10618 + const-string/jumbo v3, "settings"
10620 + const/4 v4, 0x1
10622 + new-array v4, v4, [Ljava/lang/String;
10624 + const/4 v5, 0x0
10626 + const-string v6, "_id"
10628 + aput-object v6, v4, v5
10630 + const-string/jumbo v5, "packageName=?"
10632 + const/4 v6, 0x1
10634 + new-array v6, v6, [Ljava/lang/String;
10636 + const/4 v7, 0x0
10638 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
10640 + move-result-object v8
10642 + aput-object v8, v6, v7
10644 + const/4 v7, 0x0
10646 + const/4 v8, 0x0
10648 + const/4 v9, 0x0
10650 + invoke-virtual/range {v2 .. v9}, 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;
10652 + move-result-object v11
10654 + if-eqz v11, :cond_3e7
10656 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
10658 + move-result v3
10660 + const/4 v4, 0x1
10662 + if-ne v3, v4, :cond_36e
10664 + const-string/jumbo v3, "settings"
10666 + const-string/jumbo v4, "packageName=?"
10668 + const/4 v5, 0x1
10670 + new-array v5, v5, [Ljava/lang/String;
10672 + const/4 v6, 0x0
10674 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
10676 + move-result-object v7
10678 + aput-object v7, v5, v6
10680 + move-object/from16 v0, v23
10682 + invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
10684 + move-result v3
10686 + const/4 v4, 0x1
10688 + if-ge v3, v4, :cond_312
10690 + new-instance v3, Ljava/lang/Exception;
10692 + const-string/jumbo v4, "saveSettings - failed to update database entry"
10694 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
10696 + throw v3
10698 + :cond_312
10699 + invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z
10701 + move-result v3
10703 + if-eqz v3, :cond_3f2
10705 + const/4 v3, 0x0
10707 + invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I
10709 + move-result v3
10711 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10713 + move-result-object v16
10715 + const-string v3, "allowed_contacts"
10717 + const-string/jumbo v4, "settings_id=?"
10719 + const/4 v5, 0x1
10721 + new-array v5, v5, [Ljava/lang/String;
10723 + const/4 v6, 0x0
10725 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
10727 + move-result-object v7
10729 + aput-object v7, v5, v6
10731 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
10733 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
10735 + move-result-object v10
10737 + if-eqz v10, :cond_3f2
10739 + new-instance v12, Landroid/content/ContentValues;
10741 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
10743 + const/4 v14, 0x0
10745 + :goto_33f
10746 + array-length v3, v10
10748 + if-ge v14, v3, :cond_3f2
10750 + const-string/jumbo v3, "settings_id"
10752 + move-object/from16 v0, v16
10754 + invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
10756 + const-string v3, "contact_id"
10758 + aget v4, v10, v14
10760 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10762 + move-result-object v4
10764 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
10766 + const-string v3, "allowed_contacts"
10768 + const/4 v4, 0x0
10770 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
10772 + move-result-wide v3
10774 + const-wide/16 v5, -0x1
10776 + cmp-long v3, v3, v5
10778 + if-nez v3, :cond_36b
10780 + new-instance v3, Ljava/lang/Exception;
10782 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
10784 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
10786 + throw v3
10788 + :cond_36b
10789 + add-int/lit8 v14, v14, 0x1
10791 + goto :goto_33f
10793 + :cond_36e
10794 + invoke-interface {v11}, Landroid/database/Cursor;->getCount()I
10796 + move-result v3
10798 + if-nez v3, :cond_3dc
10800 + const-string/jumbo v3, "settings"
10802 + const/4 v4, 0x0
10804 + move-object/from16 v0, v23
10806 + invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
10808 + move-result-wide v19
10810 + const-wide/16 v3, -0x1
10812 + cmp-long v3, v19, v3
10814 + if-nez v3, :cond_38d
10816 + new-instance v3, Ljava/lang/Exception;
10818 + const-string/jumbo v4, "saveSettings - failed to insert new record into DB"
10820 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
10822 + throw v3
10824 + :cond_38d
10825 + const-string v3, "allowed_contacts"
10827 + const-string/jumbo v4, "settings_id=?"
10829 + const/4 v5, 0x1
10831 + new-array v5, v5, [Ljava/lang/String;
10833 + const/4 v6, 0x0
10835 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
10837 + move-result-object v7
10839 + aput-object v7, v5, v6
10841 + invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
10843 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
10845 + move-result-object v10
10847 + if-eqz v10, :cond_3f2
10849 + new-instance v12, Landroid/content/ContentValues;
10851 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
10853 + const/4 v14, 0x0
10855 + :goto_3ab
10856 + array-length v3, v10
10858 + if-ge v14, v3, :cond_3f2
10860 + const-string/jumbo v3, "settings_id"
10862 + invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
10864 + move-result-object v4
10866 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
10868 + const-string v3, "contact_id"
10870 + aget v4, v10, v14
10872 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10874 + move-result-object v4
10876 + invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
10878 + const-string v3, "allowed_contacts"
10880 + const/4 v4, 0x0
10882 + invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
10884 + move-result-wide v3
10886 + const-wide/16 v5, -0x1
10888 + cmp-long v3, v3, v5
10890 + if-nez v3, :cond_3d9
10892 + new-instance v3, Ljava/lang/Exception;
10894 + const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)"
10896 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
10898 + throw v3
10900 + :cond_3d9
10901 + add-int/lit8 v14, v14, 0x1
10903 + goto :goto_3ab
10905 + :cond_3dc
10906 + const/16 v18, 0x0
10908 + new-instance v3, Ljava/lang/Exception;
10910 + const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db"
10912 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
10914 + throw v3
10916 + :cond_3e7
10917 + const/16 v18, 0x0
10919 + new-instance v3, Ljava/lang/Exception;
10921 + const-string/jumbo v4, "saveSettings - cursor is null, database access failed"
10923 + invoke-direct {v3, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
10925 + throw v3
10927 + :cond_3f2
10928 + new-instance v21, Ljava/io/File;
10930 + new-instance v3, Ljava/lang/StringBuilder;
10932 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10934 + const-string v4, "/data/system/privacy/"
10936 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10938 + move-result-object v3
10940 + move-object/from16 v0, v17
10942 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10944 + move-result-object v3
10946 + const-string v4, "/"
10948 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10950 + move-result-object v3
10952 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10954 + move-result-object v3
10956 + move-object/from16 v0, v21
10958 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
10960 + new-instance v22, Ljava/io/File;
10962 + new-instance v3, Ljava/lang/StringBuilder;
10964 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10966 + const-string v4, "/data/system/privacy/"
10968 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10970 + move-result-object v3
10972 + move-object/from16 v0, v17
10974 + invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10976 + move-result-object v3
10978 + const-string v4, "/"
10980 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10982 + move-result-object v3
10984 + const-string v4, "/systemLogsSetting"
10986 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10988 + move-result-object v3
10990 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10992 + move-result-object v3
10994 + move-object/from16 v0, v22
10996 + invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
10997 + :try_end_43c
10998 + .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291
10999 + .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213
11001 + :try_start_43c
11002 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z
11004 + const/4 v3, 0x1
11006 + const/4 v4, 0x0
11008 + move-object/from16 v0, v21
11010 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
11012 + const/4 v3, 0x1
11014 + const/4 v4, 0x0
11016 + move-object/from16 v0, v21
11018 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z
11020 + invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z
11022 + const/4 v3, 0x1
11024 + const/4 v4, 0x0
11026 + move-object/from16 v0, v22
11028 + invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z
11030 + new-instance v24, Ljava/io/OutputStreamWriter;
11032 + new-instance v3, Ljava/io/FileOutputStream;
11034 + move-object/from16 v0, v22
11036 + invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
11038 + move-object/from16 v0, v24
11040 + invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
11042 + new-instance v3, Ljava/lang/StringBuilder;
11044 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
11046 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
11048 + move-result v4
11050 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
11052 + move-result-object v3
11054 + const-string v4, ""
11056 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11058 + move-result-object v3
11060 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11062 + move-result-object v3
11064 + move-object/from16 v0, v24
11066 + invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
11068 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V
11070 + invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V
11071 + :try_end_487
11072 + .catchall {:try_start_43c .. :try_end_487} :catchall_291
11073 + .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be
11074 + .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213
11076 + :try_start_487
11077 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
11078 + :try_end_48a
11079 + .catchall {:try_start_487 .. :try_end_48a} :catchall_291
11080 + .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213
11082 + :try_start_48a
11083 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
11085 + if-eqz v11, :cond_492
11087 + invoke-interface {v11}, Landroid/database/Cursor;->close()V
11089 + :cond_492
11090 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
11092 + monitor-enter v4
11093 + :try_end_495
11094 + .catchall {:try_start_48a .. :try_end_495} :catchall_2c2
11096 + :try_start_495
11097 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
11099 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
11101 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
11103 + move-result v3
11105 + add-int/lit8 v3, v3, -0x1
11107 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
11109 + move-result-object v3
11111 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
11113 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
11115 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
11117 + move-result v3
11119 + if-nez v3, :cond_4b8
11121 + if-eqz v2, :cond_4b8
11123 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
11125 + move-result v3
11127 + if-eqz v3, :cond_4b8
11129 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
11131 + :cond_4b8
11132 + monitor-exit v4
11134 + goto/16 :goto_245
11136 + :catchall_4bb
11137 + move-exception v3
11139 + monitor-exit v4
11140 + :try_end_4bd
11141 + .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb
11143 + :try_start_4bd
11144 + throw v3
11145 + :try_end_4be
11146 + .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2
11148 + :catch_4be
11149 + move-exception v13
11151 + const/16 v18, 0x0
11153 + :try_start_4c1
11154 + new-instance v3, Ljava/lang/Exception;
11156 + const-string/jumbo v4, "saveSettings - could not write settings to file"
11158 + invoke-direct {v3, v4, v13}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
11160 + throw v3
11161 + :try_end_4ca
11162 + .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291
11163 + .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213
11165 + :catchall_4ca
11166 + move-exception v3
11168 + :try_start_4cb
11169 + monitor-exit v4
11170 + :try_end_4cc
11171 + .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca
11173 + :try_start_4cc
11174 + throw v3
11175 + :try_end_4cd
11176 + .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2
11178 + :catchall_4cd
11179 + move-exception v3
11181 + :try_start_4ce
11182 + monitor-exit v4
11183 + :try_end_4cf
11184 + .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd
11186 + :try_start_4cf
11187 + throw v3
11188 + :try_end_4d0
11189 + .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2
11190 +.end method
11192 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
11193 + .registers 10
11195 + monitor-enter p0
11197 + :try_start_1
11198 + const-string v3, "PrivacyPersistenceAdapter"
11200 + new-instance v4, Ljava/lang/StringBuilder;
11202 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
11204 + const-string/jumbo v5, "setValue - name "
11206 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11208 + move-result-object v4
11210 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11212 + move-result-object v4
11214 + const-string v5, " value "
11216 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11218 + move-result-object v4
11220 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11222 + move-result-object v4
11224 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11226 + move-result-object v4
11228 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
11230 + new-instance v2, Landroid/content/ContentValues;
11232 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
11234 + const-string/jumbo v3, "name"
11236 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
11238 + const-string/jumbo v3, "value"
11240 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
11242 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
11244 + move-result-object v0
11246 + const-string/jumbo v3, "map"
11248 + const/4 v4, 0x0
11250 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
11252 + move-result-wide v3
11254 + const-wide/16 v5, -0x1
11256 + cmp-long v3, v3, v5
11258 + if-eqz v3, :cond_5d
11260 + const/4 v1, 0x1
11262 + :goto_48
11263 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
11265 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
11267 + move-result v3
11269 + if-nez v3, :cond_5b
11271 + if-eqz v0, :cond_5b
11273 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
11275 + move-result v3
11277 + if-eqz v3, :cond_5b
11279 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
11280 + :try_end_5b
11281 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
11283 + :cond_5b
11284 + monitor-exit p0
11286 + return v1
11288 + :cond_5d
11289 + const/4 v1, 0x0
11291 + goto :goto_48
11293 + :catchall_5f
11294 + move-exception v3
11296 + monitor-exit p0
11298 + throw v3
11299 +.end method
11300 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
11301 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
11302 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-05-07 17:01:36.093800973 -0500
11303 @@ -0,0 +1,77 @@
11304 +.class final Landroid/privacy/PrivacySettings$1;
11305 +.super Ljava/lang/Object;
11306 +.source "PrivacySettings.java"
11308 +# interfaces
11309 +.implements Landroid/os/Parcelable$Creator;
11312 +# annotations
11313 +.annotation system Ldalvik/annotation/EnclosingClass;
11314 + value = Landroid/privacy/PrivacySettings;
11315 +.end annotation
11317 +.annotation system Ldalvik/annotation/InnerClass;
11318 + accessFlags = 0x8
11319 + name = null
11320 +.end annotation
11322 +.annotation system Ldalvik/annotation/Signature;
11323 + value = {
11324 + "Ljava/lang/Object;",
11325 + "Landroid/os/Parcelable$Creator",
11326 + "<",
11327 + "Landroid/privacy/PrivacySettings;",
11328 + ">;"
11330 +.end annotation
11333 +# direct methods
11334 +.method constructor <init>()V
11335 + .registers 1
11337 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11339 + return-void
11340 +.end method
11343 +# virtual methods
11344 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
11345 + .registers 3
11347 + new-instance v0, Landroid/privacy/PrivacySettings;
11349 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
11351 + return-object v0
11352 +.end method
11354 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
11355 + .registers 3
11357 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
11359 + move-result-object v0
11361 + return-object v0
11362 +.end method
11364 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
11365 + .registers 3
11367 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
11369 + return-object v0
11370 +.end method
11372 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
11373 + .registers 3
11375 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
11377 + move-result-object v0
11379 + return-object v0
11380 +.end method
11381 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
11382 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
11383 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-05-07 17:01:36.101801015 -0500
11384 @@ -0,0 +1,535 @@
11385 +.class public final Landroid/privacy/PrivacySettingsManagerService;
11386 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
11387 +.source "PrivacySettingsManagerService.java"
11390 +# static fields
11391 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
11393 +.field private static final VERSION:D = 1.32
11395 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
11397 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
11400 +# instance fields
11401 +.field private bootCompleted:Z
11403 +.field private context:Landroid/content/Context;
11405 +.field private enabled:Z
11407 +.field private notificationsEnabled:Z
11409 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11412 +# direct methods
11413 +.method public constructor <init>(Landroid/content/Context;)V
11414 + .registers 5
11416 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
11418 + const-string v0, "PrivacySettingsManagerService"
11420 + new-instance v1, Ljava/lang/StringBuilder;
11422 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
11424 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
11426 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11428 + move-result-object v1
11430 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11432 + move-result-object v2
11434 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11436 + move-result-object v1
11438 + const-string v2, " UID: "
11440 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11442 + move-result-object v1
11444 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11446 + move-result v2
11448 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
11450 + move-result-object v1
11452 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11454 + move-result-object v1
11456 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
11458 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
11460 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
11462 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
11464 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11466 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
11468 + const-string v1, "/data/system/privacy"
11470 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11472 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
11474 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11476 + const-string v1, "enabled"
11478 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
11480 + move-result-object v0
11482 + const-string v1, "1"
11484 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11486 + move-result v0
11488 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
11490 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11492 + const-string/jumbo v1, "notifications_enabled"
11494 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
11496 + move-result-object v0
11498 + const-string v1, "1"
11500 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11502 + move-result v0
11504 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
11506 + const/4 v0, 0x0
11508 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
11510 + return-void
11511 +.end method
11514 +# virtual methods
11515 +.method public addObserver(Ljava/lang/String;)V
11516 + .registers 5
11518 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
11520 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
11522 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
11524 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
11526 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
11528 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
11530 + return-void
11531 +.end method
11533 +.method public deleteSettings(Ljava/lang/String;)Z
11534 + .registers 8
11536 + const/4 v5, 0x1
11538 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11540 + move-result v2
11542 + const/16 v3, 0x3e8
11544 + if-eq v2, v3, :cond_12
11546 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
11548 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
11550 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
11552 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
11554 + :cond_12
11555 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11557 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
11559 + move-result v1
11561 + new-instance v2, Ljava/lang/StringBuilder;
11563 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
11565 + const-string v3, "/data/system/privacy/"
11567 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11569 + move-result-object v2
11571 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11573 + move-result-object v2
11575 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11577 + move-result-object v0
11579 + new-instance v2, Ljava/io/File;
11581 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11583 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
11585 + move-result v2
11587 + if-eqz v2, :cond_3e
11589 + if-ne v1, v5, :cond_3e
11591 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
11593 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
11595 + :cond_3d
11596 + :goto_3d
11597 + return v1
11599 + :cond_3e
11600 + if-ne v1, v5, :cond_3d
11602 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
11604 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11606 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
11608 + goto :goto_3d
11609 +.end method
11611 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11612 + .registers 4
11614 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
11616 + if-nez v0, :cond_12
11618 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
11620 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
11622 + move-result-object v0
11624 + const-string v1, "com.privacy.pdroid"
11626 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11628 + move-result v0
11630 + if-eqz v0, :cond_1a
11632 + :cond_12
11633 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11635 + const/4 v1, 0x0
11637 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
11639 + move-result-object v0
11641 + :goto_19
11642 + return-object v0
11644 + :cond_1a
11645 + const/4 v0, 0x0
11647 + goto :goto_19
11648 +.end method
11650 +.method public getVersion()D
11651 + .registers 3
11653 + const-wide v0, 0x3ff51eb851eb851fL
11655 + return-wide v0
11656 +.end method
11658 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11659 + .registers 8
11661 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
11663 + if-eqz v1, :cond_34
11665 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
11667 + if-eqz v1, :cond_34
11669 + new-instance v0, Landroid/content/Intent;
11671 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
11673 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
11675 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
11677 + const-string/jumbo v1, "packageName"
11679 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11681 + const-string/jumbo v1, "uid"
11683 + const/4 v2, -0x1
11685 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
11687 + const-string v1, "accessMode"
11689 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
11691 + const-string v1, "dataType"
11693 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11695 + const-string/jumbo v1, "output"
11697 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
11699 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
11701 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
11703 + :cond_34
11704 + return-void
11705 +.end method
11707 +.method public purgeSettings()Z
11708 + .registers 2
11710 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11712 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
11714 + move-result v0
11716 + return v0
11717 +.end method
11719 +.method public registerObservers()V
11720 + .registers 4
11722 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
11724 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
11726 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
11728 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
11730 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
11732 + const-string v1, "/data/system/privacy"
11734 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11736 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
11738 + return-void
11739 +.end method
11741 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
11742 + .registers 6
11744 + const-string v1, "PrivacySettingsManagerService"
11746 + new-instance v2, Ljava/lang/StringBuilder;
11748 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
11750 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
11752 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11754 + move-result-object v2
11756 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11758 + move-result v3
11760 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
11762 + move-result-object v2
11764 + const-string v3, ") has sufficient permissions"
11766 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11768 + move-result-object v2
11770 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11772 + move-result-object v2
11774 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
11776 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
11778 + move-result v1
11780 + const/16 v2, 0x3e8
11782 + if-eq v1, v2, :cond_34
11784 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
11786 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
11788 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
11790 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
11792 + :cond_34
11793 + const-string v1, "PrivacySettingsManagerService"
11795 + new-instance v2, Ljava/lang/StringBuilder;
11797 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
11799 + const-string/jumbo v3, "saveSettings - "
11801 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11803 + move-result-object v2
11805 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
11807 + move-result-object v2
11809 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11811 + move-result-object v2
11813 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
11815 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11817 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11819 + move-result v0
11821 + const/4 v1, 0x1
11823 + if-ne v0, v1, :cond_5f
11825 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
11827 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
11829 + move-result-object v2
11831 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
11833 + :cond_5f
11834 + return v0
11835 +.end method
11837 +.method public setBootCompleted()V
11838 + .registers 2
11840 + const/4 v0, 0x1
11842 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
11844 + return-void
11845 +.end method
11847 +.method public setEnabled(Z)Z
11848 + .registers 6
11850 + const/4 v1, 0x1
11852 + if-eqz p1, :cond_12
11854 + const-string v0, "1"
11856 + :goto_5
11857 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11859 + const-string v3, "enabled"
11861 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
11863 + move-result v2
11865 + if-eqz v2, :cond_15
11867 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
11869 + :goto_11
11870 + return v1
11872 + :cond_12
11873 + return v1
11874 + const-string v0, "0"
11876 + goto :goto_5
11878 + :cond_15
11879 + const/4 v1, 0x0
11881 + goto :goto_11
11882 +.end method
11884 +.method public setNotificationsEnabled(Z)Z
11885 + .registers 6
11887 + const/4 v1, 0x1
11889 + if-eqz p1, :cond_15
11891 + const-string v0, "1"
11893 + :goto_5
11894 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
11896 + const-string/jumbo v3, "notifications_enabled"
11898 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
11900 + move-result v2
11902 + if-eqz v2, :cond_18
11904 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
11906 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
11908 + :goto_14
11909 + return v1
11911 + :cond_15
11912 + const-string v0, "0"
11914 + goto :goto_5
11916 + :cond_18
11917 + const/4 v1, 0x0
11919 + goto :goto_14
11920 +.end method
11921 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
11922 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
11923 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-05-07 17:01:36.097800993 -0500
11924 @@ -0,0 +1,531 @@
11925 +.class public final Landroid/privacy/PrivacySettingsManager;
11926 +.super Ljava/lang/Object;
11927 +.source "PrivacySettingsManager.java"
11930 +# static fields
11931 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
11933 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
11936 +# instance fields
11937 +.field private service:Landroid/privacy/IPrivacySettingsManager;
11940 +# direct methods
11941 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
11942 + .registers 3
11944 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11946 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
11948 + return-void
11949 +.end method
11952 +# virtual methods
11953 +.method public addObserver(Ljava/lang/String;)V
11954 + .registers 5
11956 + :try_start_0
11957 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
11959 + if-eqz v1, :cond_a
11961 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
11963 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
11965 + :goto_9
11966 + return-void
11968 + :cond_a
11969 + const-string v1, "PrivacySettingsManager"
11971 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
11973 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
11974 + :try_end_11
11975 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
11977 + goto :goto_9
11979 + :catch_12
11980 + move-exception v0
11982 + const-string v1, "PrivacySettingsManager"
11984 + const-string v2, "RemoteException in addObserver: "
11986 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11988 + goto :goto_9
11989 +.end method
11991 +.method public deleteSettings(Ljava/lang/String;)Z
11992 + .registers 3
11994 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
11996 + move-result v0
11998 + return v0
11999 +.end method
12001 +.method public deleteSettings(Ljava/lang/String;I)Z
12002 + .registers 7
12004 + const/4 v1, 0x0
12006 + :try_start_1
12007 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12009 + if-eqz v2, :cond_c
12011 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12013 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
12015 + move-result v1
12017 + :goto_b
12018 + return v1
12020 + :cond_c
12021 + const-string v2, "PrivacySettingsManager"
12023 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
12025 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12026 + :try_end_13
12027 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
12029 + goto :goto_b
12031 + :catch_14
12032 + move-exception v0
12034 + const-string v2, "PrivacySettingsManager"
12036 + const-string v3, "RemoteException in deleteSettings: "
12038 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12040 + goto :goto_b
12041 +.end method
12043 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
12044 + .registers 6
12046 + const/4 v1, 0x0
12048 + :try_start_1
12049 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12051 + if-eqz v2, :cond_c
12053 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12055 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
12057 + move-result-object v1
12059 + :goto_b
12060 + return-object v1
12062 + :cond_c
12063 + const-string v2, "PrivacySettingsManager"
12065 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
12067 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12068 + :try_end_13
12069 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
12071 + goto :goto_b
12073 + :catch_14
12074 + move-exception v0
12076 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
12078 + goto :goto_b
12079 +.end method
12081 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
12082 + .registers 4
12084 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
12086 + move-result-object v0
12088 + return-object v0
12089 +.end method
12091 +.method public getVersion()D
12092 + .registers 4
12094 + :try_start_0
12095 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12097 + if-eqz v1, :cond_b
12099 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12101 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
12103 + move-result-wide v1
12105 + :goto_a
12106 + return-wide v1
12108 + :cond_b
12109 + const-string v1, "PrivacySettingsManager"
12111 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
12113 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12114 + :try_end_12
12115 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
12117 + :goto_12
12118 + const-wide/16 v1, 0x0
12120 + goto :goto_a
12122 + :catch_15
12123 + move-exception v0
12125 + const-string v1, "PrivacySettingsManager"
12127 + const-string v2, "RemoteException in getVersion: "
12129 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12131 + goto :goto_12
12132 +.end method
12134 +.method public isServiceAvailable()Z
12135 + .registers 2
12137 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12139 + if-eqz v0, :cond_6
12141 + const/4 v0, 0x1
12143 + :goto_5
12144 + return v0
12146 + :cond_6
12147 + const/4 v0, 0x0
12149 + goto :goto_5
12150 +.end method
12152 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12153 + .registers 9
12155 + :try_start_0
12156 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12158 + if-eqz v1, :cond_a
12160 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12162 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
12164 + :goto_9
12165 + return-void
12167 + :cond_a
12168 + const-string v1, "PrivacySettingsManager"
12170 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
12172 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12173 + :try_end_11
12174 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
12176 + goto :goto_9
12178 + :catch_12
12179 + move-exception v0
12181 + const-string v1, "PrivacySettingsManager"
12183 + const-string v2, "RemoteException in notification: "
12185 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12187 + goto :goto_9
12188 +.end method
12190 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12191 + .registers 13
12193 + move-object v0, p0
12195 + move-object v1, p1
12197 + move v2, p3
12199 + move-object v3, p4
12201 + move-object v4, p5
12203 + move-object v5, p6
12205 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
12207 + return-void
12208 +.end method
12210 +.method public purgeSettings()Z
12211 + .registers 4
12213 + :try_start_0
12214 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12216 + if-eqz v1, :cond_b
12218 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12220 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
12222 + move-result v1
12224 + :goto_a
12225 + return v1
12227 + :cond_b
12228 + const-string v1, "PrivacySettingsManager"
12230 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
12232 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12233 + :try_end_12
12234 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
12236 + :goto_12
12237 + const/4 v1, 0x0
12239 + goto :goto_a
12241 + :catch_14
12242 + move-exception v0
12244 + const-string v1, "PrivacySettingsManager"
12246 + const-string v2, "RemoteException in purgeSettings: "
12248 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12250 + goto :goto_12
12251 +.end method
12253 +.method public registerObservers()V
12254 + .registers 4
12256 + :try_start_0
12257 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12259 + if-eqz v1, :cond_a
12261 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12263 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
12265 + :goto_9
12266 + return-void
12268 + :cond_a
12269 + const-string v1, "PrivacySettingsManager"
12271 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
12273 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12274 + :try_end_11
12275 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
12277 + goto :goto_9
12279 + :catch_12
12280 + move-exception v0
12282 + const-string v1, "PrivacySettingsManager"
12284 + const-string v2, "RemoteException in registerObservers: "
12286 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12288 + goto :goto_9
12289 +.end method
12291 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
12292 + .registers 6
12294 + const/4 v1, 0x0
12296 + :try_start_1
12297 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12299 + if-eqz v2, :cond_c
12301 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12303 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
12305 + move-result v1
12307 + :goto_b
12308 + return v1
12310 + :cond_c
12311 + const-string v2, "PrivacySettingsManager"
12313 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
12315 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12316 + :try_end_14
12317 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
12319 + goto :goto_b
12321 + :catch_15
12322 + move-exception v0
12324 + const-string v2, "PrivacySettingsManager"
12326 + const-string v3, "RemoteException in saveSettings: "
12328 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12330 + goto :goto_b
12331 +.end method
12333 +.method public setBootCompleted()V
12334 + .registers 4
12336 + :try_start_0
12337 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12339 + if-eqz v1, :cond_a
12341 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12343 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
12345 + :goto_9
12346 + return-void
12348 + :cond_a
12349 + const-string v1, "PrivacySettingsManager"
12351 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
12353 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12354 + :try_end_12
12355 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
12357 + goto :goto_9
12359 + :catch_13
12360 + move-exception v0
12362 + const-string v1, "PrivacySettingsManager"
12364 + const-string v2, "RemoteException in setBootCompleted: "
12366 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12368 + goto :goto_9
12369 +.end method
12371 +.method public setEnabled(Z)Z
12372 + .registers 5
12374 + :try_start_0
12375 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12377 + if-eqz v1, :cond_b
12379 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12381 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
12383 + move-result v1
12385 + :goto_a
12386 + return v1
12388 + :cond_b
12389 + const-string v1, "PrivacySettingsManager"
12391 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
12393 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12394 + :try_end_13
12395 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
12397 + :goto_13
12398 + const/4 v1, 0x0
12400 + goto :goto_a
12402 + :catch_15
12403 + move-exception v0
12405 + const-string v1, "PrivacySettingsManager"
12407 + const-string v2, "RemoteException in setEnabled: "
12409 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12411 + goto :goto_13
12412 +.end method
12414 +.method public setNotificationsEnabled(Z)Z
12415 + .registers 5
12417 + :try_start_0
12418 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12420 + if-eqz v1, :cond_b
12422 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
12424 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
12426 + move-result v1
12428 + :goto_a
12429 + return v1
12431 + :cond_b
12432 + const-string v1, "PrivacySettingsManager"
12434 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
12436 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12437 + :try_end_13
12438 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
12440 + :goto_13
12441 + const/4 v1, 0x0
12443 + goto :goto_a
12445 + :catch_15
12446 + move-exception v0
12448 + const-string v1, "PrivacySettingsManager"
12450 + const-string v2, "RemoteException in setNotificationsEnabled: "
12452 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12454 + goto :goto_13
12455 +.end method
12456 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
12457 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
12458 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-05-07 17:01:36.097800993 -0500
12459 @@ -0,0 +1,2109 @@
12460 +.class public final Landroid/privacy/PrivacySettings;
12461 +.super Ljava/lang/Object;
12462 +.source "PrivacySettings.java"
12464 +# interfaces
12465 +.implements Landroid/os/Parcelable;
12468 +# static fields
12469 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
12470 + .annotation system Ldalvik/annotation/Signature;
12471 + value = {
12472 + "Landroid/os/Parcelable$Creator",
12473 + "<",
12474 + "Landroid/privacy/PrivacySettings;",
12475 + ">;"
12477 + .end annotation
12478 +.end field
12480 +.field public static final CUSTOM:B = 0x2t
12482 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
12484 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
12486 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
12488 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
12490 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
12492 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
12494 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
12496 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
12498 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
12500 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
12502 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
12504 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
12506 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
12508 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
12510 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
12512 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
12514 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
12516 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
12518 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
12520 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
12522 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
12524 +.field public static final EMPTY:B = 0x1t
12526 +.field public static final RANDOM:B = 0x3t
12528 +.field public static final REAL:B = 0x0t
12530 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
12532 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
12535 +# instance fields
12536 +.field private final _id:Ljava/lang/Integer;
12538 +.field private accountsAuthTokensSetting:B
12540 +.field private accountsSetting:B
12542 +.field private allowedContacts:[I
12544 +.field private bookmarksSetting:B
12546 +.field private calendarSetting:B
12548 +.field private callLogSetting:B
12550 +.field private contactsSetting:B
12552 +.field private deviceId:Ljava/lang/String;
12554 +.field private deviceIdSetting:B
12556 +.field private incomingCallsSetting:B
12558 +.field private intentBootCompletedSetting:B
12560 +.field private line1Number:Ljava/lang/String;
12562 +.field private line1NumberSetting:B
12564 +.field private locationGpsLat:Ljava/lang/String;
12566 +.field private locationGpsLon:Ljava/lang/String;
12568 +.field private locationGpsSetting:B
12570 +.field private locationNetworkLat:Ljava/lang/String;
12572 +.field private locationNetworkLon:Ljava/lang/String;
12574 +.field private locationNetworkSetting:B
12576 +.field private mmsSetting:B
12578 +.field private networkInfoSetting:B
12580 +.field private notificationSetting:B
12582 +.field private outgoingCallsSetting:B
12584 +.field private packageName:Ljava/lang/String;
12586 +.field private simInfoSetting:B
12588 +.field private simSerialNumber:Ljava/lang/String;
12590 +.field private simSerialNumberSetting:B
12592 +.field private smsSetting:B
12594 +.field private subscriberId:Ljava/lang/String;
12596 +.field private subscriberIdSetting:B
12598 +.field private systemLogsSetting:B
12600 +.field private uid:I
12603 +# direct methods
12604 +.method static constructor <clinit>()V
12605 + .registers 1
12607 + new-instance v0, Landroid/privacy/PrivacySettings$1;
12609 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
12611 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
12613 + return-void
12614 +.end method
12616 +.method public constructor <init>(Landroid/os/Parcel;)V
12617 + .registers 4
12619 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12621 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
12623 + move-result v0
12625 + const/4 v1, -0x1
12627 + if-ne v0, v1, :cond_ce
12629 + const/4 v1, 0x0
12631 + :goto_b
12632 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
12634 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12636 + move-result-object v1
12638 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
12640 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
12642 + move-result v1
12644 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
12646 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12648 + move-result v1
12650 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
12652 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12654 + move-result-object v1
12656 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
12658 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12660 + move-result v1
12662 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
12664 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12666 + move-result-object v1
12668 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
12670 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12672 + move-result v1
12674 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
12676 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12678 + move-result-object v1
12680 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
12682 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12684 + move-result-object v1
12686 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
12688 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12690 + move-result v1
12692 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
12694 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12696 + move-result-object v1
12698 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
12700 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12702 + move-result-object v1
12704 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
12706 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12708 + move-result v1
12710 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
12712 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12714 + move-result v1
12716 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
12718 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12720 + move-result v1
12722 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
12724 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12726 + move-result-object v1
12728 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
12730 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12732 + move-result v1
12734 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
12736 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12738 + move-result-object v1
12740 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
12742 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12744 + move-result v1
12746 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
12748 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12750 + move-result v1
12752 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
12754 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12756 + move-result v1
12758 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
12760 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12762 + move-result v1
12764 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
12766 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12768 + move-result v1
12770 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
12772 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12774 + move-result v1
12776 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
12778 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12780 + move-result v1
12782 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
12784 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12786 + move-result v1
12788 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
12790 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12792 + move-result v1
12794 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
12796 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12798 + move-result v1
12800 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
12802 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12804 + move-result v1
12806 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
12808 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12810 + move-result v1
12812 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
12814 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
12816 + move-result v1
12818 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
12820 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
12822 + move-result-object v1
12824 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
12826 + return-void
12828 + :cond_ce
12829 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12831 + move-result-object v1
12833 + goto/16 :goto_b
12834 +.end method
12836 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
12837 + .registers 6
12839 + const/4 v1, 0x0
12841 + const/4 v0, 0x0
12843 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12845 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
12847 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
12849 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
12851 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
12853 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
12855 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
12857 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
12859 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
12861 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
12863 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
12865 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
12867 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
12869 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
12871 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
12873 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
12875 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
12877 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
12879 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
12881 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
12883 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
12885 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
12887 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
12889 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
12891 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
12893 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
12895 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
12897 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
12899 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
12901 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
12903 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
12905 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
12907 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
12909 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
12911 + return-void
12912 +.end method
12914 +.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[I)V
12915 + .registers 38
12917 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12919 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
12921 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
12923 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
12925 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
12927 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
12929 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
12931 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
12933 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
12935 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
12937 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
12939 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
12941 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
12943 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
12945 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
12947 + move/from16 v0, p15
12949 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
12951 + move/from16 v0, p16
12953 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
12955 + move-object/from16 v0, p17
12957 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
12959 + move/from16 v0, p18
12961 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
12963 + move-object/from16 v0, p19
12965 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
12967 + move/from16 v0, p20
12969 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
12971 + move/from16 v0, p21
12973 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
12975 + move/from16 v0, p22
12977 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
12979 + move/from16 v0, p23
12981 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
12983 + move/from16 v0, p24
12985 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
12987 + move/from16 v0, p25
12989 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
12991 + move/from16 v0, p26
12993 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
12995 + move/from16 v0, p27
12997 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
12999 + move/from16 v0, p28
13001 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
13003 + move/from16 v0, p29
13005 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
13007 + move/from16 v0, p30
13009 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
13011 + move/from16 v0, p34
13013 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
13015 + move/from16 v0, p35
13017 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
13019 + move-object/from16 v0, p36
13021 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
13023 + return-void
13024 +.end method
13026 +.method private getRandomLat()Ljava/lang/String;
13027 + .registers 10
13029 + const-wide v7, 0x4056800000000000L
13031 + invoke-static {}, Ljava/lang/Math;->random()D
13033 + move-result-wide v3
13035 + const-wide v5, 0x4066800000000000L
13037 + mul-double v0, v3, v5
13039 + cmpl-double v3, v0, v7
13041 + if-lez v3, :cond_35
13043 + new-instance v2, Ljava/math/BigDecimal;
13045 + sub-double v3, v0, v7
13047 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
13049 + :goto_1b
13050 + new-instance v3, Ljava/lang/StringBuilder;
13052 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
13054 + const/4 v4, 0x6
13056 + const/4 v5, 0x4
13058 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
13060 + move-result-object v4
13062 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13064 + move-result-object v3
13066 + const-string v4, ""
13068 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13070 + move-result-object v3
13072 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13074 + move-result-object v3
13076 + return-object v3
13078 + :cond_35
13079 + new-instance v2, Ljava/math/BigDecimal;
13081 + neg-double v3, v0
13083 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
13085 + goto :goto_1b
13086 +.end method
13088 +.method private getRandomLon()Ljava/lang/String;
13089 + .registers 10
13091 + const-wide v7, 0x4066800000000000L
13093 + invoke-static {}, Ljava/lang/Math;->random()D
13095 + move-result-wide v3
13097 + const-wide v5, 0x4076800000000000L
13099 + mul-double v0, v3, v5
13101 + cmpl-double v3, v0, v7
13103 + if-lez v3, :cond_35
13105 + new-instance v2, Ljava/math/BigDecimal;
13107 + sub-double v3, v0, v7
13109 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
13111 + :goto_1b
13112 + new-instance v3, Ljava/lang/StringBuilder;
13114 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
13116 + const/4 v4, 0x6
13118 + const/4 v5, 0x4
13120 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
13122 + move-result-object v4
13124 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13126 + move-result-object v3
13128 + const-string v4, ""
13130 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13132 + move-result-object v3
13134 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13136 + move-result-object v3
13138 + return-object v3
13140 + :cond_35
13141 + new-instance v2, Ljava/math/BigDecimal;
13143 + neg-double v3, v0
13145 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
13147 + goto :goto_1b
13148 +.end method
13151 +# virtual methods
13152 +.method public describeContents()I
13153 + .registers 2
13155 + const/4 v0, 0x0
13157 + return v0
13158 +.end method
13160 +.method public getAccountsAuthTokensSetting()B
13161 + .registers 2
13163 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
13165 + return v0
13166 +.end method
13168 +.method public getAccountsSetting()B
13169 + .registers 2
13171 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
13173 + return v0
13174 +.end method
13176 +.method public getAllowedContacts()[I
13177 + .registers 2
13179 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
13181 + return-object v0
13182 +.end method
13184 +.method public getBookmarksSetting()B
13185 + .registers 2
13187 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
13189 + return v0
13190 +.end method
13192 +.method public getCalendarSetting()B
13193 + .registers 2
13195 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
13197 + return v0
13198 +.end method
13200 +.method public getCallLogSetting()B
13201 + .registers 2
13203 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
13205 + return v0
13206 +.end method
13208 +.method public getContactsSetting()B
13209 + .registers 2
13211 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
13213 + return v0
13214 +.end method
13216 +.method public getDeviceId()Ljava/lang/String;
13217 + .registers 6
13219 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
13221 + const/4 v3, 0x1
13223 + if-ne v2, v3, :cond_8
13225 + const-string v2, ""
13227 + :goto_7
13228 + return-object v2
13230 + :cond_8
13231 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
13233 + const/4 v3, 0x3
13235 + if-ne v2, v3, :cond_35
13237 + new-instance v0, Ljava/util/Random;
13239 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
13241 + new-instance v2, Ljava/lang/StringBuilder;
13243 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13245 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
13247 + move-result-wide v3
13249 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
13251 + move-result-wide v3
13253 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
13255 + move-result-object v2
13257 + const-string v3, ""
13259 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13261 + move-result-object v2
13263 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13265 + move-result-object v1
13267 + const/4 v2, 0x0
13269 + const/16 v3, 0xf
13271 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
13273 + move-result-object v2
13275 + goto :goto_7
13277 + :cond_35
13278 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
13280 + goto :goto_7
13281 +.end method
13283 +.method public getDeviceIdSetting()B
13284 + .registers 2
13286 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
13288 + return v0
13289 +.end method
13291 +.method public getIncomingCallsSetting()B
13292 + .registers 2
13294 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
13296 + return v0
13297 +.end method
13299 +.method public getIntentBootCompletedSetting()B
13300 + .registers 2
13302 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
13304 + return v0
13305 +.end method
13307 +.method public getLine1Number()Ljava/lang/String;
13308 + .registers 6
13310 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
13312 + const/4 v3, 0x1
13314 + if-ne v2, v3, :cond_8
13316 + const-string v2, ""
13318 + :goto_7
13319 + return-object v2
13321 + :cond_8
13322 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
13324 + const/4 v3, 0x3
13326 + if-ne v2, v3, :cond_3b
13328 + new-instance v0, Ljava/util/Random;
13330 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
13332 + new-instance v2, Ljava/lang/StringBuilder;
13334 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13336 + const-string v3, "+"
13338 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13340 + move-result-object v2
13342 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
13344 + move-result-wide v3
13346 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
13348 + move-result-wide v3
13350 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
13352 + move-result-object v2
13354 + const-string v3, ""
13356 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13358 + move-result-object v2
13360 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13362 + move-result-object v1
13364 + const/4 v2, 0x0
13366 + const/16 v3, 0xd
13368 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
13370 + move-result-object v2
13372 + goto :goto_7
13374 + :cond_3b
13375 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
13377 + goto :goto_7
13378 +.end method
13380 +.method public getLine1NumberSetting()B
13381 + .registers 2
13383 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
13385 + return v0
13386 +.end method
13388 +.method public getLocationGpsLat()Ljava/lang/String;
13389 + .registers 3
13391 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
13393 + const/4 v1, 0x1
13395 + if-ne v0, v1, :cond_8
13397 + const-string v0, ""
13399 + :goto_7
13400 + return-object v0
13402 + :cond_8
13403 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
13405 + const/4 v1, 0x3
13407 + if-ne v0, v1, :cond_12
13409 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
13411 + move-result-object v0
13413 + goto :goto_7
13415 + :cond_12
13416 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
13418 + goto :goto_7
13419 +.end method
13421 +.method public getLocationGpsLon()Ljava/lang/String;
13422 + .registers 3
13424 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
13426 + const/4 v1, 0x1
13428 + if-ne v0, v1, :cond_8
13430 + const-string v0, ""
13432 + :goto_7
13433 + return-object v0
13435 + :cond_8
13436 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
13438 + const/4 v1, 0x3
13440 + if-ne v0, v1, :cond_12
13442 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
13444 + move-result-object v0
13446 + goto :goto_7
13448 + :cond_12
13449 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
13451 + goto :goto_7
13452 +.end method
13454 +.method public getLocationGpsSetting()B
13455 + .registers 2
13457 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
13459 + return v0
13460 +.end method
13462 +.method public getLocationNetworkLat()Ljava/lang/String;
13463 + .registers 3
13465 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
13467 + const/4 v1, 0x1
13469 + if-ne v0, v1, :cond_8
13471 + const-string v0, ""
13473 + :goto_7
13474 + return-object v0
13476 + :cond_8
13477 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
13479 + const/4 v1, 0x3
13481 + if-ne v0, v1, :cond_12
13483 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
13485 + move-result-object v0
13487 + goto :goto_7
13489 + :cond_12
13490 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
13492 + goto :goto_7
13493 +.end method
13495 +.method public getLocationNetworkLon()Ljava/lang/String;
13496 + .registers 3
13498 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
13500 + const/4 v1, 0x1
13502 + if-ne v0, v1, :cond_8
13504 + const-string v0, ""
13506 + :goto_7
13507 + return-object v0
13509 + :cond_8
13510 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
13512 + const/4 v1, 0x3
13514 + if-ne v0, v1, :cond_12
13516 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
13518 + move-result-object v0
13520 + goto :goto_7
13522 + :cond_12
13523 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
13525 + goto :goto_7
13526 +.end method
13528 +.method public getLocationNetworkSetting()B
13529 + .registers 2
13531 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
13533 + return v0
13534 +.end method
13536 +.method public getMmsSetting()B
13537 + .registers 2
13539 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
13541 + return v0
13542 +.end method
13544 +.method public getNetworkInfoSetting()B
13545 + .registers 2
13547 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
13549 + return v0
13550 +.end method
13552 +.method public getNotificationSetting()B
13553 + .registers 2
13555 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
13557 + return v0
13558 +.end method
13560 +.method public getOutgoingCallsSetting()B
13561 + .registers 2
13563 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
13565 + return v0
13566 +.end method
13568 +.method public getPackageName()Ljava/lang/String;
13569 + .registers 2
13571 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
13573 + return-object v0
13574 +.end method
13576 +.method public getSimInfoSetting()B
13577 + .registers 2
13579 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
13581 + return v0
13582 +.end method
13584 +.method public getSimSerialNumber()Ljava/lang/String;
13585 + .registers 5
13587 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
13589 + const/4 v2, 0x1
13591 + if-ne v1, v2, :cond_8
13593 + const-string v1, ""
13595 + :goto_7
13596 + return-object v1
13598 + :cond_8
13599 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
13601 + const/4 v2, 0x3
13603 + if-ne v1, v2, :cond_2e
13605 + new-instance v0, Ljava/util/Random;
13607 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
13609 + new-instance v1, Ljava/lang/StringBuilder;
13611 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13613 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
13615 + move-result-wide v2
13617 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
13619 + move-result-wide v2
13621 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
13623 + move-result-object v1
13625 + const-string v2, ""
13627 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13629 + move-result-object v1
13631 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13633 + move-result-object v1
13635 + goto :goto_7
13637 + :cond_2e
13638 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
13640 + goto :goto_7
13641 +.end method
13643 +.method public getSimSerialNumberSetting()B
13644 + .registers 2
13646 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
13648 + return v0
13649 +.end method
13651 +.method public getSmsSetting()B
13652 + .registers 2
13654 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
13656 + return v0
13657 +.end method
13659 +.method public getSubscriberId()Ljava/lang/String;
13660 + .registers 6
13662 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
13664 + const/4 v3, 0x1
13666 + if-ne v2, v3, :cond_8
13668 + const-string v2, ""
13670 + :goto_7
13671 + return-object v2
13673 + :cond_8
13674 + iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
13676 + const/4 v3, 0x3
13678 + if-ne v2, v3, :cond_35
13680 + new-instance v0, Ljava/util/Random;
13682 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
13684 + new-instance v2, Ljava/lang/StringBuilder;
13686 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13688 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
13690 + move-result-wide v3
13692 + invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J
13694 + move-result-wide v3
13696 + invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
13698 + move-result-object v2
13700 + const-string v3, ""
13702 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13704 + move-result-object v2
13706 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13708 + move-result-object v1
13710 + const/4 v2, 0x0
13712 + const/16 v3, 0xf
13714 + invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
13716 + move-result-object v2
13718 + goto :goto_7
13720 + :cond_35
13721 + iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
13723 + goto :goto_7
13724 +.end method
13726 +.method public getSubscriberIdSetting()B
13727 + .registers 2
13729 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
13731 + return v0
13732 +.end method
13734 +.method public getSystemLogsSetting()B
13735 + .registers 2
13737 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
13739 + return v0
13740 +.end method
13742 +.method public getUid()I
13743 + .registers 2
13745 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
13747 + return v0
13748 +.end method
13750 +.method public get_id()Ljava/lang/Integer;
13751 + .registers 2
13753 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
13755 + return-object v0
13756 +.end method
13758 +.method public setAccountsAuthTokensSetting(B)V
13759 + .registers 2
13761 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
13763 + return-void
13764 +.end method
13766 +.method public setAccountsSetting(B)V
13767 + .registers 2
13769 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
13771 + return-void
13772 +.end method
13774 +.method public setAllowedContacts([I)V
13775 + .registers 2
13777 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
13779 + return-void
13780 +.end method
13782 +.method public setBookmarksSetting(B)V
13783 + .registers 2
13785 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
13787 + return-void
13788 +.end method
13790 +.method public setCalendarSetting(B)V
13791 + .registers 2
13793 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
13795 + return-void
13796 +.end method
13798 +.method public setCallLogSetting(B)V
13799 + .registers 2
13801 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
13803 + return-void
13804 +.end method
13806 +.method public setContactsSetting(B)V
13807 + .registers 2
13809 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
13811 + return-void
13812 +.end method
13814 +.method public setDeviceId(Ljava/lang/String;)V
13815 + .registers 2
13817 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
13819 + return-void
13820 +.end method
13822 +.method public setDeviceIdSetting(B)V
13823 + .registers 2
13825 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
13827 + return-void
13828 +.end method
13830 +.method public setIncomingCallsSetting(B)V
13831 + .registers 2
13833 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
13835 + return-void
13836 +.end method
13838 +.method public setIntentBootCompletedSetting(B)V
13839 + .registers 2
13841 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
13843 + return-void
13844 +.end method
13846 +.method public setLine1Number(Ljava/lang/String;)V
13847 + .registers 2
13849 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
13851 + return-void
13852 +.end method
13854 +.method public setLine1NumberSetting(B)V
13855 + .registers 2
13857 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
13859 + return-void
13860 +.end method
13862 +.method public setLocationGpsLat(Ljava/lang/String;)V
13863 + .registers 2
13865 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
13867 + return-void
13868 +.end method
13870 +.method public setLocationGpsLon(Ljava/lang/String;)V
13871 + .registers 2
13873 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
13875 + return-void
13876 +.end method
13878 +.method public setLocationGpsSetting(B)V
13879 + .registers 2
13881 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
13883 + return-void
13884 +.end method
13886 +.method public setLocationNetworkLat(Ljava/lang/String;)V
13887 + .registers 2
13889 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
13891 + return-void
13892 +.end method
13894 +.method public setLocationNetworkLon(Ljava/lang/String;)V
13895 + .registers 2
13897 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
13899 + return-void
13900 +.end method
13902 +.method public setLocationNetworkSetting(B)V
13903 + .registers 2
13905 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
13907 + return-void
13908 +.end method
13910 +.method public setMmsSetting(B)V
13911 + .registers 2
13913 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
13915 + return-void
13916 +.end method
13918 +.method public setNetworkInfoSetting(B)V
13919 + .registers 2
13921 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
13923 + return-void
13924 +.end method
13926 +.method public setNotificationSetting(B)V
13927 + .registers 2
13929 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
13931 + return-void
13932 +.end method
13934 +.method public setOutgoingCallsSetting(B)V
13935 + .registers 2
13937 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
13939 + return-void
13940 +.end method
13942 +.method public setPackageName(Ljava/lang/String;)V
13943 + .registers 2
13945 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
13947 + return-void
13948 +.end method
13950 +.method public setSimInfoSetting(B)V
13951 + .registers 2
13953 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
13955 + return-void
13956 +.end method
13958 +.method public setSimSerialNumber(Ljava/lang/String;)V
13959 + .registers 2
13961 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
13963 + return-void
13964 +.end method
13966 +.method public setSimSerialNumberSetting(B)V
13967 + .registers 2
13969 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
13971 + return-void
13972 +.end method
13974 +.method public setSmsSetting(B)V
13975 + .registers 2
13977 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
13979 + return-void
13980 +.end method
13982 +.method public setSubscriberId(Ljava/lang/String;)V
13983 + .registers 2
13985 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
13987 + return-void
13988 +.end method
13990 +.method public setSubscriberIdSetting(B)V
13991 + .registers 2
13993 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
13995 + return-void
13996 +.end method
13998 +.method public setSystemLogsSetting(B)V
13999 + .registers 2
14001 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
14003 + return-void
14004 +.end method
14006 +.method public setUid(I)V
14007 + .registers 2
14009 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
14011 + return-void
14012 +.end method
14014 +.method public toString()Ljava/lang/String;
14015 + .registers 3
14017 + new-instance v0, Ljava/lang/StringBuilder;
14019 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
14021 + const-string v1, "PrivacySettings [_id="
14023 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14025 + move-result-object v0
14027 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
14029 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14031 + move-result-object v0
14033 + const-string v1, ", accountsAuthTokensSetting="
14035 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14037 + move-result-object v0
14039 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
14041 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14043 + move-result-object v0
14045 + const-string v1, ", accountsSetting="
14047 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14049 + move-result-object v0
14051 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
14053 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14055 + move-result-object v0
14057 + const-string v1, ", bookmarksSetting="
14059 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14061 + move-result-object v0
14063 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
14065 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14067 + move-result-object v0
14069 + const-string v1, ", calendarSetting="
14071 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14073 + move-result-object v0
14075 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
14077 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14079 + move-result-object v0
14081 + const-string v1, ", callLogSetting="
14083 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14085 + move-result-object v0
14087 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
14089 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14091 + move-result-object v0
14093 + const-string v1, ", contactsSetting="
14095 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14097 + move-result-object v0
14099 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
14101 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14103 + move-result-object v0
14105 + const-string v1, ", deviceId="
14107 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14109 + move-result-object v0
14111 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
14113 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14115 + move-result-object v0
14117 + const-string v1, ", deviceIdSetting="
14119 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14121 + move-result-object v0
14123 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
14125 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14127 + move-result-object v0
14129 + const-string v1, ", incomingCallsSetting="
14131 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14133 + move-result-object v0
14135 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
14137 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14139 + move-result-object v0
14141 + const-string v1, ", intentBootCompletedSetting="
14143 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14145 + move-result-object v0
14147 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
14149 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14151 + move-result-object v0
14153 + const-string v1, ", line1Number="
14155 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14157 + move-result-object v0
14159 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
14161 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14163 + move-result-object v0
14165 + const-string v1, ", line1NumberSetting="
14167 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14169 + move-result-object v0
14171 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
14173 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14175 + move-result-object v0
14177 + const-string v1, ", locationGpsLat="
14179 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14181 + move-result-object v0
14183 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
14185 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14187 + move-result-object v0
14189 + const-string v1, ", locationGpsLon="
14191 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14193 + move-result-object v0
14195 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
14197 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14199 + move-result-object v0
14201 + const-string v1, ", locationGpsSetting="
14203 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14205 + move-result-object v0
14207 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
14209 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14211 + move-result-object v0
14213 + const-string v1, ", locationNetworkLat="
14215 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14217 + move-result-object v0
14219 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
14221 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14223 + move-result-object v0
14225 + const-string v1, ", locationNetworkLon="
14227 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14229 + move-result-object v0
14231 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
14233 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14235 + move-result-object v0
14237 + const-string v1, ", locationNetworkSetting="
14239 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14241 + move-result-object v0
14243 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
14245 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14247 + move-result-object v0
14249 + const-string v1, ", mmsSetting="
14251 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14253 + move-result-object v0
14255 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
14257 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14259 + move-result-object v0
14261 + const-string v1, ", networkInfoSetting="
14263 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14265 + move-result-object v0
14267 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
14269 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14271 + move-result-object v0
14273 + const-string v1, ", notificationSetting="
14275 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14277 + move-result-object v0
14279 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
14281 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14283 + move-result-object v0
14285 + const-string v1, ", outgoingCallsSetting="
14287 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14289 + move-result-object v0
14291 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
14293 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14295 + move-result-object v0
14297 + const-string v1, ", packageName="
14299 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14301 + move-result-object v0
14303 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
14305 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14307 + move-result-object v0
14309 + const-string v1, ", simInfoSetting="
14311 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14313 + move-result-object v0
14315 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
14317 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14319 + move-result-object v0
14321 + const-string v1, ", simSerialNumber="
14323 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14325 + move-result-object v0
14327 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
14329 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14331 + move-result-object v0
14333 + const-string v1, ", simSerialNumberSetting="
14335 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14337 + move-result-object v0
14339 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
14341 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14343 + move-result-object v0
14345 + const-string v1, ", smsSetting="
14347 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14349 + move-result-object v0
14351 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
14353 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14355 + move-result-object v0
14357 + const-string v1, ", subscriberId="
14359 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14361 + move-result-object v0
14363 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
14365 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14367 + move-result-object v0
14369 + const-string v1, ", subscriberIdSetting="
14371 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14373 + move-result-object v0
14375 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
14377 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14379 + move-result-object v0
14381 + const-string v1, ", systemLogsSetting="
14383 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14385 + move-result-object v0
14387 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
14389 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14391 + move-result-object v0
14393 + const-string v1, ", uid="
14395 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14397 + move-result-object v0
14399 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
14401 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
14403 + move-result-object v0
14405 + const-string v1, "]"
14407 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14409 + move-result-object v0
14411 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14413 + move-result-object v0
14415 + return-object v0
14416 +.end method
14418 +.method public writeToParcel(Landroid/os/Parcel;I)V
14419 + .registers 4
14421 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
14423 + if-nez v0, :cond_a9
14425 + const/4 v0, -0x1
14427 + :goto_5
14428 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
14430 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
14432 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
14434 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
14436 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
14438 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
14440 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14442 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
14444 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
14446 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
14448 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14450 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
14452 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
14454 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
14456 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14458 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
14460 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
14462 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
14464 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
14466 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
14468 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14470 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
14472 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
14474 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
14476 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
14478 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
14480 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14482 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
14484 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14486 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
14488 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14490 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
14492 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
14494 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
14496 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14498 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
14500 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
14502 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
14504 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14506 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
14508 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14510 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
14512 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14514 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
14516 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14518 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
14520 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14522 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
14524 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14526 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
14528 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14530 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
14532 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14534 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
14536 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14538 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
14540 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14542 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
14544 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14546 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
14548 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14550 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
14552 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
14554 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
14556 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
14558 + return-void
14560 + :cond_a9
14561 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
14563 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
14565 + move-result v0
14567 + goto/16 :goto_5
14568 +.end method
14569 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
14570 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
14571 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-05-07 17:01:36.101801015 -0500
14572 @@ -0,0 +1,129 @@
14573 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
14574 +.super Ljava/lang/Object;
14575 +.source "PrivacyAccountManager.java"
14577 +# interfaces
14578 +.implements Landroid/accounts/AccountManagerFuture;
14581 +# annotations
14582 +.annotation system Ldalvik/annotation/EnclosingClass;
14583 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
14584 +.end annotation
14586 +.annotation system Ldalvik/annotation/InnerClass;
14587 + accessFlags = 0x2
14588 + name = "PrivacyAccountManagerFuture"
14589 +.end annotation
14591 +.annotation system Ldalvik/annotation/Signature;
14592 + value = {
14593 + "<V:",
14594 + "Ljava/lang/Object;",
14595 + ">",
14596 + "Ljava/lang/Object;",
14597 + "Landroid/accounts/AccountManagerFuture",
14598 + "<TV;>;"
14600 +.end annotation
14603 +# instance fields
14604 +.field private result:Ljava/lang/Object;
14605 + .annotation system Ldalvik/annotation/Signature;
14606 + value = {
14607 + "TV;"
14609 + .end annotation
14610 +.end field
14612 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
14615 +# direct methods
14616 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
14617 + .registers 3
14618 + .annotation system Ldalvik/annotation/Signature;
14619 + value = {
14620 + "(TV;)V"
14622 + .end annotation
14624 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
14626 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
14628 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
14630 + return-void
14631 +.end method
14634 +# virtual methods
14635 +.method public cancel(Z)Z
14636 + .registers 3
14638 + const/4 v0, 0x0
14640 + return v0
14641 +.end method
14643 +.method public getResult()Ljava/lang/Object;
14644 + .registers 2
14645 + .annotation system Ldalvik/annotation/Signature;
14646 + value = {
14647 + "()TV;"
14649 + .end annotation
14651 + .annotation system Ldalvik/annotation/Throws;
14652 + value = {
14653 + Landroid/accounts/OperationCanceledException;,
14654 + Ljava/io/IOException;,
14655 + Landroid/accounts/AuthenticatorException;
14657 + .end annotation
14659 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
14661 + return-object v0
14662 +.end method
14664 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
14665 + .registers 5
14666 + .annotation system Ldalvik/annotation/Signature;
14667 + value = {
14668 + "(J",
14669 + "Ljava/util/concurrent/TimeUnit;",
14670 + ")TV;"
14672 + .end annotation
14674 + .annotation system Ldalvik/annotation/Throws;
14675 + value = {
14676 + Landroid/accounts/OperationCanceledException;,
14677 + Ljava/io/IOException;,
14678 + Landroid/accounts/AuthenticatorException;
14680 + .end annotation
14682 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
14684 + return-object v0
14685 +.end method
14687 +.method public isCancelled()Z
14688 + .registers 2
14690 + const/4 v0, 0x0
14692 + return v0
14693 +.end method
14695 +.method public isDone()Z
14696 + .registers 2
14698 + const/4 v0, 0x1
14700 + return v0
14701 +.end method
14702 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
14703 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
14704 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-05-07 17:01:36.101801015 -0500
14705 @@ -0,0 +1,701 @@
14706 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
14707 +.super Landroid/accounts/AccountManager;
14708 +.source "PrivacyAccountManager.java"
14711 +# annotations
14712 +.annotation system Ldalvik/annotation/MemberClasses;
14713 + value = {
14714 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
14716 +.end annotation
14719 +# static fields
14720 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
14723 +# instance fields
14724 +.field private context:Landroid/content/Context;
14726 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
14729 +# direct methods
14730 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
14731 + .registers 5
14733 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
14735 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
14737 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
14739 + const-string/jumbo v1, "privacy"
14741 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14743 + move-result-object v1
14745 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
14747 + move-result-object v1
14749 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
14751 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14753 + return-void
14754 +.end method
14756 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
14757 + .registers 6
14759 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
14761 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
14763 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
14765 + const-string/jumbo v1, "privacy"
14767 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
14769 + move-result-object v1
14771 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
14773 + move-result-object v1
14775 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
14777 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14779 + return-void
14780 +.end method
14783 +# virtual methods
14784 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
14785 + .registers 12
14786 + .annotation system Ldalvik/annotation/Throws;
14787 + value = {
14788 + Landroid/accounts/OperationCanceledException;,
14789 + Ljava/io/IOException;,
14790 + Landroid/accounts/AuthenticatorException;
14792 + .end annotation
14794 + const/4 v5, 0x0
14796 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
14798 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14800 + move-result-object v1
14802 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14804 + move-result v2
14806 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14808 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14810 + move-result-object v6
14812 + if-eqz v6, :cond_23
14814 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
14816 + move-result v0
14818 + if-eqz v0, :cond_23
14820 + const/4 v7, 0x0
14822 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14824 + const/4 v3, 0x1
14826 + const-string v4, "authTokens"
14828 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14830 + :goto_22
14831 + return-object v7
14833 + :cond_23
14834 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
14836 + move-result-object v7
14838 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14840 + const/4 v3, 0x0
14842 + const-string v4, "authTokens"
14844 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14846 + goto :goto_22
14847 +.end method
14849 +.method public getAccounts()[Landroid/accounts/Account;
14850 + .registers 10
14852 + const/4 v5, 0x0
14854 + const/4 v3, 0x0
14856 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
14858 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14860 + move-result-object v1
14862 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14864 + move-result v2
14866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14868 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14870 + move-result-object v6
14872 + if-eqz v6, :cond_27
14874 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
14876 + move-result v0
14878 + if-eqz v0, :cond_27
14880 + const-string v8, "[empty accounts list]"
14882 + new-array v7, v3, [Landroid/accounts/Account;
14884 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14886 + const/4 v3, 0x1
14888 + const-string v4, "accountsList"
14890 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14892 + :goto_26
14893 + return-object v7
14895 + :cond_27
14896 + const-string v8, "[real value]"
14898 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
14900 + move-result-object v7
14902 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14904 + const-string v4, "accountsList"
14906 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14908 + goto :goto_26
14909 +.end method
14911 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
14912 + .registers 11
14914 + const/4 v5, 0x0
14916 + const/4 v3, 0x0
14918 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
14920 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
14922 + move-result-object v1
14924 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
14926 + move-result v2
14928 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14930 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
14932 + move-result-object v6
14934 + if-eqz v6, :cond_27
14936 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
14938 + move-result v0
14940 + if-eqz v0, :cond_27
14942 + const-string v8, "[empty accounts list]"
14944 + new-array v7, v3, [Landroid/accounts/Account;
14946 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14948 + const/4 v3, 0x1
14950 + const-string v4, "accountsList"
14952 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14954 + :goto_26
14955 + return-object v7
14957 + :cond_27
14958 + const-string v8, "[real value]"
14960 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
14962 + move-result-object v7
14964 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
14966 + const-string v4, "accountsList"
14968 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
14970 + goto :goto_26
14971 +.end method
14973 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
14974 + .registers 14
14975 + .annotation system Ldalvik/annotation/Signature;
14976 + value = {
14977 + "(",
14978 + "Ljava/lang/String;",
14979 + "[",
14980 + "Ljava/lang/String;",
14981 + "Landroid/accounts/AccountManagerCallback",
14982 + "<[",
14983 + "Landroid/accounts/Account;",
14984 + ">;",
14985 + "Landroid/os/Handler;",
14986 + ")",
14987 + "Landroid/accounts/AccountManagerFuture",
14988 + "<[",
14989 + "Landroid/accounts/Account;",
14990 + ">;"
14992 + .end annotation
14994 + const/4 v5, 0x0
14996 + const/4 v3, 0x0
14998 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
15000 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15002 + move-result-object v1
15004 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15006 + move-result v2
15008 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15010 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15012 + move-result-object v6
15014 + if-eqz v6, :cond_2c
15016 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
15018 + move-result v0
15020 + if-eqz v0, :cond_2c
15022 + const-string v8, "[false]"
15024 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
15026 + new-array v0, v3, [Landroid/accounts/Account;
15028 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
15030 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15032 + const/4 v3, 0x1
15034 + const-string v4, "accountsList"
15036 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15038 + :goto_2b
15039 + return-object v7
15041 + :cond_2c
15042 + const-string v8, "[real value]"
15044 + 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;
15046 + move-result-object v7
15048 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15050 + const-string v4, "accountsList"
15052 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15054 + goto :goto_2b
15055 +.end method
15057 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
15058 + .registers 16
15059 + .annotation system Ldalvik/annotation/Signature;
15060 + value = {
15061 + "(",
15062 + "Landroid/accounts/Account;",
15063 + "Ljava/lang/String;",
15064 + "Landroid/os/Bundle;",
15065 + "Landroid/app/Activity;",
15066 + "Landroid/accounts/AccountManagerCallback",
15067 + "<",
15068 + "Landroid/os/Bundle;",
15069 + ">;",
15070 + "Landroid/os/Handler;",
15071 + ")",
15072 + "Landroid/accounts/AccountManagerFuture",
15073 + "<",
15074 + "Landroid/os/Bundle;",
15075 + ">;"
15077 + .end annotation
15079 + const/4 v5, 0x0
15081 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
15083 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15085 + move-result-object v1
15087 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15089 + move-result v2
15091 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15093 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15095 + move-result-object v6
15097 + if-eqz v6, :cond_2e
15099 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
15101 + move-result v0
15103 + if-eqz v0, :cond_2e
15105 + const-string v8, "[empty]"
15107 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
15109 + new-instance v0, Landroid/os/Bundle;
15111 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
15113 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
15115 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15117 + const/4 v3, 0x1
15119 + const-string v4, "authTokens"
15121 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15123 + :goto_2d
15124 + return-object v7
15126 + :cond_2e
15127 + const-string v8, "[real value]"
15129 + 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;
15131 + move-result-object v7
15133 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15135 + const/4 v3, 0x0
15137 + const-string v4, "authTokens"
15139 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15141 + goto :goto_2d
15142 +.end method
15144 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
15145 + .registers 15
15146 + .annotation system Ldalvik/annotation/Signature;
15147 + value = {
15148 + "(",
15149 + "Landroid/accounts/Account;",
15150 + "Ljava/lang/String;",
15151 + "Z",
15152 + "Landroid/accounts/AccountManagerCallback",
15153 + "<",
15154 + "Landroid/os/Bundle;",
15155 + ">;",
15156 + "Landroid/os/Handler;",
15157 + ")",
15158 + "Landroid/accounts/AccountManagerFuture",
15159 + "<",
15160 + "Landroid/os/Bundle;",
15161 + ">;"
15163 + .end annotation
15165 + const/4 v5, 0x0
15167 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
15169 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15171 + move-result-object v1
15173 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15175 + move-result v2
15177 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15179 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15181 + move-result-object v6
15183 + if-eqz v6, :cond_2e
15185 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
15187 + move-result v0
15189 + if-eqz v0, :cond_2e
15191 + const-string v8, "[empty]"
15193 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
15195 + new-instance v0, Landroid/os/Bundle;
15197 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
15199 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
15201 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15203 + const/4 v3, 0x1
15205 + const-string v4, "authTokens"
15207 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15209 + :goto_2d
15210 + return-object v7
15212 + :cond_2e
15213 + const-string v8, "[real value]"
15215 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
15217 + move-result-object v7
15219 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15221 + const/4 v3, 0x0
15223 + const-string v4, "authTokens"
15225 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15227 + goto :goto_2d
15228 +.end method
15230 +.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;
15231 + .registers 18
15232 + .annotation system Ldalvik/annotation/Signature;
15233 + value = {
15234 + "(",
15235 + "Ljava/lang/String;",
15236 + "Ljava/lang/String;",
15237 + "[",
15238 + "Ljava/lang/String;",
15239 + "Landroid/app/Activity;",
15240 + "Landroid/os/Bundle;",
15241 + "Landroid/os/Bundle;",
15242 + "Landroid/accounts/AccountManagerCallback",
15243 + "<",
15244 + "Landroid/os/Bundle;",
15245 + ">;",
15246 + "Landroid/os/Handler;",
15247 + ")",
15248 + "Landroid/accounts/AccountManagerFuture",
15249 + "<",
15250 + "Landroid/os/Bundle;",
15251 + ">;"
15253 + .end annotation
15255 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
15257 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15259 + move-result-object v1
15261 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15263 + move-result v2
15265 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15267 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15269 + move-result-object v6
15271 + if-eqz v6, :cond_2e
15273 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
15275 + move-result v0
15277 + if-eqz v0, :cond_2e
15279 + const-string v8, "[empty]"
15281 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
15283 + new-instance v0, Landroid/os/Bundle;
15285 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
15287 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
15289 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15291 + const/4 v3, 0x1
15293 + const-string v4, "authTokens"
15295 + const/4 v5, 0x0
15297 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15299 + :goto_2d
15300 + return-object v7
15302 + :cond_2e
15303 + const-string v8, "[real value]"
15305 + 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;
15307 + move-result-object v7
15309 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15311 + const/4 v3, 0x0
15313 + const-string v4, "authTokens"
15315 + const/4 v5, 0x0
15317 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15319 + goto :goto_2d
15320 +.end method
15322 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
15323 + .registers 14
15324 + .annotation system Ldalvik/annotation/Signature;
15325 + value = {
15326 + "(",
15327 + "Landroid/accounts/Account;",
15328 + "[",
15329 + "Ljava/lang/String;",
15330 + "Landroid/accounts/AccountManagerCallback",
15331 + "<",
15332 + "Ljava/lang/Boolean;",
15333 + ">;",
15334 + "Landroid/os/Handler;",
15335 + ")",
15336 + "Landroid/accounts/AccountManagerFuture",
15337 + "<",
15338 + "Ljava/lang/Boolean;",
15339 + ">;"
15341 + .end annotation
15343 + const/4 v5, 0x0
15345 + const/4 v3, 0x0
15347 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
15349 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15351 + move-result-object v1
15353 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15355 + move-result v2
15357 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15359 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15361 + move-result-object v6
15363 + if-eqz v6, :cond_2e
15365 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
15367 + move-result v0
15369 + if-eqz v0, :cond_2e
15371 + const-string v8, "[false]"
15373 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
15375 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
15377 + move-result-object v0
15379 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
15381 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15383 + const/4 v3, 0x1
15385 + const-string v4, "accountsList"
15387 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15389 + :goto_2d
15390 + return-object v7
15392 + :cond_2e
15393 + const-string v8, "[real value]"
15395 + 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;
15397 + move-result-object v7
15399 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15401 + const-string v4, "accountsList"
15403 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15405 + goto :goto_2d
15406 +.end method
15407 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
15408 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
15409 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-05-07 17:01:36.101801015 -0500
15410 @@ -0,0 +1,1087 @@
15411 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
15412 +.super Ljava/lang/Object;
15413 +.source "PrivacyActivityManagerService.java"
15416 +# static fields
15417 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
15419 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
15421 +.field private static tmpIn:Landroid/content/Intent;
15423 +.field private static tmpInHash:J
15425 +.field private static tmpInReceivers:I
15427 +.field private static tmpMms:Landroid/content/Intent;
15429 +.field private static tmpMmsHash:J
15431 +.field private static tmpMmsReceivers:I
15433 +.field private static tmpOut:Landroid/content/Intent;
15435 +.field private static tmpOutHash:J
15437 +.field private static tmpOutReceivers:I
15439 +.field private static tmpPackageAddedHash:J
15441 +.field private static tmpSms:Landroid/content/Intent;
15443 +.field private static tmpSmsHash:J
15445 +.field private static tmpSmsReceivers:I
15448 +# direct methods
15449 +.method static constructor <clinit>()V
15450 + .registers 3
15452 + const/4 v2, 0x0
15454 + const-wide/16 v0, 0x0
15456 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
15458 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
15460 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
15462 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
15464 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
15466 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
15468 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
15470 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
15472 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
15474 + return-void
15475 +.end method
15477 +.method public constructor <init>()V
15478 + .registers 1
15480 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
15482 + return-void
15483 +.end method
15485 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
15486 + .registers 22
15488 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15490 + if-nez v2, :cond_11
15492 + const-string/jumbo v2, "privacy"
15494 + move-object/from16 v0, p3
15496 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
15498 + move-result-object v2
15500 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
15502 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15504 + :cond_11
15505 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
15507 + move-result-object v9
15509 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
15511 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15513 + move-result v2
15515 + if-eqz v2, :cond_ad
15517 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15519 + move-object/from16 v0, p0
15521 + move/from16 v1, p1
15523 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15525 + move-result-object v8
15527 + const-string v2, "android.intent.extra.PHONE_NUMBER"
15529 + move-object/from16 v0, p2
15531 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
15533 + move-result-object v16
15535 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
15537 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
15539 + move-result-wide v4
15541 + cmp-long v2, v2, v4
15543 + if-eqz v2, :cond_49
15545 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
15547 + move-result-object v2
15549 + check-cast v2, Landroid/content/Intent;
15551 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
15553 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
15555 + move-result-wide v2
15557 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
15559 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
15561 + :cond_49
15562 + if-eqz v8, :cond_76
15564 + :try_start_4b
15565 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
15567 + move-result v2
15569 + if-eqz v2, :cond_76
15571 + const-string v16, ""
15573 + const-string v2, "android.intent.extra.PHONE_NUMBER"
15575 + move-object/from16 v0, p2
15577 + move-object/from16 v1, v16
15579 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
15581 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15583 + const/4 v5, 0x1
15585 + const-string/jumbo v6, "outgoingCall"
15587 + const/4 v7, 0x0
15589 + move-object/from16 v3, p0
15591 + move/from16 v4, p1
15593 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15594 + :try_end_6a
15595 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0
15597 + :cond_6a
15598 + :goto_6a
15599 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
15601 + const/4 v3, 0x1
15603 + if-le v2, v3, :cond_a9
15605 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
15607 + add-int/lit8 v2, v2, -0x1
15609 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
15611 + :cond_75
15612 + :goto_75
15613 + return-void
15615 + :cond_76
15616 + :try_start_76
15617 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
15619 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
15621 + move-result-wide v4
15623 + cmp-long v2, v2, v4
15625 + if-nez v2, :cond_6a
15627 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
15629 + const-string v3, "android.intent.extra.PHONE_NUMBER"
15631 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
15633 + move-result-object v16
15635 + const-string v2, "android.intent.extra.PHONE_NUMBER"
15637 + move-object/from16 v0, p2
15639 + move-object/from16 v1, v16
15641 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
15643 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15645 + const/4 v5, 0x0
15647 + const-string/jumbo v6, "outgoingCall"
15649 + const/4 v7, 0x0
15651 + move-object/from16 v3, p0
15653 + move/from16 v4, p1
15655 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15656 + :try_end_9f
15657 + .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0
15659 + goto :goto_6a
15661 + :catch_a0
15662 + move-exception v13
15664 + const-string v2, "PrivacyActivityManagerService"
15666 + const-string v3, "failed to enforce intent broadcast permission"
15668 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15670 + goto :goto_6a
15672 + :cond_a9
15673 + const/4 v2, 0x0
15675 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
15677 + goto :goto_75
15679 + :cond_ad
15680 + const-string v2, "android.intent.action.PHONE_STATE"
15682 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15684 + move-result v2
15686 + if-eqz v2, :cond_14d
15688 + const-string v2, "incoming_number"
15690 + move-object/from16 v0, p2
15692 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
15694 + move-result-object v16
15696 + if-eqz v16, :cond_75
15698 + invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z
15700 + move-result v2
15702 + if-nez v2, :cond_75
15704 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15706 + move-object/from16 v0, p0
15708 + move/from16 v1, p1
15710 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15712 + move-result-object v8
15714 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
15716 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
15718 + move-result-wide v4
15720 + cmp-long v2, v2, v4
15722 + if-eqz v2, :cond_e9
15724 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
15726 + move-result-object v2
15728 + check-cast v2, Landroid/content/Intent;
15730 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
15732 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
15734 + move-result-wide v2
15736 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
15738 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
15740 + :cond_e9
15741 + if-eqz v8, :cond_116
15743 + :try_start_eb
15744 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
15746 + move-result v2
15748 + if-eqz v2, :cond_116
15750 + const-string v16, ""
15752 + const-string v2, "incoming_number"
15754 + move-object/from16 v0, p2
15756 + move-object/from16 v1, v16
15758 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
15760 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15762 + const/4 v5, 0x1
15764 + const-string v6, "incomingCall"
15766 + const/4 v7, 0x0
15768 + move-object/from16 v3, p0
15770 + move/from16 v4, p1
15772 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15773 + :try_end_109
15774 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f
15776 + :cond_109
15777 + :goto_109
15778 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
15780 + const/4 v3, 0x1
15782 + if-le v2, v3, :cond_148
15784 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
15786 + add-int/lit8 v2, v2, -0x1
15788 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
15790 + goto/16 :goto_75
15792 + :cond_116
15793 + :try_start_116
15794 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
15796 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
15798 + move-result-wide v4
15800 + cmp-long v2, v2, v4
15802 + if-nez v2, :cond_109
15804 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
15806 + const-string v3, "incoming_number"
15808 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
15810 + move-result-object v16
15812 + const-string v2, "incoming_number"
15814 + move-object/from16 v0, p2
15816 + move-object/from16 v1, v16
15818 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
15820 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15822 + const/4 v5, 0x0
15824 + const-string v6, "incomingCall"
15826 + const/4 v7, 0x0
15828 + move-object/from16 v3, p0
15830 + move/from16 v4, p1
15832 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15833 + :try_end_13e
15834 + .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f
15836 + goto :goto_109
15838 + :catch_13f
15839 + move-exception v13
15841 + const-string v2, "PrivacyActivityManagerService"
15843 + const-string v3, "failed to enforce intent broadcast permission"
15845 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15847 + goto :goto_109
15849 + :cond_148
15850 + const/4 v2, 0x0
15852 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
15854 + goto/16 :goto_75
15856 + :cond_14d
15857 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
15859 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15861 + move-result v2
15863 + if-eqz v2, :cond_222
15865 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15867 + move-object/from16 v0, p0
15869 + move/from16 v1, p1
15871 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15873 + move-result-object v8
15875 + const-string v16, "[real]"
15877 + const-string/jumbo v2, "pdus"
15879 + move-object/from16 v0, p2
15881 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
15883 + move-result-object v2
15885 + check-cast v2, [Ljava/lang/Object;
15887 + move-object v15, v2
15889 + check-cast v15, [Ljava/lang/Object;
15891 + if-eqz v15, :cond_1cd
15893 + const/4 v2, 0x0
15895 + aget-object v2, v15, v2
15897 + check-cast v2, [B
15899 + check-cast v2, [B
15901 + move-object v12, v2
15903 + :goto_179
15904 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
15906 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
15908 + move-result-wide v4
15910 + cmp-long v2, v2, v4
15912 + if-eqz v2, :cond_193
15914 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
15916 + move-result-object v2
15918 + check-cast v2, Landroid/content/Intent;
15920 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
15922 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
15924 + move-result-wide v2
15926 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
15928 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
15930 + :cond_193
15931 + if-eqz v8, :cond_1cf
15933 + :try_start_195
15934 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
15936 + move-result v2
15938 + if-eqz v2, :cond_1cf
15940 + const-string v16, "[empty]"
15942 + const/4 v2, 0x1
15944 + new-array v14, v2, [Ljava/lang/Object;
15946 + const/4 v2, 0x0
15948 + const/16 v3, 0x10
15950 + new-array v3, v3, [B
15952 + fill-array-data v3, :array_350
15954 + aput-object v3, v14, v2
15956 + const-string/jumbo v2, "pdus"
15958 + move-object/from16 v0, p2
15960 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
15962 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
15964 + const/4 v5, 0x1
15966 + const-string/jumbo v6, "sms"
15968 + const/4 v7, 0x0
15970 + move-object/from16 v3, p0
15972 + move/from16 v4, p1
15974 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
15975 + :try_end_1c0
15976 + .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212
15978 + :cond_1c0
15979 + :goto_1c0
15980 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
15982 + const/4 v3, 0x1
15984 + if-le v2, v3, :cond_21d
15986 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
15988 + add-int/lit8 v2, v2, -0x1
15990 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
15992 + goto/16 :goto_75
15994 + :cond_1cd
15995 + const/4 v12, 0x0
15997 + goto :goto_179
15999 + :cond_1cf
16000 + :try_start_1cf
16001 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
16003 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
16005 + move-result-wide v4
16007 + cmp-long v2, v2, v4
16009 + if-nez v2, :cond_1c0
16011 + const-string/jumbo v2, "pdus"
16013 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
16015 + const-string/jumbo v4, "pdus"
16017 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
16019 + move-result-object v3
16021 + move-object/from16 v0, p2
16023 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
16025 + const-string/jumbo v2, "pdus"
16027 + move-object/from16 v0, p2
16029 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
16031 + move-result-object v2
16033 + check-cast v2, [Ljava/lang/Object;
16035 + move-object v0, v2
16037 + check-cast v0, [Ljava/lang/Object;
16039 + move-object v15, v0
16041 + if-eqz v15, :cond_21b
16043 + const/4 v2, 0x0
16045 + aget-object v2, v15, v2
16047 + check-cast v2, [B
16049 + check-cast v2, [B
16051 + move-object v12, v2
16053 + :goto_203
16054 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16056 + const/4 v5, 0x0
16058 + const-string/jumbo v6, "sms"
16060 + const/4 v7, 0x0
16062 + move-object/from16 v3, p0
16064 + move/from16 v4, p1
16066 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16067 + :try_end_211
16068 + .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212
16070 + goto :goto_1c0
16072 + :catch_212
16073 + move-exception v13
16075 + const-string v2, "PrivacyActivityManagerService"
16077 + const-string v3, "failed to enforce intent broadcast permission"
16079 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16081 + goto :goto_1c0
16083 + :cond_21b
16084 + const/4 v12, 0x0
16086 + goto :goto_203
16088 + :cond_21d
16089 + const/4 v2, 0x0
16091 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
16093 + goto/16 :goto_75
16095 + :cond_222
16096 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
16098 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16100 + move-result v2
16102 + if-nez v2, :cond_232
16104 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
16106 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16108 + move-result v2
16110 + if-eqz v2, :cond_2ff
16112 + :cond_232
16113 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16115 + move-object/from16 v0, p0
16117 + move/from16 v1, p1
16119 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16121 + move-result-object v8
16123 + const-string v16, "[real]"
16125 + const-string/jumbo v2, "pdus"
16127 + move-object/from16 v0, p2
16129 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
16131 + move-result-object v2
16133 + check-cast v2, [Ljava/lang/Object;
16135 + move-object v15, v2
16137 + check-cast v15, [Ljava/lang/Object;
16139 + if-eqz v15, :cond_2aa
16141 + const/4 v2, 0x0
16143 + aget-object v2, v15, v2
16145 + check-cast v2, [B
16147 + check-cast v2, [B
16149 + move-object v12, v2
16151 + :goto_256
16152 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
16154 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
16156 + move-result-wide v4
16158 + cmp-long v2, v2, v4
16160 + if-eqz v2, :cond_270
16162 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
16164 + move-result-object v2
16166 + check-cast v2, Landroid/content/Intent;
16168 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
16170 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
16172 + move-result-wide v2
16174 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
16176 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
16178 + :cond_270
16179 + if-eqz v8, :cond_2ac
16181 + :try_start_272
16182 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
16184 + move-result v2
16186 + if-eqz v2, :cond_2ac
16188 + const-string v16, "[empty]"
16190 + const/4 v2, 0x1
16192 + new-array v14, v2, [Ljava/lang/Object;
16194 + const/4 v2, 0x0
16196 + const/16 v3, 0x10
16198 + new-array v3, v3, [B
16200 + fill-array-data v3, :array_35c
16202 + aput-object v3, v14, v2
16204 + const-string/jumbo v2, "pdus"
16206 + move-object/from16 v0, p2
16208 + invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
16210 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16212 + const/4 v5, 0x1
16214 + const-string/jumbo v6, "mms"
16216 + const/4 v7, 0x0
16218 + move-object/from16 v3, p0
16220 + move/from16 v4, p1
16222 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16223 + :try_end_29d
16224 + .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef
16226 + :cond_29d
16227 + :goto_29d
16228 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
16230 + const/4 v3, 0x1
16232 + if-le v2, v3, :cond_2fa
16234 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
16236 + add-int/lit8 v2, v2, -0x1
16238 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
16240 + goto/16 :goto_75
16242 + :cond_2aa
16243 + const/4 v12, 0x0
16245 + goto :goto_256
16247 + :cond_2ac
16248 + :try_start_2ac
16249 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
16251 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
16253 + move-result-wide v4
16255 + cmp-long v2, v2, v4
16257 + if-nez v2, :cond_29d
16259 + const-string/jumbo v2, "pdus"
16261 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
16263 + const-string/jumbo v4, "pdus"
16265 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
16267 + move-result-object v3
16269 + move-object/from16 v0, p2
16271 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
16273 + const-string/jumbo v2, "pdus"
16275 + move-object/from16 v0, p2
16277 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
16279 + move-result-object v2
16281 + check-cast v2, [Ljava/lang/Object;
16283 + move-object v0, v2
16285 + check-cast v0, [Ljava/lang/Object;
16287 + move-object v15, v0
16289 + if-eqz v15, :cond_2f8
16291 + const/4 v2, 0x0
16293 + aget-object v2, v15, v2
16295 + check-cast v2, [B
16297 + check-cast v2, [B
16299 + move-object v12, v2
16301 + :goto_2e0
16302 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16304 + const/4 v5, 0x0
16306 + const-string/jumbo v6, "mms"
16308 + const/4 v7, 0x0
16310 + move-object/from16 v3, p0
16312 + move/from16 v4, p1
16314 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16315 + :try_end_2ee
16316 + .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef
16318 + goto :goto_29d
16320 + :catch_2ef
16321 + move-exception v13
16323 + const-string v2, "PrivacyActivityManagerService"
16325 + const-string v3, "failed to enforce intent broadcast permission"
16327 + invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16329 + goto :goto_29d
16331 + :cond_2f8
16332 + const/4 v12, 0x0
16334 + goto :goto_2e0
16336 + :cond_2fa
16337 + const/4 v2, 0x0
16339 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
16341 + goto/16 :goto_75
16343 + :cond_2ff
16344 + const-string v2, "android.intent.action.BOOT_COMPLETED"
16346 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16348 + move-result v2
16350 + if-eqz v2, :cond_30e
16352 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16354 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
16356 + goto/16 :goto_75
16358 + :cond_30e
16359 + const-string v2, "android.intent.action.PACKAGE_ADDED"
16361 + invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16363 + move-result v2
16365 + if-eqz v2, :cond_75
16367 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
16369 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
16371 + move-result-wide v4
16373 + cmp-long v2, v2, v4
16375 + if-eqz v2, :cond_75
16377 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
16379 + move-result-wide v2
16381 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
16383 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
16385 + move-result-object v2
16387 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
16389 + move-result-object v10
16391 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
16393 + move-result-object v2
16395 + const-string v3, "android.intent.extra.UID"
16397 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
16399 + move-result v11
16401 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16403 + invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16405 + move-result-object v8
16407 + if-eqz v8, :cond_75
16409 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
16411 + move-result v2
16413 + if-eq v2, v11, :cond_75
16415 + invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V
16417 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16419 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
16421 + goto/16 :goto_75
16423 + :array_350
16424 + .array-data 0x1
16425 + 0x0t
16426 + 0x20t
16427 + 0x1t
16428 + 0x81t
16429 + 0xf0t
16430 + 0x0t
16431 + 0x0t
16432 + 0x11t
16433 + 0x90t
16434 + 0x1t
16435 + 0x30t
16436 + 0x22t
16437 + 0x22t
16438 + 0x80t
16439 + 0x1t
16440 + 0x20t
16441 + .end array-data
16443 + :array_35c
16444 + .array-data 0x1
16445 + 0x0t
16446 + 0x20t
16447 + 0x1t
16448 + 0x81t
16449 + 0xf0t
16450 + 0x0t
16451 + 0x0t
16452 + 0x11t
16453 + 0x90t
16454 + 0x1t
16455 + 0x30t
16456 + 0x22t
16457 + 0x22t
16458 + 0x80t
16459 + 0x1t
16460 + 0x20t
16461 + .end array-data
16462 +.end method
16464 +.method private static hashCode(Landroid/content/Intent;)J
16465 + .registers 7
16467 + const-wide/16 v3, 0x0
16469 + const-string/jumbo v2, "privacy_hash"
16471 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
16473 + move-result-wide v0
16475 + cmp-long v2, v0, v3
16477 + if-nez v2, :cond_1e
16479 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
16481 + move-result v2
16483 + int-to-long v2, v2
16485 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
16487 + move-result-wide v4
16489 + add-long v0, v2, v4
16491 + const-string/jumbo v2, "privacy_hash"
16493 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
16495 + :cond_1e
16496 + return-wide v0
16497 +.end method
16498 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
16499 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
16500 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-05-07 17:01:36.105801029 -0500
16501 @@ -0,0 +1,624 @@
16502 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
16503 +.super Ljava/lang/Object;
16504 +.source "PrivacyContentResolver.java"
16507 +# static fields
16508 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
16510 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
16513 +# direct methods
16514 +.method public constructor <init>()V
16515 + .registers 1
16517 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
16519 + return-void
16520 +.end method
16522 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
16523 + .registers 8
16525 + new-instance v4, Ljava/lang/StringBuffer;
16527 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
16529 + if-eqz p0, :cond_2d
16531 + move-object v0, p0
16533 + array-length v3, v0
16535 + const/4 v2, 0x0
16537 + :goto_a
16538 + if-ge v2, v3, :cond_30
16540 + aget-object v1, v0, v2
16542 + new-instance v5, Ljava/lang/StringBuilder;
16544 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16546 + const-string v6, "["
16548 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16550 + move-result-object v5
16552 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16554 + move-result-object v5
16556 + const-string v6, "]"
16558 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16560 + move-result-object v5
16562 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16564 + move-result-object v5
16566 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
16568 + add-int/lit8 v2, v2, 0x1
16570 + goto :goto_a
16572 + :cond_2d
16573 + const-string v5, ""
16575 + :goto_2f
16576 + return-object v5
16578 + :cond_30
16579 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
16581 + move-result-object v5
16583 + goto :goto_2f
16584 +.end method
16586 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
16587 + .registers 21
16588 + .annotation system Ldalvik/annotation/Throws;
16589 + value = {
16590 + Landroid/os/RemoteException;
16592 + .end annotation
16594 + if-eqz p0, :cond_1e4
16596 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16598 + if-nez v1, :cond_13
16600 + const-string/jumbo v1, "privacy"
16602 + move-object/from16 v0, p2
16604 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
16606 + move-result-object v1
16608 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
16610 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16612 + :cond_13
16613 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
16615 + move-result-object v2
16617 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
16619 + move-result v3
16621 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16623 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
16625 + move-result-object v7
16627 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
16629 + move-result-object v9
16631 + const-string v15, "[real]"
16633 + move-object/from16 v13, p3
16635 + if-eqz v9, :cond_54
16637 + const-string v1, "contacts"
16639 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16641 + move-result v1
16643 + if-nez v1, :cond_3b
16645 + const-string v1, "com.android.contacts"
16647 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16649 + move-result v1
16651 + if-eqz v1, :cond_ab
16653 + :cond_3b
16654 + if-eqz v7, :cond_54
16656 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
16658 + move-result v1
16660 + const/4 v4, 0x1
16662 + if-ne v1, v4, :cond_55
16664 + const-string v15, "[empty]"
16666 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
16668 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
16670 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16672 + const/4 v4, 0x1
16674 + const-string v5, "contacts"
16676 + const/4 v6, 0x0
16678 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16680 + :cond_54
16681 + :goto_54
16682 + return-object v13
16684 + :cond_55
16685 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
16687 + move-result v1
16689 + const/4 v4, 0x2
16691 + if-ne v1, v4, :cond_a1
16693 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
16695 + move-result-object v1
16697 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
16699 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
16701 + move-result-object v4
16703 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
16705 + move-result v1
16707 + if-eqz v1, :cond_a1
16709 + const/4 v11, 0x0
16711 + if-eqz p1, :cond_82
16713 + move-object/from16 v8, p1
16715 + array-length v12, v8
16717 + const/4 v10, 0x0
16719 + :goto_73
16720 + if-ge v10, v12, :cond_82
16722 + aget-object v16, v8, v10
16724 + const-string v1, "_id"
16726 + move-object/from16 v0, v16
16728 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16730 + move-result v1
16732 + if-eqz v1, :cond_93
16734 + const/4 v11, 0x1
16736 + :cond_82
16737 + if-nez v11, :cond_96
16739 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
16741 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
16743 + :goto_89
16744 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16746 + const/4 v4, 0x2
16748 + const-string v5, "contacts"
16750 + const/4 v6, 0x0
16752 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16754 + goto :goto_54
16756 + :cond_93
16757 + add-int/lit8 v10, v10, 0x1
16759 + goto :goto_73
16761 + :cond_96
16762 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
16764 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16766 + move-result-object v1
16768 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
16770 + move-object v13, v14
16772 + goto :goto_89
16774 + :cond_a1
16775 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16777 + const/4 v4, 0x0
16779 + const-string v5, "contacts"
16781 + const/4 v6, 0x0
16783 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16785 + goto :goto_54
16787 + :cond_ab
16788 + const-string v1, "com.android.calendar"
16790 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16792 + move-result v1
16794 + if-eqz v1, :cond_d8
16796 + if-eqz v7, :cond_cd
16798 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
16800 + move-result v1
16802 + const/4 v4, 0x1
16804 + if-ne v1, v4, :cond_cd
16806 + const-string v15, "[empty]"
16808 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
16810 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
16812 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16814 + const/4 v4, 0x1
16816 + const-string v5, "calendar"
16818 + const/4 v6, 0x0
16820 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16822 + goto :goto_54
16824 + :cond_cd
16825 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16827 + const/4 v4, 0x0
16829 + const-string v5, "calendar"
16831 + const/4 v6, 0x0
16833 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16835 + goto/16 :goto_54
16837 + :cond_d8
16838 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
16840 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
16842 + move-result-object v1
16844 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16846 + move-result v1
16848 + if-eqz v1, :cond_10c
16850 + if-eqz v7, :cond_100
16852 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
16854 + move-result v1
16856 + const/4 v4, 0x1
16858 + if-ne v1, v4, :cond_100
16860 + const-string v15, "[empty]"
16862 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
16864 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
16866 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16868 + const/4 v4, 0x1
16870 + const-string/jumbo v5, "mms"
16872 + const/4 v6, 0x0
16874 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16876 + goto/16 :goto_54
16878 + :cond_100
16879 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16881 + const/4 v4, 0x0
16883 + const-string/jumbo v5, "mms"
16885 + const/4 v6, 0x0
16887 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16889 + goto/16 :goto_54
16891 + :cond_10c
16892 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
16894 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
16896 + move-result-object v1
16898 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16900 + move-result v1
16902 + if-eqz v1, :cond_140
16904 + if-eqz v7, :cond_134
16906 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
16908 + move-result v1
16910 + const/4 v4, 0x1
16912 + if-ne v1, v4, :cond_134
16914 + const-string v15, "[empty]"
16916 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
16918 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
16920 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16922 + const/4 v4, 0x1
16924 + const-string/jumbo v5, "sms"
16926 + const/4 v6, 0x0
16928 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16930 + goto/16 :goto_54
16932 + :cond_134
16933 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16935 + const/4 v4, 0x0
16937 + const-string/jumbo v5, "sms"
16939 + const/4 v6, 0x0
16941 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16943 + goto/16 :goto_54
16945 + :cond_140
16946 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
16948 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
16950 + move-result-object v1
16952 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16954 + move-result v1
16956 + if-nez v1, :cond_155
16958 + const-string/jumbo v1, "mms-sms-v2"
16960 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
16962 + move-result v1
16964 + if-eqz v1, :cond_184
16966 + :cond_155
16967 + if-eqz v7, :cond_178
16969 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
16971 + move-result v1
16973 + const/4 v4, 0x1
16975 + if-eq v1, v4, :cond_165
16977 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
16979 + move-result v1
16981 + const/4 v4, 0x1
16983 + if-ne v1, v4, :cond_178
16985 + :cond_165
16986 + const-string v15, "[empty]"
16988 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
16990 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
16992 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
16994 + const/4 v4, 0x1
16996 + const-string/jumbo v5, "mmsSms"
16998 + const/4 v6, 0x0
17000 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17002 + goto/16 :goto_54
17004 + :cond_178
17005 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
17007 + const/4 v4, 0x0
17009 + const-string/jumbo v5, "mmsSms"
17011 + const/4 v6, 0x0
17013 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17015 + goto/16 :goto_54
17017 + :cond_184
17018 + const-string v1, "call_log"
17020 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17022 + move-result v1
17024 + if-eqz v1, :cond_1b2
17026 + if-eqz v7, :cond_1a7
17028 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
17030 + move-result v1
17032 + const/4 v4, 0x1
17034 + if-ne v1, v4, :cond_1a7
17036 + const-string v15, "[empty]"
17038 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
17040 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
17042 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
17044 + const/4 v4, 0x1
17046 + const-string v5, "callLog"
17048 + const/4 v6, 0x0
17050 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17052 + goto/16 :goto_54
17054 + :cond_1a7
17055 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
17057 + const/4 v4, 0x0
17059 + const-string v5, "callLog"
17061 + const/4 v6, 0x0
17063 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17065 + goto/16 :goto_54
17067 + :cond_1b2
17068 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
17070 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
17072 + move-result-object v1
17074 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17076 + move-result v1
17078 + if-eqz v1, :cond_54
17080 + if-eqz v7, :cond_1d9
17082 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
17084 + move-result v1
17086 + const/4 v4, 0x1
17088 + if-ne v1, v4, :cond_1d9
17090 + const-string v15, "[empty]"
17092 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
17094 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
17096 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
17098 + const/4 v4, 0x1
17100 + const-string v5, "bookmarks"
17102 + const/4 v6, 0x0
17104 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17106 + goto/16 :goto_54
17108 + :cond_1d9
17109 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
17111 + const/4 v4, 0x0
17113 + const-string v5, "bookmarks"
17115 + const/4 v6, 0x0
17117 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17119 + goto/16 :goto_54
17121 + :cond_1e4
17122 + move-object/from16 v13, p3
17124 + goto/16 :goto_54
17125 +.end method
17126 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
17127 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
17128 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-05-07 17:01:36.105801029 -0500
17129 @@ -0,0 +1,1225 @@
17130 +.class public Landroid/privacy/surrogate/PrivacyCursor;
17131 +.super Ljava/lang/Object;
17132 +.source "PrivacyCursor.java"
17134 +# interfaces
17135 +.implements Landroid/database/Cursor;
17138 +# static fields
17139 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
17142 +# instance fields
17143 +.field private allowedIdMapping:[I
17145 +.field private allowedIds:[I
17147 +.field private realCursor:Landroid/database/Cursor;
17150 +# direct methods
17151 +.method public constructor <init>()V
17152 + .registers 1
17154 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17156 + return-void
17157 +.end method
17159 +.method public constructor <init>(Landroid/database/Cursor;[I)V
17160 + .registers 7
17162 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17164 + if-eqz p2, :cond_8
17166 + array-length v2, p2
17168 + if-nez v2, :cond_9
17170 + :cond_8
17171 + const/4 p1, 0x0
17173 + :cond_9
17174 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17176 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
17178 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17180 + if-eqz v2, :cond_3f
17182 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17184 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
17186 + move-result v0
17188 + array-length v2, p2
17190 + new-array v2, v2, [I
17192 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
17194 + const/4 v1, 0x0
17196 + :cond_1d
17197 + :goto_1d
17198 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17200 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
17202 + move-result v2
17204 + if-eqz v2, :cond_3a
17206 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17208 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
17210 + move-result v2
17212 + if-eqz v2, :cond_1d
17214 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
17216 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17218 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
17220 + move-result v3
17222 + aput v3, v2, v1
17224 + add-int/lit8 v1, v1, 0x1
17226 + goto :goto_1d
17228 + :cond_3a
17229 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17231 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
17233 + :cond_3f
17234 + return-void
17235 +.end method
17237 +.method private getContactId(Landroid/database/Cursor;)I
17238 + .registers 5
17240 + const-string v2, "_id"
17242 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
17244 + move-result v0
17246 + const/4 v1, -0x1
17248 + const/4 v2, -0x1
17250 + if-eq v0, v2, :cond_e
17252 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
17254 + move-result v1
17256 + :cond_e
17257 + return v1
17258 +.end method
17260 +.method private getMappedPos(I)I
17261 + .registers 4
17263 + const/4 v0, 0x0
17265 + :goto_1
17266 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
17268 + array-length v1, v1
17270 + if-ge v0, v1, :cond_10
17272 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
17274 + aget v1, v1, v0
17276 + if-ne v1, p1, :cond_d
17278 + :goto_c
17279 + return v0
17281 + :cond_d
17282 + add-int/lit8 v0, v0, 0x1
17284 + goto :goto_1
17286 + :cond_10
17287 + const/4 v0, -0x1
17289 + goto :goto_c
17290 +.end method
17292 +.method private isAllowed(I)Z
17293 + .registers 7
17295 + const/4 v4, 0x0
17297 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
17299 + array-length v3, v0
17301 + const/4 v2, 0x0
17303 + :goto_5
17304 + if-ge v2, v3, :cond_c
17306 + aget v1, v0, v2
17308 + if-ne p1, v1, :cond_d
17310 + const/4 v4, 0x1
17312 + :cond_c
17313 + return v4
17315 + :cond_d
17316 + add-int/lit8 v2, v2, 0x1
17318 + goto :goto_5
17319 +.end method
17321 +.method private isAllowed(Landroid/database/Cursor;)Z
17322 + .registers 3
17324 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
17326 + move-result v0
17328 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
17330 + move-result v0
17332 + return v0
17333 +.end method
17336 +# virtual methods
17337 +.method public close()V
17338 + .registers 2
17340 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17342 + if-eqz v0, :cond_9
17344 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17346 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
17348 + :cond_9
17349 + return-void
17350 +.end method
17352 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
17353 + .registers 4
17355 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17357 + if-eqz v0, :cond_9
17359 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17361 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
17363 + :cond_9
17364 + return-void
17365 +.end method
17367 +.method public deactivate()V
17368 + .registers 2
17370 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17372 + if-eqz v0, :cond_9
17374 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17376 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
17378 + :cond_9
17379 + return-void
17380 +.end method
17382 +.method public getBlob(I)[B
17383 + .registers 3
17385 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17387 + if-eqz v0, :cond_b
17389 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17391 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
17393 + move-result-object v0
17395 + :goto_a
17396 + return-object v0
17398 + :cond_b
17399 + const/4 v0, 0x0
17401 + new-array v0, v0, [B
17403 + goto :goto_a
17404 +.end method
17406 +.method public getColumnCount()I
17407 + .registers 2
17409 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17411 + if-eqz v0, :cond_b
17413 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17415 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
17417 + move-result v0
17419 + :goto_a
17420 + return v0
17422 + :cond_b
17423 + const/4 v0, 0x0
17425 + goto :goto_a
17426 +.end method
17428 +.method public getColumnIndex(Ljava/lang/String;)I
17429 + .registers 3
17431 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17433 + if-eqz v0, :cond_b
17435 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17437 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
17439 + move-result v0
17441 + :goto_a
17442 + return v0
17444 + :cond_b
17445 + const/4 v0, -0x1
17447 + goto :goto_a
17448 +.end method
17450 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
17451 + .registers 3
17452 + .annotation system Ldalvik/annotation/Throws;
17453 + value = {
17454 + Ljava/lang/IllegalArgumentException;
17456 + .end annotation
17458 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17460 + if-eqz v0, :cond_b
17462 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17464 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
17466 + move-result v0
17468 + :goto_a
17469 + return v0
17471 + :cond_b
17472 + const/4 v0, -0x1
17474 + goto :goto_a
17475 +.end method
17477 +.method public getColumnName(I)Ljava/lang/String;
17478 + .registers 3
17480 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17482 + if-eqz v0, :cond_b
17484 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17486 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
17488 + move-result-object v0
17490 + :goto_a
17491 + return-object v0
17493 + :cond_b
17494 + const-string v0, ""
17496 + goto :goto_a
17497 +.end method
17499 +.method public getColumnNames()[Ljava/lang/String;
17500 + .registers 4
17502 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17504 + if-eqz v0, :cond_b
17506 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17508 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
17510 + move-result-object v0
17512 + :goto_a
17513 + return-object v0
17515 + :cond_b
17516 + const/4 v0, 0x1
17518 + new-array v0, v0, [Ljava/lang/String;
17520 + const/4 v1, 0x0
17522 + const-string v2, ""
17524 + aput-object v2, v0, v1
17526 + goto :goto_a
17527 +.end method
17529 +.method public getCount()I
17530 + .registers 4
17532 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17534 + if-eqz v0, :cond_23
17536 + const-string v0, "PrivacyCursor"
17538 + new-instance v1, Ljava/lang/StringBuilder;
17540 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17542 + const-string v2, "getCount: "
17544 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17546 + move-result-object v1
17548 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
17550 + array-length v2, v2
17552 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17554 + move-result-object v1
17556 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17558 + move-result-object v1
17560 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
17562 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
17564 + array-length v0, v0
17566 + :goto_22
17567 + return v0
17569 + :cond_23
17570 + const/4 v0, 0x0
17572 + goto :goto_22
17573 +.end method
17575 +.method public getDouble(I)D
17576 + .registers 4
17578 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17580 + if-eqz v0, :cond_b
17582 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17584 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
17586 + move-result-wide v0
17588 + :goto_a
17589 + return-wide v0
17591 + :cond_b
17592 + const-wide/16 v0, 0x0
17594 + goto :goto_a
17595 +.end method
17597 +.method public getExtras()Landroid/os/Bundle;
17598 + .registers 2
17600 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17602 + if-eqz v0, :cond_b
17604 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17606 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
17608 + move-result-object v0
17610 + :goto_a
17611 + return-object v0
17613 + :cond_b
17614 + new-instance v0, Landroid/os/Bundle;
17616 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
17618 + goto :goto_a
17619 +.end method
17621 +.method public getFloat(I)F
17622 + .registers 3
17624 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17626 + if-eqz v0, :cond_b
17628 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17630 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
17632 + move-result v0
17634 + :goto_a
17635 + return v0
17637 + :cond_b
17638 + const/4 v0, 0x0
17640 + goto :goto_a
17641 +.end method
17643 +.method public getInt(I)I
17644 + .registers 4
17646 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17648 + if-eqz v1, :cond_b
17650 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17652 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
17654 + move-result v0
17656 + :goto_a
17657 + return v0
17659 + :cond_b
17660 + const/4 v0, 0x0
17662 + goto :goto_a
17663 +.end method
17665 +.method public getLong(I)J
17666 + .registers 4
17668 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17670 + if-eqz v0, :cond_b
17672 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17674 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
17676 + move-result-wide v0
17678 + :goto_a
17679 + return-wide v0
17681 + :cond_b
17682 + const-wide/16 v0, 0x0
17684 + goto :goto_a
17685 +.end method
17687 +.method public getPosition()I
17688 + .registers 5
17690 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17692 + if-eqz v1, :cond_37
17694 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17696 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
17698 + move-result v1
17700 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
17702 + move-result v0
17704 + const-string v1, "PrivacyCursor"
17706 + new-instance v2, Ljava/lang/StringBuilder;
17708 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17710 + const-string v3, "getPosition - mapped position: "
17712 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17714 + move-result-object v2
17716 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17718 + move-result-object v2
17720 + const-string v3, " real position: "
17722 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17724 + move-result-object v2
17726 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17728 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
17730 + move-result v3
17732 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17734 + move-result-object v2
17736 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17738 + move-result-object v2
17740 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
17742 + :goto_36
17743 + return v0
17745 + :cond_37
17746 + const/4 v0, -0x1
17748 + goto :goto_36
17749 +.end method
17751 +.method public getShort(I)S
17752 + .registers 3
17754 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17756 + if-eqz v0, :cond_b
17758 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17760 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
17762 + move-result v0
17764 + :goto_a
17765 + return v0
17767 + :cond_b
17768 + const/4 v0, 0x0
17770 + goto :goto_a
17771 +.end method
17773 +.method public getString(I)Ljava/lang/String;
17774 + .registers 3
17776 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17778 + if-eqz v0, :cond_b
17780 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17782 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
17784 + move-result-object v0
17786 + :goto_a
17787 + return-object v0
17789 + :cond_b
17790 + const-string v0, ""
17792 + goto :goto_a
17793 +.end method
17795 +.method public getType(I)I
17796 + .registers 3
17798 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17800 + if-eqz v0, :cond_b
17802 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17804 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
17806 + move-result v0
17808 + :goto_a
17809 + return v0
17811 + :cond_b
17812 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17814 + const/4 v0, 0x0
17816 + goto :goto_a
17817 +.end method
17819 +.method public getWantsAllOnMoveCalls()Z
17820 + .registers 2
17822 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17824 + if-eqz v0, :cond_b
17826 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17828 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
17830 + move-result v0
17832 + :goto_a
17833 + return v0
17835 + :cond_b
17836 + const/4 v0, 0x0
17838 + goto :goto_a
17839 +.end method
17841 +.method public isAfterLast()Z
17842 + .registers 2
17844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17846 + if-eqz v0, :cond_b
17848 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17850 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
17852 + move-result v0
17854 + :goto_a
17855 + return v0
17857 + :cond_b
17858 + const/4 v0, 0x0
17860 + goto :goto_a
17861 +.end method
17863 +.method public isBeforeFirst()Z
17864 + .registers 2
17866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17868 + if-eqz v0, :cond_b
17870 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17872 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
17874 + move-result v0
17876 + :goto_a
17877 + return v0
17879 + :cond_b
17880 + const/4 v0, 0x0
17882 + goto :goto_a
17883 +.end method
17885 +.method public isClosed()Z
17886 + .registers 2
17888 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17890 + if-eqz v0, :cond_b
17892 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17894 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
17896 + move-result v0
17898 + :goto_a
17899 + return v0
17901 + :cond_b
17902 + const/4 v0, 0x0
17904 + goto :goto_a
17905 +.end method
17907 +.method public isFirst()Z
17908 + .registers 4
17910 + const/4 v0, 0x0
17912 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17914 + if-eqz v1, :cond_12
17916 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17918 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
17920 + move-result v1
17922 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
17924 + aget v2, v2, v0
17926 + if-ne v1, v2, :cond_12
17928 + const/4 v0, 0x1
17930 + :cond_12
17931 + return v0
17932 +.end method
17934 +.method public isLast()Z
17935 + .registers 4
17937 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17939 + if-eqz v0, :cond_17
17941 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17943 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
17945 + move-result v0
17947 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
17949 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
17951 + array-length v2, v2
17953 + add-int/lit8 v2, v2, -0x1
17955 + aget v1, v1, v2
17957 + if-ne v0, v1, :cond_17
17959 + const/4 v0, 0x1
17961 + :goto_16
17962 + return v0
17964 + :cond_17
17965 + const/4 v0, 0x0
17967 + goto :goto_16
17968 +.end method
17970 +.method public isNull(I)Z
17971 + .registers 3
17973 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17975 + if-eqz v0, :cond_b
17977 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17979 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
17981 + move-result v0
17983 + :goto_a
17984 + return v0
17986 + :cond_b
17987 + const/4 v0, 0x0
17989 + goto :goto_a
17990 +.end method
17992 +.method public move(I)Z
17993 + .registers 8
17995 + const/4 v2, 0x0
17997 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
17999 + if-eqz v3, :cond_33
18001 + const-string v3, "PrivacyCursor"
18003 + new-instance v4, Ljava/lang/StringBuilder;
18005 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
18007 + const-string/jumbo v5, "move - offset: "
18009 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18011 + move-result-object v4
18013 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18015 + move-result-object v4
18017 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18019 + move-result-object v4
18021 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
18023 + :try_start_1e
18024 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
18026 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18028 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
18030 + move-result v4
18032 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
18034 + move-result v4
18036 + add-int/2addr v4, p1
18038 + aget v1, v3, v4
18040 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18042 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
18043 + :try_end_32
18044 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34
18046 + move-result v2
18048 + :cond_33
18049 + :goto_33
18050 + return v2
18052 + :catch_34
18053 + move-exception v0
18055 + goto :goto_33
18056 +.end method
18058 +.method public moveToFirst()Z
18059 + .registers 4
18061 + const/4 v0, 0x0
18063 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18065 + if-eqz v1, :cond_f
18067 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18069 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
18071 + aget v2, v2, v0
18073 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
18075 + move-result v0
18077 + :cond_f
18078 + return v0
18079 +.end method
18081 +.method public moveToLast()Z
18082 + .registers 5
18084 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18086 + if-eqz v1, :cond_14
18088 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18090 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
18092 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
18094 + array-length v3, v3
18096 + add-int/lit8 v3, v3, -0x1
18098 + aget v2, v2, v3
18100 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
18102 + move-result v0
18104 + :goto_13
18105 + return v0
18107 + :cond_14
18108 + const/4 v0, 0x0
18110 + goto :goto_13
18111 +.end method
18113 +.method public moveToNext()Z
18114 + .registers 3
18116 + const/4 v0, 0x0
18118 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18120 + if-eqz v1, :cond_d
18122 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18124 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
18126 + move-result v1
18128 + if-nez v1, :cond_e
18130 + :cond_d
18131 + return v0
18133 + :cond_e
18134 + const/4 v0, 0x1
18136 + :goto_f
18137 + const/4 v1, 0x1
18139 + if-ne v0, v1, :cond_d
18141 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18143 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
18145 + move-result v1
18147 + if-nez v1, :cond_d
18149 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18151 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
18153 + move-result v0
18155 + goto :goto_f
18156 +.end method
18158 +.method public moveToPosition(I)Z
18159 + .registers 6
18161 + const/4 v1, 0x0
18163 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18165 + if-eqz v2, :cond_f
18167 + :try_start_5
18168 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18170 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
18172 + aget v3, v3, p1
18174 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
18175 + :try_end_e
18176 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10
18178 + move-result v1
18180 + :cond_f
18181 + :goto_f
18182 + return v1
18184 + :catch_10
18185 + move-exception v0
18187 + goto :goto_f
18188 +.end method
18190 +.method public moveToPrevious()Z
18191 + .registers 3
18193 + const/4 v0, 0x0
18195 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18197 + if-eqz v1, :cond_d
18199 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18201 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
18203 + move-result v1
18205 + if-nez v1, :cond_e
18207 + :cond_d
18208 + return v0
18210 + :cond_e
18211 + const/4 v0, 0x1
18213 + :goto_f
18214 + const/4 v1, 0x1
18216 + if-ne v0, v1, :cond_d
18218 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18220 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
18222 + move-result v1
18224 + if-nez v1, :cond_d
18226 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18228 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
18230 + move-result v0
18232 + goto :goto_f
18233 +.end method
18235 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
18236 + .registers 3
18238 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18240 + if-eqz v0, :cond_9
18242 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18244 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
18246 + :cond_9
18247 + return-void
18248 +.end method
18250 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
18251 + .registers 3
18253 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18255 + if-eqz v0, :cond_9
18257 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18259 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
18261 + :cond_9
18262 + return-void
18263 +.end method
18265 +.method public requery()Z
18266 + .registers 2
18268 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18270 + if-eqz v0, :cond_b
18272 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18274 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
18276 + move-result v0
18278 + :goto_a
18279 + return v0
18281 + :cond_b
18282 + const/4 v0, 0x0
18284 + goto :goto_a
18285 +.end method
18287 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
18288 + .registers 3
18290 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18292 + if-eqz v0, :cond_b
18294 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18296 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
18298 + move-result-object v0
18300 + :goto_a
18301 + return-object v0
18303 + :cond_b
18304 + new-instance v0, Landroid/os/Bundle;
18306 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
18308 + goto :goto_a
18309 +.end method
18311 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
18312 + .registers 4
18314 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18316 + if-eqz v0, :cond_9
18318 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18320 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
18322 + :cond_9
18323 + return-void
18324 +.end method
18326 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
18327 + .registers 3
18329 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18331 + if-eqz v0, :cond_9
18333 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18335 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
18337 + :cond_9
18338 + return-void
18339 +.end method
18341 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
18342 + .registers 3
18344 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18346 + if-eqz v0, :cond_9
18348 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
18350 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
18352 + :cond_9
18353 + return-void
18354 +.end method
18355 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
18356 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
18357 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-05-07 17:01:36.105801029 -0500
18358 @@ -0,0 +1,134 @@
18359 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
18360 +.super Ljava/lang/Thread;
18361 +.source "PrivacyLocationManager.java"
18364 +# annotations
18365 +.annotation system Ldalvik/annotation/EnclosingClass;
18366 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
18367 +.end annotation
18369 +.annotation system Ldalvik/annotation/InnerClass;
18370 + accessFlags = 0x2
18371 + name = "PrivacyLocationUpdater"
18372 +.end annotation
18375 +# instance fields
18376 +.field private intent:Landroid/app/PendingIntent;
18378 +.field private latitude:D
18380 +.field private listener:Landroid/location/LocationListener;
18382 +.field private longitude:D
18384 +.field private provider:Ljava/lang/String;
18386 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
18389 +# direct methods
18390 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
18391 + .registers 9
18393 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
18395 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
18397 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
18399 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
18401 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
18403 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
18405 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
18407 + return-void
18408 +.end method
18411 +# virtual methods
18412 +.method public run()V
18413 + .registers 8
18415 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
18417 + if-eqz v3, :cond_43
18419 + new-instance v2, Landroid/location/Location;
18421 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
18423 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
18425 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
18427 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
18429 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
18431 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
18433 + const/4 v1, 0x0
18435 + :goto_16
18436 + const/4 v3, 0x5
18438 + if-ge v1, v3, :cond_43
18440 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
18442 + if-eqz v3, :cond_34
18444 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
18446 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
18448 + :cond_22
18449 + :goto_22
18450 + :try_start_22
18451 + invoke-static {}, Ljava/lang/Math;->random()D
18453 + move-result-wide v3
18455 + const-wide v5, 0x408f400000000000L
18457 + mul-double/2addr v3, v5
18459 + double-to-int v3, v3
18461 + int-to-long v3, v3
18463 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
18464 + :try_end_31
18465 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
18467 + :goto_31
18468 + add-int/lit8 v1, v1, 0x1
18470 + goto :goto_16
18472 + :cond_34
18473 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
18475 + if-eqz v3, :cond_22
18477 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
18479 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
18481 + goto :goto_22
18483 + :catch_3e
18484 + move-exception v0
18486 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
18488 + goto :goto_31
18490 + :cond_43
18491 + return-void
18492 +.end method
18493 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
18494 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
18495 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-05-07 17:01:36.109801051 -0500
18496 @@ -0,0 +1,2091 @@
18497 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
18498 +.super Landroid/location/LocationManager;
18499 +.source "PrivacyLocationManager.java"
18502 +# annotations
18503 +.annotation system Ldalvik/annotation/MemberClasses;
18504 + value = {
18505 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
18507 +.end annotation
18510 +# static fields
18511 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
18513 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
18516 +# instance fields
18517 +.field private context:Landroid/content/Context;
18519 +.field private lock:Ljava/lang/Object;
18521 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
18524 +# direct methods
18525 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
18526 + .registers 5
18528 + invoke-direct {p0, p1}, Landroid/location/LocationManager;-><init>(Landroid/location/ILocationManager;)V
18530 + new-instance v0, Ljava/lang/Object;
18532 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
18534 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
18536 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
18538 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
18540 + const-string/jumbo v1, "privacy"
18542 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
18544 + move-result-object v1
18546 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
18548 + move-result-object v1
18550 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
18552 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
18554 + return-void
18555 +.end method
18557 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
18558 + .registers 7
18560 + const/4 v2, 0x3
18562 + if-nez p1, :cond_5
18564 + const/4 v0, 0x0
18566 + :goto_4
18567 + return v0
18569 + :cond_5
18570 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
18572 + move-result v0
18574 + const/4 v1, 0x1
18576 + if-eq v0, v1, :cond_24
18578 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
18580 + move-result v0
18582 + if-eq v0, v2, :cond_24
18584 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
18586 + move-result v0
18588 + if-eq v0, v2, :cond_24
18590 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
18592 + move-result v0
18594 + if-eq v0, v2, :cond_24
18596 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
18598 + move-result v0
18600 + if-ne v0, v2, :cond_2b
18602 + :cond_24
18603 + const-string v0, "gps"
18605 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
18607 + move-result v0
18609 + goto :goto_4
18611 + :cond_2b
18612 + const-string/jumbo v0, "network"
18614 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
18616 + move-result v0
18618 + goto :goto_4
18619 +.end method
18621 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
18622 + .registers 24
18624 + move-object/from16 v0, p0
18626 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
18628 + move-object/from16 v19, v0
18630 + monitor-enter v19
18632 + :try_start_7
18633 + move-object/from16 v0, p0
18635 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
18637 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
18639 + move-result-object v2
18641 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
18643 + move-result v3
18645 + move-object/from16 v0, p0
18647 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
18649 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
18651 + move-result-object v7
18653 + const/16 v18, 0x0
18655 + if-eqz v7, :cond_239
18657 + const-string v1, "gps"
18659 + move-object/from16 v0, p1
18661 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
18663 + move-result v1
18665 + if-eqz v1, :cond_111
18667 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
18669 + move-result v1
18671 + packed-switch v1, :pswitch_data_25e
18673 + :cond_30
18674 + :goto_30
18675 + monitor-exit v19
18677 + return v18
18679 + :pswitch_32
18680 + move-object/from16 v0, p0
18682 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
18684 + const/4 v4, 0x0
18686 + const-string v5, "locationGPS"
18688 + const/4 v6, 0x0
18690 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18692 + goto :goto_30
18694 + :catchall_3e
18695 + move-exception v1
18697 + monitor-exit v19
18698 + :try_end_40
18699 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
18701 + throw v1
18703 + :pswitch_41
18704 + if-eqz p3, :cond_46
18706 + :try_start_43
18707 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
18709 + :cond_46
18710 + const/16 v18, 0x1
18712 + move-object/from16 v0, p0
18714 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
18716 + const/4 v4, 0x1
18718 + const-string v5, "locationGPS"
18720 + const/4 v6, 0x0
18722 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18723 + :try_end_53
18724 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
18726 + goto :goto_30
18728 + :pswitch_54
18729 + :try_start_54
18730 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
18732 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
18734 + move-result-object v1
18736 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
18738 + move-result-wide v13
18740 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
18742 + move-result-object v1
18744 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
18746 + move-result-wide v15
18748 + move-object/from16 v9, p0
18750 + move-object/from16 v10, p1
18752 + move-object/from16 v11, p2
18754 + move-object/from16 v12, p3
18756 + 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
18758 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
18759 + :try_end_74
18760 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
18761 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
18763 + const/16 v18, 0x1
18765 + :goto_76
18766 + :try_start_76
18767 + move-object/from16 v0, p0
18769 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
18771 + const/4 v4, 0x2
18773 + const-string v5, "locationGPS"
18775 + new-instance v6, Ljava/lang/StringBuilder;
18777 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
18779 + const-string v8, "Lat: "
18781 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18783 + move-result-object v6
18785 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
18787 + move-result-object v8
18789 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18791 + move-result-object v6
18793 + const-string v8, " Lon: "
18795 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18797 + move-result-object v6
18799 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
18801 + move-result-object v8
18803 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18805 + move-result-object v6
18807 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18809 + move-result-object v6
18811 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18813 + goto :goto_30
18815 + :catch_a6
18816 + move-exception v17
18818 + const-string v1, "PrivacyLocationManager"
18820 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
18822 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18823 + :try_end_af
18824 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
18826 + const/16 v18, 0x1
18828 + goto :goto_76
18830 + :pswitch_b2
18831 + :try_start_b2
18832 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
18834 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
18836 + move-result-object v1
18838 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
18840 + move-result-wide v13
18842 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
18844 + move-result-object v1
18846 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
18848 + move-result-wide v15
18850 + move-object/from16 v9, p0
18852 + move-object/from16 v10, p1
18854 + move-object/from16 v11, p2
18856 + move-object/from16 v12, p3
18858 + 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
18860 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
18861 + :try_end_d2
18862 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
18863 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
18865 + const/16 v18, 0x1
18867 + :goto_d4
18868 + :try_start_d4
18869 + move-object/from16 v0, p0
18871 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
18873 + const/4 v4, 0x3
18875 + const-string v5, "locationGPS"
18877 + new-instance v6, Ljava/lang/StringBuilder;
18879 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
18881 + const-string v8, "Lat: "
18883 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18885 + move-result-object v6
18887 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
18889 + move-result-object v8
18891 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18893 + move-result-object v6
18895 + const-string v8, " Lon: "
18897 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18899 + move-result-object v6
18901 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
18903 + move-result-object v8
18905 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18907 + move-result-object v6
18909 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18911 + move-result-object v6
18913 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18915 + goto/16 :goto_30
18917 + :catch_105
18918 + move-exception v17
18920 + const-string v1, "PrivacyLocationManager"
18922 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
18924 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18926 + const/16 v18, 0x1
18928 + goto :goto_d4
18930 + :cond_111
18931 + const-string/jumbo v1, "network"
18933 + move-object/from16 v0, p1
18935 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
18937 + move-result v1
18939 + if-eqz v1, :cond_204
18941 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
18943 + move-result v1
18945 + packed-switch v1, :pswitch_data_26a
18947 + goto/16 :goto_30
18949 + :pswitch_125
18950 + move-object/from16 v0, p0
18952 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
18954 + const/4 v4, 0x0
18956 + const-string v5, "locationNetwork"
18958 + const/4 v6, 0x0
18960 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18962 + goto/16 :goto_30
18964 + :pswitch_132
18965 + if-eqz p3, :cond_137
18967 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
18969 + :cond_137
18970 + const/16 v18, 0x1
18972 + move-object/from16 v0, p0
18974 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
18976 + const/4 v4, 0x1
18978 + const-string v5, "locationNetwork"
18980 + const/4 v6, 0x0
18982 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18983 + :try_end_144
18984 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
18986 + goto/16 :goto_30
18988 + :pswitch_146
18989 + :try_start_146
18990 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
18992 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
18994 + move-result-object v1
18996 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
18998 + move-result-wide v13
19000 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
19002 + move-result-object v1
19004 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19006 + move-result-wide v15
19008 + move-object/from16 v9, p0
19010 + move-object/from16 v10, p1
19012 + move-object/from16 v11, p2
19014 + move-object/from16 v12, p3
19016 + 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
19018 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
19019 + :try_end_166
19020 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
19021 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
19023 + const/16 v18, 0x1
19025 + :goto_168
19026 + :try_start_168
19027 + move-object/from16 v0, p0
19029 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19031 + const/4 v4, 0x2
19033 + const-string v5, "locationNetwork"
19035 + new-instance v6, Ljava/lang/StringBuilder;
19037 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
19039 + const-string v8, "Lat: "
19041 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19043 + move-result-object v6
19045 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
19047 + move-result-object v8
19049 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19051 + move-result-object v6
19053 + const-string v8, " Lon: "
19055 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19057 + move-result-object v6
19059 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
19061 + move-result-object v8
19063 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19065 + move-result-object v6
19067 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19069 + move-result-object v6
19071 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19073 + goto/16 :goto_30
19075 + :catch_199
19076 + move-exception v17
19078 + const-string v1, "PrivacyLocationManager"
19080 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
19082 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
19083 + :try_end_1a2
19084 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
19086 + const/16 v18, 0x1
19088 + goto :goto_168
19090 + :pswitch_1a5
19091 + :try_start_1a5
19092 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
19094 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
19096 + move-result-object v1
19098 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19100 + move-result-wide v13
19102 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
19104 + move-result-object v1
19106 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19108 + move-result-wide v15
19110 + move-object/from16 v9, p0
19112 + move-object/from16 v10, p1
19114 + move-object/from16 v11, p2
19116 + move-object/from16 v12, p3
19118 + 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
19120 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
19121 + :try_end_1c5
19122 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
19123 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
19125 + const/16 v18, 0x1
19127 + :goto_1c7
19128 + :try_start_1c7
19129 + move-object/from16 v0, p0
19131 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19133 + const/4 v4, 0x3
19135 + const-string v5, "locationNetwork"
19137 + new-instance v6, Ljava/lang/StringBuilder;
19139 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
19141 + const-string v8, "Lat: "
19143 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19145 + move-result-object v6
19147 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
19149 + move-result-object v8
19151 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19153 + move-result-object v6
19155 + const-string v8, " Lon: "
19157 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19159 + move-result-object v6
19161 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
19163 + move-result-object v8
19165 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19167 + move-result-object v6
19169 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19171 + move-result-object v6
19173 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19175 + goto/16 :goto_30
19177 + :catch_1f8
19178 + move-exception v17
19180 + const-string v1, "PrivacyLocationManager"
19182 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
19184 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
19186 + const/16 v18, 0x1
19188 + goto :goto_1c7
19190 + :cond_204
19191 + const-string/jumbo v1, "passive"
19193 + move-object/from16 v0, p1
19195 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19197 + move-result v1
19199 + if-eqz v1, :cond_30
19201 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
19203 + move-result v1
19205 + if-nez v1, :cond_22a
19207 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
19209 + move-result v1
19211 + if-nez v1, :cond_22a
19213 + const/16 v18, 0x0
19215 + move-object/from16 v0, p0
19217 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19219 + const/4 v4, 0x0
19221 + const-string v5, "locationGPS"
19223 + const/4 v6, 0x0
19225 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19227 + goto/16 :goto_30
19229 + :cond_22a
19230 + const/16 v18, 0x1
19232 + move-object/from16 v0, p0
19234 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19236 + const/4 v4, 0x1
19238 + const-string v5, "locationGPS"
19240 + const/4 v6, 0x0
19242 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19244 + goto/16 :goto_30
19246 + :cond_239
19247 + const-string/jumbo v1, "network"
19249 + move-object/from16 v0, p1
19251 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19253 + move-result v1
19255 + if-eqz v1, :cond_251
19257 + move-object/from16 v0, p0
19259 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19261 + const/4 v4, 0x0
19263 + const-string v5, "locationNetwork"
19265 + const/4 v6, 0x0
19267 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19269 + goto/16 :goto_30
19271 + :cond_251
19272 + move-object/from16 v0, p0
19274 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19276 + const/4 v4, 0x0
19278 + const-string v5, "locationGPS"
19280 + const/4 v6, 0x0
19282 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19283 + :try_end_25c
19284 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
19286 + goto/16 :goto_30
19288 + :pswitch_data_25e
19289 + .packed-switch 0x0
19290 + :pswitch_32
19291 + :pswitch_41
19292 + :pswitch_54
19293 + :pswitch_b2
19294 + .end packed-switch
19296 + :pswitch_data_26a
19297 + .packed-switch 0x0
19298 + :pswitch_125
19299 + :pswitch_132
19300 + :pswitch_146
19301 + :pswitch_1a5
19302 + .end packed-switch
19303 +.end method
19306 +# virtual methods
19307 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
19308 + .registers 10
19310 + const/4 v5, 0x0
19312 + const/4 v7, 0x0
19314 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
19316 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
19318 + move-result-object v1
19320 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
19322 + move-result v2
19324 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19326 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
19328 + move-result-object v6
19330 + if-eqz v6, :cond_24
19332 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
19334 + move-result v0
19336 + if-eqz v0, :cond_24
19338 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19340 + const/4 v3, 0x1
19342 + const-string v4, "locationGPS"
19344 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19346 + move v0, v7
19348 + :goto_23
19349 + return v0
19351 + :cond_24
19352 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19354 + const-string v4, "locationGPS"
19356 + move v3, v7
19358 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19360 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
19362 + move-result v0
19364 + goto :goto_23
19365 +.end method
19367 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
19368 + .registers 14
19370 + const/4 v11, 0x3
19372 + const/4 v10, 0x2
19374 + const/4 v8, 0x1
19376 + const/4 v3, 0x0
19378 + const/4 v5, 0x0
19380 + if-nez p1, :cond_c
19382 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
19384 + move-result-object v7
19386 + :cond_b
19387 + :goto_b
19388 + return-object v7
19390 + :cond_c
19391 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
19393 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
19395 + move-result-object v1
19397 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
19399 + move-result v2
19401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19403 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
19405 + move-result-object v6
19407 + const/4 v7, 0x0
19409 + if-eqz v6, :cond_22c
19411 + const-string v0, "gps"
19413 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19415 + move-result v0
19417 + if-eqz v0, :cond_ff
19419 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
19421 + move-result v0
19423 + packed-switch v0, :pswitch_data_29a
19425 + goto :goto_b
19427 + :pswitch_2f
19428 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
19430 + move-result-object v7
19432 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19434 + const-string v4, "locationGPS"
19436 + if-eqz v7, :cond_5e
19438 + new-instance v5, Ljava/lang/StringBuilder;
19440 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
19442 + const-string v8, "Lat: "
19444 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19446 + move-result-object v5
19448 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
19450 + move-result-wide v8
19452 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19454 + move-result-object v5
19456 + const-string v8, " Lon: "
19458 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19460 + move-result-object v5
19462 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
19464 + move-result-wide v8
19466 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19468 + move-result-object v5
19470 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19472 + move-result-object v5
19474 + :cond_5e
19475 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19477 + goto :goto_b
19479 + :pswitch_62
19480 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19482 + const-string v4, "locationGPS"
19484 + move v3, v8
19486 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19488 + goto :goto_b
19490 + :pswitch_6b
19491 + new-instance v7, Landroid/location/Location;
19493 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
19495 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
19497 + move-result-object v0
19499 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19501 + move-result-wide v3
19503 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
19505 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
19507 + move-result-object v0
19509 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19511 + move-result-wide v3
19513 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
19515 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19517 + const-string v4, "locationGPS"
19519 + new-instance v3, Ljava/lang/StringBuilder;
19521 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19523 + const-string v5, "Lat: "
19525 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19527 + move-result-object v3
19529 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
19531 + move-result-wide v8
19533 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19535 + move-result-object v3
19537 + const-string v5, " Lon: "
19539 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19541 + move-result-object v3
19543 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
19545 + move-result-wide v8
19547 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19549 + move-result-object v3
19551 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19553 + move-result-object v5
19555 + move v3, v10
19557 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19559 + goto/16 :goto_b
19561 + :pswitch_b5
19562 + new-instance v7, Landroid/location/Location;
19564 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
19566 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
19568 + move-result-object v0
19570 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19572 + move-result-wide v3
19574 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
19576 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
19578 + move-result-object v0
19580 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19582 + move-result-wide v3
19584 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
19586 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19588 + const-string v4, "locationGPS"
19590 + new-instance v3, Ljava/lang/StringBuilder;
19592 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19594 + const-string v5, "Lat: "
19596 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19598 + move-result-object v3
19600 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
19602 + move-result-wide v8
19604 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19606 + move-result-object v3
19608 + const-string v5, " Lon: "
19610 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19612 + move-result-object v3
19614 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
19616 + move-result-wide v8
19618 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19620 + move-result-object v3
19622 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19624 + move-result-object v5
19626 + move v3, v11
19628 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19630 + goto/16 :goto_b
19632 + :cond_ff
19633 + const-string/jumbo v0, "network"
19635 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19637 + move-result v0
19639 + if-eqz v0, :cond_1e3
19641 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
19643 + move-result v0
19645 + packed-switch v0, :pswitch_data_2a6
19647 + goto/16 :goto_b
19649 + :pswitch_111
19650 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
19652 + move-result-object v7
19654 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19656 + const-string v4, "locationNetwork"
19658 + if-eqz v7, :cond_140
19660 + new-instance v5, Ljava/lang/StringBuilder;
19662 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
19664 + const-string v8, "Lat: "
19666 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19668 + move-result-object v5
19670 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
19672 + move-result-wide v8
19674 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19676 + move-result-object v5
19678 + const-string v8, " Lon: "
19680 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19682 + move-result-object v5
19684 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
19686 + move-result-wide v8
19688 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19690 + move-result-object v5
19692 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19694 + move-result-object v5
19696 + :cond_140
19697 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19699 + goto/16 :goto_b
19701 + :pswitch_145
19702 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19704 + const-string v4, "locationNetwork"
19706 + move v3, v8
19708 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19710 + goto/16 :goto_b
19712 + :pswitch_14f
19713 + new-instance v7, Landroid/location/Location;
19715 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
19717 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
19719 + move-result-object v0
19721 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19723 + move-result-wide v3
19725 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
19727 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
19729 + move-result-object v0
19731 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19733 + move-result-wide v3
19735 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
19737 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19739 + const-string v4, "locationNetwork"
19741 + new-instance v3, Ljava/lang/StringBuilder;
19743 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19745 + const-string v5, "Lat: "
19747 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19749 + move-result-object v3
19751 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
19753 + move-result-wide v8
19755 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19757 + move-result-object v3
19759 + const-string v5, " Lon: "
19761 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19763 + move-result-object v3
19765 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
19767 + move-result-wide v8
19769 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19771 + move-result-object v3
19773 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19775 + move-result-object v5
19777 + move v3, v10
19779 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19781 + goto/16 :goto_b
19783 + :pswitch_199
19784 + new-instance v7, Landroid/location/Location;
19786 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
19788 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
19790 + move-result-object v0
19792 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19794 + move-result-wide v3
19796 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
19798 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
19800 + move-result-object v0
19802 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
19804 + move-result-wide v3
19806 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
19808 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19810 + const-string v4, "locationNetwork"
19812 + new-instance v3, Ljava/lang/StringBuilder;
19814 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19816 + const-string v5, "Lat: "
19818 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19820 + move-result-object v3
19822 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
19824 + move-result-wide v8
19826 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19828 + move-result-object v3
19830 + const-string v5, " Lon: "
19832 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19834 + move-result-object v3
19836 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
19838 + move-result-wide v8
19840 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19842 + move-result-object v3
19844 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19846 + move-result-object v5
19848 + move v3, v11
19850 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19852 + goto/16 :goto_b
19854 + :cond_1e3
19855 + const-string/jumbo v0, "passive"
19857 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19859 + move-result v0
19861 + if-eqz v0, :cond_b
19863 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
19865 + move-result v0
19867 + if-nez v0, :cond_b
19869 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
19871 + move-result v0
19873 + if-nez v0, :cond_b
19875 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
19877 + move-result-object v7
19879 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19881 + const-string v4, "locationGPS"
19883 + if-eqz v7, :cond_227
19885 + new-instance v5, Ljava/lang/StringBuilder;
19887 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
19889 + const-string v8, "Lat: "
19891 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19893 + move-result-object v5
19895 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
19897 + move-result-wide v8
19899 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19901 + move-result-object v5
19903 + const-string v8, " Lon: "
19905 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19907 + move-result-object v5
19909 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
19911 + move-result-wide v8
19913 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19915 + move-result-object v5
19917 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19919 + move-result-object v5
19921 + :cond_227
19922 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19924 + goto/16 :goto_b
19926 + :cond_22c
19927 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
19929 + move-result-object v7
19931 + const-string/jumbo v0, "network"
19933 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
19935 + move-result v0
19937 + if-eqz v0, :cond_269
19939 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19941 + const-string v4, "locationNetwork"
19943 + if-eqz v7, :cond_264
19945 + new-instance v5, Ljava/lang/StringBuilder;
19947 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
19949 + const-string v8, "Lat: "
19951 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19953 + move-result-object v5
19955 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
19957 + move-result-wide v8
19959 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19961 + move-result-object v5
19963 + const-string v8, " Lon: "
19965 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19967 + move-result-object v5
19969 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
19971 + move-result-wide v8
19973 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
19975 + move-result-object v5
19977 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19979 + move-result-object v5
19981 + :cond_264
19982 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19984 + goto/16 :goto_b
19986 + :cond_269
19987 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19989 + const-string v4, "locationGPS"
19991 + if-eqz v7, :cond_294
19993 + new-instance v5, Ljava/lang/StringBuilder;
19995 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
19997 + const-string v8, "Lat: "
19999 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20001 + move-result-object v5
20003 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
20005 + move-result-wide v8
20007 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
20009 + move-result-object v5
20011 + const-string v8, " Lon: "
20013 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20015 + move-result-object v5
20017 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
20019 + move-result-wide v8
20021 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
20023 + move-result-object v5
20025 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20027 + move-result-object v5
20029 + :cond_294
20030 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20032 + goto/16 :goto_b
20034 + nop
20036 + :pswitch_data_29a
20037 + .packed-switch 0x0
20038 + :pswitch_2f
20039 + :pswitch_62
20040 + :pswitch_6b
20041 + :pswitch_b5
20042 + .end packed-switch
20044 + :pswitch_data_2a6
20045 + .packed-switch 0x0
20046 + :pswitch_111
20047 + :pswitch_145
20048 + :pswitch_14f
20049 + :pswitch_199
20050 + .end packed-switch
20051 +.end method
20053 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
20054 + .registers 7
20056 + if-nez p1, :cond_7
20058 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
20060 + move-result-object v0
20062 + :cond_6
20063 + :goto_6
20064 + return-object v0
20066 + :cond_7
20067 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20069 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
20071 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20073 + move-result-object v3
20075 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20077 + move-result v4
20079 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20081 + move-result-object v1
20083 + const/4 v0, 0x0
20085 + if-eqz v1, :cond_5f
20087 + const-string v2, "gps"
20089 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20091 + move-result v2
20093 + if-eqz v2, :cond_2f
20095 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
20097 + move-result v2
20099 + packed-switch v2, :pswitch_data_64
20101 + :pswitch_29
20102 + goto :goto_6
20104 + :pswitch_2a
20105 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
20107 + move-result-object v0
20109 + goto :goto_6
20111 + :cond_2f
20112 + const-string/jumbo v2, "network"
20114 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20116 + move-result v2
20118 + if-eqz v2, :cond_45
20120 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
20122 + move-result v2
20124 + packed-switch v2, :pswitch_data_70
20126 + :pswitch_3f
20127 + goto :goto_6
20129 + :pswitch_40
20130 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
20132 + move-result-object v0
20134 + goto :goto_6
20136 + :cond_45
20137 + const-string/jumbo v2, "passive"
20139 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20141 + move-result v2
20143 + if-eqz v2, :cond_6
20145 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
20147 + move-result v2
20149 + if-eqz v2, :cond_5a
20151 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
20153 + move-result v2
20155 + if-nez v2, :cond_6
20157 + :cond_5a
20158 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
20160 + move-result-object v0
20162 + goto :goto_6
20164 + :cond_5f
20165 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
20167 + move-result-object v0
20169 + goto :goto_6
20171 + :pswitch_data_64
20172 + .packed-switch 0x0
20173 + :pswitch_2a
20174 + :pswitch_29
20175 + :pswitch_2a
20176 + :pswitch_2a
20177 + .end packed-switch
20179 + :pswitch_data_70
20180 + .packed-switch 0x0
20181 + :pswitch_40
20182 + :pswitch_3f
20183 + :pswitch_40
20184 + :pswitch_40
20185 + .end packed-switch
20186 +.end method
20188 +.method public isProviderEnabled(Ljava/lang/String;)Z
20189 + .registers 7
20191 + if-nez p1, :cond_7
20193 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
20195 + move-result v0
20197 + :cond_6
20198 + :goto_6
20199 + :pswitch_6
20200 + return v0
20202 + :cond_7
20203 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20205 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
20207 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20209 + move-result-object v3
20211 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20213 + move-result v4
20215 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20217 + move-result-object v1
20219 + const/4 v0, 0x0
20221 + if-eqz v1, :cond_65
20223 + const-string v2, "gps"
20225 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20227 + move-result v2
20229 + if-eqz v2, :cond_31
20231 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
20233 + move-result v2
20235 + packed-switch v2, :pswitch_data_6a
20237 + goto :goto_6
20239 + :pswitch_2a
20240 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
20242 + move-result v0
20244 + goto :goto_6
20246 + :pswitch_2f
20247 + const/4 v0, 0x1
20249 + goto :goto_6
20251 + :cond_31
20252 + const-string/jumbo v2, "network"
20254 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20256 + move-result v2
20258 + if-eqz v2, :cond_49
20260 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
20262 + move-result v2
20264 + packed-switch v2, :pswitch_data_76
20266 + goto :goto_6
20268 + :pswitch_42
20269 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
20271 + move-result v0
20273 + goto :goto_6
20275 + :pswitch_47
20276 + const/4 v0, 0x1
20278 + goto :goto_6
20280 + :cond_49
20281 + const-string/jumbo v2, "passive"
20283 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20285 + move-result v2
20287 + if-eqz v2, :cond_6
20289 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
20291 + move-result v2
20293 + if-eqz v2, :cond_5e
20295 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
20297 + move-result v2
20299 + if-nez v2, :cond_63
20301 + :cond_5e
20302 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
20304 + move-result v0
20306 + goto :goto_6
20308 + :cond_63
20309 + const/4 v0, 0x0
20311 + goto :goto_6
20313 + :cond_65
20314 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
20316 + move-result v0
20318 + goto :goto_6
20320 + :pswitch_data_6a
20321 + .packed-switch 0x0
20322 + :pswitch_2a
20323 + :pswitch_6
20324 + :pswitch_2f
20325 + :pswitch_2f
20326 + .end packed-switch
20328 + :pswitch_data_76
20329 + .packed-switch 0x0
20330 + :pswitch_42
20331 + :pswitch_6
20332 + :pswitch_47
20333 + :pswitch_47
20334 + .end packed-switch
20335 +.end method
20337 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
20338 + .registers 7
20340 + if-eqz p4, :cond_4
20342 + if-nez p5, :cond_8
20344 + :cond_4
20345 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
20347 + :cond_7
20348 + :goto_7
20349 + return-void
20351 + :cond_8
20352 + const/4 v0, 0x0
20354 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
20356 + move-result v0
20358 + if-nez v0, :cond_7
20360 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
20362 + goto :goto_7
20363 +.end method
20365 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
20366 + .registers 8
20368 + if-eqz p4, :cond_4
20370 + if-nez p5, :cond_8
20372 + :cond_4
20373 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
20375 + :cond_7
20376 + :goto_7
20377 + return-void
20379 + :cond_8
20380 + const/4 v0, 0x0
20382 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
20384 + move-result v0
20386 + if-nez v0, :cond_7
20388 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
20390 + goto :goto_7
20391 +.end method
20393 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
20394 + .registers 7
20396 + if-eqz p1, :cond_4
20398 + if-nez p5, :cond_8
20400 + :cond_4
20401 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
20403 + :cond_7
20404 + :goto_7
20405 + return-void
20407 + :cond_8
20408 + const/4 v0, 0x0
20410 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
20412 + move-result v0
20414 + if-nez v0, :cond_7
20416 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
20418 + goto :goto_7
20419 +.end method
20421 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
20422 + .registers 7
20424 + if-eqz p1, :cond_4
20426 + if-nez p5, :cond_8
20428 + :cond_4
20429 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
20431 + :cond_7
20432 + :goto_7
20433 + return-void
20435 + :cond_8
20436 + const/4 v0, 0x0
20438 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
20440 + move-result v0
20442 + if-nez v0, :cond_7
20444 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
20446 + goto :goto_7
20447 +.end method
20449 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
20450 + .registers 8
20452 + if-eqz p1, :cond_4
20454 + if-nez p5, :cond_8
20456 + :cond_4
20457 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
20459 + :cond_7
20460 + :goto_7
20461 + return-void
20463 + :cond_8
20464 + const/4 v0, 0x0
20466 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
20468 + move-result v0
20470 + if-nez v0, :cond_7
20472 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
20474 + goto :goto_7
20475 +.end method
20477 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
20478 + .registers 4
20480 + if-eqz p1, :cond_4
20482 + if-nez p2, :cond_8
20484 + :cond_4
20485 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
20487 + :cond_7
20488 + :goto_7
20489 + return-void
20491 + :cond_8
20492 + const/4 v0, 0x0
20494 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
20496 + move-result v0
20498 + if-nez v0, :cond_7
20500 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
20502 + goto :goto_7
20503 +.end method
20505 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
20506 + .registers 5
20508 + if-eqz p1, :cond_4
20510 + if-nez p2, :cond_8
20512 + :cond_4
20513 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
20515 + :cond_7
20516 + :goto_7
20517 + return-void
20519 + :cond_8
20520 + const/4 v0, 0x0
20522 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
20524 + move-result v0
20526 + if-nez v0, :cond_7
20528 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
20530 + goto :goto_7
20531 +.end method
20533 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
20534 + .registers 4
20536 + if-eqz p1, :cond_4
20538 + if-nez p2, :cond_8
20540 + :cond_4
20541 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
20543 + :cond_7
20544 + :goto_7
20545 + return-void
20547 + :cond_8
20548 + const/4 v0, 0x0
20550 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
20552 + move-result v0
20554 + if-nez v0, :cond_7
20556 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
20558 + goto :goto_7
20559 +.end method
20561 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
20562 + .registers 5
20564 + if-eqz p1, :cond_4
20566 + if-nez p2, :cond_8
20568 + :cond_4
20569 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
20571 + :cond_7
20572 + :goto_7
20573 + return-void
20575 + :cond_8
20576 + const/4 v0, 0x0
20578 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
20580 + move-result v0
20582 + if-nez v0, :cond_7
20584 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
20586 + goto :goto_7
20587 +.end method
20588 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
20589 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
20590 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-05-07 17:01:36.113801075 -0500
20591 @@ -0,0 +1,731 @@
20592 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
20593 +.super Landroid/telephony/TelephonyManager;
20594 +.source "PrivacyTelephonyManager.java"
20597 +# static fields
20598 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
20601 +# instance fields
20602 +.field private context:Landroid/content/Context;
20604 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
20607 +# direct methods
20608 +.method public constructor <init>(Landroid/content/Context;)V
20609 + .registers 4
20611 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
20613 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
20615 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
20617 + const-string/jumbo v1, "privacy"
20619 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
20621 + move-result-object v1
20623 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
20625 + move-result-object v1
20627 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
20629 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20631 + return-void
20632 +.end method
20634 +.method private getNetworkInfo()Ljava/lang/String;
20635 + .registers 8
20637 + const/4 v5, 0x0
20639 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
20641 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20643 + move-result-object v1
20645 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20647 + move-result v2
20649 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20651 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20653 + move-result-object v6
20655 + if-eqz v6, :cond_25
20657 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
20659 + move-result v0
20661 + if-eqz v0, :cond_25
20663 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20665 + const/4 v3, 0x1
20667 + const-string/jumbo v4, "networkInfoCurrent"
20669 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20671 + const-string v5, ""
20673 + :goto_24
20674 + return-object v5
20676 + :cond_25
20677 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20679 + const/4 v3, 0x0
20681 + const-string/jumbo v4, "networkInfoCurrent"
20683 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20685 + goto :goto_24
20686 +.end method
20688 +.method private getSimInfo()Ljava/lang/String;
20689 + .registers 8
20691 + const/4 v5, 0x0
20693 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
20695 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20697 + move-result-object v1
20699 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20701 + move-result v2
20703 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20705 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20707 + move-result-object v6
20709 + if-eqz v6, :cond_25
20711 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
20713 + move-result v0
20715 + if-eqz v0, :cond_25
20717 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20719 + const/4 v3, 0x1
20721 + const-string/jumbo v4, "networkInfoSIM"
20723 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20725 + const-string v5, ""
20727 + :goto_24
20728 + return-object v5
20730 + :cond_25
20731 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20733 + const/4 v3, 0x0
20735 + const-string/jumbo v4, "networkInfoSIM"
20737 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20739 + goto :goto_24
20740 +.end method
20743 +# virtual methods
20744 +.method public getDeviceId()Ljava/lang/String;
20745 + .registers 8
20747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
20749 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20751 + move-result-object v1
20753 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20755 + move-result v2
20757 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20759 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20761 + move-result-object v6
20763 + if-eqz v6, :cond_28
20765 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
20767 + move-result v0
20769 + if-eqz v0, :cond_28
20771 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
20773 + move-result-object v5
20775 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20777 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
20779 + move-result v3
20781 + const-string v4, "deviceID"
20783 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20785 + :goto_27
20786 + return-object v5
20788 + :cond_28
20789 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
20791 + move-result-object v5
20793 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20795 + const/4 v3, 0x0
20797 + const-string v4, "deviceID"
20799 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20801 + goto :goto_27
20802 +.end method
20804 +.method public getLine1Number()Ljava/lang/String;
20805 + .registers 8
20807 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
20809 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20811 + move-result-object v1
20813 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20815 + move-result v2
20817 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20819 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20821 + move-result-object v6
20823 + if-eqz v6, :cond_28
20825 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
20827 + move-result v0
20829 + if-eqz v0, :cond_28
20831 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
20833 + move-result-object v5
20835 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20837 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
20839 + move-result v3
20841 + const-string v4, "line1Number"
20843 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20845 + :goto_27
20846 + return-object v5
20848 + :cond_28
20849 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
20851 + move-result-object v5
20853 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20855 + const/4 v3, 0x0
20857 + const-string v4, "line1Number"
20859 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20861 + goto :goto_27
20862 +.end method
20864 +.method public getNeighboringCellInfo()Ljava/util/List;
20865 + .registers 10
20866 + .annotation system Ldalvik/annotation/Signature;
20867 + value = {
20868 + "()",
20869 + "Ljava/util/List",
20870 + "<",
20871 + "Landroid/telephony/NeighboringCellInfo;",
20872 + ">;"
20874 + .end annotation
20876 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20878 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
20880 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20882 + move-result-object v7
20884 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20886 + move-result v8
20888 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20890 + move-result-object v5
20892 + const/4 v3, 0x0
20894 + const-string v4, "[null]"
20896 + if-eqz v5, :cond_1c
20898 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
20900 + move-result v6
20902 + const/4 v7, 0x1
20904 + if-ne v6, v7, :cond_1d
20906 + :cond_1c
20907 + :goto_1c
20908 + return-object v3
20910 + :cond_1d
20911 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
20913 + move-result v6
20915 + if-eqz v6, :cond_2b
20917 + new-instance v3, Ljava/util/ArrayList;
20919 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
20921 + const-string v4, "[empty list of cells]"
20923 + goto :goto_1c
20925 + :cond_2b
20926 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
20928 + move-result-object v3
20930 + const-string v0, ""
20932 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
20934 + move-result-object v2
20936 + :goto_35
20937 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
20939 + move-result v6
20941 + if-eqz v6, :cond_5f
20943 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
20945 + move-result-object v1
20947 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
20949 + new-instance v6, Ljava/lang/StringBuilder;
20951 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
20953 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20955 + move-result-object v6
20957 + const-string v7, "\t"
20959 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20961 + move-result-object v6
20963 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20965 + move-result-object v6
20967 + const-string v7, "\n"
20969 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20971 + move-result-object v6
20973 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20975 + move-result-object v0
20977 + goto :goto_35
20979 + :cond_5f
20980 + new-instance v6, Ljava/lang/StringBuilder;
20982 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
20984 + const-string v7, "[real value]:\n"
20986 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20988 + move-result-object v6
20990 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20992 + move-result-object v6
20994 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20996 + move-result-object v4
20998 + goto :goto_1c
20999 +.end method
21001 +.method public getNetworkCountryIso()Ljava/lang/String;
21002 + .registers 2
21004 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
21006 + move-result-object v0
21008 + if-nez v0, :cond_a
21010 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
21012 + move-result-object v0
21014 + :cond_a
21015 + return-object v0
21016 +.end method
21018 +.method public getNetworkOperator()Ljava/lang/String;
21019 + .registers 2
21021 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
21023 + move-result-object v0
21025 + if-nez v0, :cond_a
21027 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
21029 + move-result-object v0
21031 + :cond_a
21032 + return-object v0
21033 +.end method
21035 +.method public getNetworkOperatorName()Ljava/lang/String;
21036 + .registers 2
21038 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
21040 + move-result-object v0
21042 + if-nez v0, :cond_a
21044 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
21046 + move-result-object v0
21048 + :cond_a
21049 + return-object v0
21050 +.end method
21052 +.method public getSimCountryIso()Ljava/lang/String;
21053 + .registers 2
21055 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
21057 + move-result-object v0
21059 + if-nez v0, :cond_a
21061 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
21063 + move-result-object v0
21065 + :cond_a
21066 + return-object v0
21067 +.end method
21069 +.method public getSimOperator()Ljava/lang/String;
21070 + .registers 2
21072 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
21074 + move-result-object v0
21076 + if-nez v0, :cond_a
21078 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
21080 + move-result-object v0
21082 + :cond_a
21083 + return-object v0
21084 +.end method
21086 +.method public getSimOperatorName()Ljava/lang/String;
21087 + .registers 2
21089 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
21091 + move-result-object v0
21093 + if-nez v0, :cond_a
21095 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
21097 + move-result-object v0
21099 + :cond_a
21100 + return-object v0
21101 +.end method
21103 +.method public getSimSerialNumber()Ljava/lang/String;
21104 + .registers 8
21106 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
21108 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21110 + move-result-object v1
21112 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21114 + move-result v2
21116 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21118 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21120 + move-result-object v6
21122 + if-eqz v6, :cond_29
21124 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
21126 + move-result v0
21128 + if-eqz v0, :cond_29
21130 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
21132 + move-result-object v5
21134 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21136 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
21138 + move-result v3
21140 + const-string/jumbo v4, "simSerial"
21142 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21144 + :goto_28
21145 + return-object v5
21147 + :cond_29
21148 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
21150 + move-result-object v5
21152 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21154 + const/4 v3, 0x0
21156 + const-string/jumbo v4, "simSerial"
21158 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21160 + goto :goto_28
21161 +.end method
21163 +.method public getSubscriberId()Ljava/lang/String;
21164 + .registers 8
21166 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
21168 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21170 + move-result-object v1
21172 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21174 + move-result v2
21176 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21178 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21180 + move-result-object v6
21182 + if-eqz v6, :cond_29
21184 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
21186 + move-result v0
21188 + if-eqz v0, :cond_29
21190 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
21192 + move-result-object v5
21194 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21196 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
21198 + move-result v3
21200 + const-string/jumbo v4, "subscriberID"
21202 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21204 + :goto_28
21205 + return-object v5
21207 + :cond_29
21208 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
21210 + move-result-object v5
21212 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21214 + const/4 v3, 0x0
21216 + const-string/jumbo v4, "subscriberID"
21218 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21220 + goto :goto_28
21221 +.end method
21223 +.method public getVoiceMailNumber()Ljava/lang/String;
21224 + .registers 8
21226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
21228 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21230 + move-result-object v1
21232 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21234 + move-result v2
21236 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21238 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21240 + move-result-object v6
21242 + if-eqz v6, :cond_28
21244 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
21246 + move-result v0
21248 + if-eqz v0, :cond_28
21250 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
21252 + move-result-object v5
21254 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21256 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
21258 + move-result v3
21260 + const-string v4, "line1Number"
21262 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21264 + :goto_27
21265 + return-object v5
21267 + :cond_28
21268 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
21270 + move-result-object v5
21272 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21274 + const/4 v3, 0x0
21276 + const-string v4, "line1Number"
21278 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21280 + goto :goto_27
21281 +.end method
21283 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
21284 + .registers 4
21286 + and-int/lit8 v0, p2, 0x10
21288 + if-nez v0, :cond_8
21290 + and-int/lit8 v0, p2, 0x20
21292 + if-eqz v0, :cond_21
21294 + :cond_8
21295 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
21297 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
21299 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
21301 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21303 + move-result-object v0
21305 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
21307 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21309 + move-result v0
21311 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V
21313 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
21315 + :goto_20
21316 + return-void
21318 + :cond_21
21319 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
21321 + goto :goto_20
21322 +.end method
21323 diff -Npru stock-framework/smali/android/server/BluetoothService.smali pdroid-framework/smali/android/server/BluetoothService.smali
21324 --- stock-framework/smali/android/server/BluetoothService.smali 2012-05-07 17:01:06.153652511 -0500
21325 +++ pdroid-framework/smali/android/server/BluetoothService.smali 2012-05-07 17:01:36.293801967 -0500
21326 @@ -2361,9 +2361,9 @@
21328 invoke-direct {v4, v7}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
21329 :try_end_19
21330 - .catchall {:try_start_d .. :try_end_19} :catchall_83
21331 - .catch Ljava/io/FileNotFoundException; {:try_start_d .. :try_end_19} :catch_63
21332 - .catch Ljava/io/IOException; {:try_start_d .. :try_end_19} :catch_73
21333 + .catchall {:try_start_d .. :try_end_19} :catchall_7e
21334 + .catch Ljava/io/FileNotFoundException; {:try_start_d .. :try_end_19} :catch_60
21335 + .catch Ljava/io/IOException; {:try_start_d .. :try_end_19} :catch_70
21337 const/16 v7, 0x11
21339 @@ -2390,9 +2390,9 @@
21341 sget-object v5, Landroid/server/BluetoothService;->mDockAddress:Ljava/lang/String;
21342 :try_end_33
21343 - .catchall {:try_start_1b .. :try_end_33} :catchall_8c
21344 - .catch Ljava/io/FileNotFoundException; {:try_start_1b .. :try_end_33} :catch_92
21345 - .catch Ljava/io/IOException; {:try_start_1b .. :try_end_33} :catch_8f
21346 + .catchall {:try_start_1b .. :try_end_33} :catchall_89
21347 + .catch Ljava/io/FileNotFoundException; {:try_start_1b .. :try_end_33} :catch_8f
21348 + .catch Ljava/io/IOException; {:try_start_1b .. :try_end_33} :catch_8c
21350 if-eqz v4, :cond_a
21352 @@ -2433,18 +2433,20 @@
21354 invoke-static {v7, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
21355 :try_end_53
21356 - .catchall {:try_start_3b .. :try_end_53} :catchall_8c
21357 - .catch Ljava/io/FileNotFoundException; {:try_start_3b .. :try_end_53} :catch_92
21358 - .catch Ljava/io/IOException; {:try_start_3b .. :try_end_53} :catch_8f
21359 + .catchall {:try_start_3b .. :try_end_53} :catchall_89
21360 + .catch Ljava/io/FileNotFoundException; {:try_start_3b .. :try_end_53} :catch_8f
21361 + .catch Ljava/io/IOException; {:try_start_3b .. :try_end_53} :catch_8c
21363 - if-eqz v4, :cond_95
21364 + if-eqz v4, :cond_58
21366 :try_start_55
21367 invoke-virtual {v4}, Ljava/io/BufferedInputStream;->close()V
21368 :try_end_58
21369 .catchall {:try_start_55 .. :try_end_58} :catchall_5d
21370 - .catch Ljava/io/IOException; {:try_start_55 .. :try_end_58} :catch_60
21371 + .catch Ljava/io/IOException; {:try_start_55 .. :try_end_58} :catch_87
21373 + :cond_58
21374 + :goto_58
21375 move-object v3, v4
21377 :cond_59
21378 @@ -2466,117 +2468,105 @@
21379 throw v5
21381 :catch_60
21382 - move-exception v7
21384 - move-object v3, v4
21386 - goto :goto_59
21388 - :catch_63
21389 move-exception v2
21391 - :goto_64
21392 - :try_start_64
21393 + :goto_61
21394 + :try_start_61
21395 const-string v7, "BluetoothService"
21397 const-string v8, "FileNotFoundException while trying to read dock address"
21399 invoke-static {v7, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
21400 - :try_end_6b
21401 - .catchall {:try_start_64 .. :try_end_6b} :catchall_83
21402 + :try_end_68
21403 + .catchall {:try_start_61 .. :try_end_68} :catchall_7e
21405 if-eqz v3, :cond_59
21407 - :try_start_6d
21408 + :try_start_6a
21409 invoke-virtual {v3}, Ljava/io/BufferedInputStream;->close()V
21410 - :try_end_70
21411 - .catchall {:try_start_6d .. :try_end_70} :catchall_5d
21412 - .catch Ljava/io/IOException; {:try_start_6d .. :try_end_70} :catch_71
21413 + :try_end_6d
21414 + .catchall {:try_start_6a .. :try_end_6d} :catchall_5d
21415 + .catch Ljava/io/IOException; {:try_start_6a .. :try_end_6d} :catch_6e
21417 goto :goto_59
21419 - :catch_71
21420 + :catch_6e
21421 move-exception v7
21423 goto :goto_59
21425 - :catch_73
21426 + :catch_70
21427 move-exception v2
21429 - :goto_74
21430 - :try_start_74
21431 + :goto_71
21432 + :try_start_71
21433 const-string v7, "BluetoothService"
21435 const-string v8, "IOException while trying to read dock address"
21437 invoke-static {v7, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
21438 - :try_end_7b
21439 - .catchall {:try_start_74 .. :try_end_7b} :catchall_83
21440 + :try_end_78
21441 + .catchall {:try_start_71 .. :try_end_78} :catchall_7e
21443 if-eqz v3, :cond_59
21445 - :try_start_7d
21446 + :try_start_7a
21447 invoke-virtual {v3}, Ljava/io/BufferedInputStream;->close()V
21448 - :try_end_80
21449 - .catchall {:try_start_7d .. :try_end_80} :catchall_5d
21450 - .catch Ljava/io/IOException; {:try_start_7d .. :try_end_80} :catch_81
21452 - goto :goto_59
21454 - :catch_81
21455 - move-exception v7
21456 + :try_end_7d
21457 + .catchall {:try_start_7a .. :try_end_7d} :catchall_5d
21458 + .catch Ljava/io/IOException; {:try_start_7a .. :try_end_7d} :catch_6e
21460 goto :goto_59
21462 - :catchall_83
21463 + :catchall_7e
21464 move-exception v5
21466 - :goto_84
21467 - if-eqz v3, :cond_89
21468 + :goto_7f
21469 + if-eqz v3, :cond_84
21471 - :try_start_86
21472 + :try_start_81
21473 invoke-virtual {v3}, Ljava/io/BufferedInputStream;->close()V
21474 - :try_end_89
21475 - .catchall {:try_start_86 .. :try_end_89} :catchall_5d
21476 - .catch Ljava/io/IOException; {:try_start_86 .. :try_end_89} :catch_8a
21478 - :cond_89
21479 - :goto_89
21480 - :try_start_89
21481 + :try_end_84
21482 + .catchall {:try_start_81 .. :try_end_84} :catchall_5d
21483 + .catch Ljava/io/IOException; {:try_start_81 .. :try_end_84} :catch_85
21485 + :cond_84
21486 + :goto_84
21487 + :try_start_84
21488 throw v5
21489 - :try_end_8a
21490 - .catchall {:try_start_89 .. :try_end_8a} :catchall_5d
21491 + :try_end_85
21492 + .catchall {:try_start_84 .. :try_end_85} :catchall_5d
21494 - :catch_8a
21495 + :catch_85
21496 move-exception v7
21498 - goto :goto_89
21499 + goto :goto_84
21501 + :catch_87
21502 + move-exception v7
21504 - :catchall_8c
21505 + goto :goto_58
21507 + :catchall_89
21508 move-exception v5
21510 move-object v3, v4
21512 - goto :goto_84
21513 + goto :goto_7f
21515 - :catch_8f
21516 + :catch_8c
21517 move-exception v2
21519 move-object v3, v4
21521 - goto :goto_74
21522 + goto :goto_71
21524 - :catch_92
21525 + :catch_8f
21526 move-exception v2
21528 move-object v3, v4
21530 - goto :goto_64
21532 - :cond_95
21533 - move-object v3, v4
21535 - goto :goto_59
21536 + goto :goto_61
21537 .end method
21539 .method private readIncomingConnectionState()V
21540 @@ -2595,9 +2585,9 @@
21542 invoke-direct {v3, v9}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
21543 :try_end_b
21544 - .catchall {:try_start_4 .. :try_end_b} :catchall_a2
21545 - .catch Ljava/io/FileNotFoundException; {:try_start_4 .. :try_end_b} :catch_b9
21546 - .catch Ljava/io/IOException; {:try_start_4 .. :try_end_b} :catch_7f
21547 + .catchall {:try_start_4 .. :try_end_b} :catchall_9f
21548 + .catch Ljava/io/FileNotFoundException; {:try_start_4 .. :try_end_b} :catch_b6
21549 + .catch Ljava/io/IOException; {:try_start_4 .. :try_end_b} :catch_7c
21551 :try_start_b
21552 new-instance v4, Ljava/io/DataInputStream;
21553 @@ -2672,9 +2662,9 @@
21555 invoke-virtual {v9, v11, v6}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
21556 :try_end_51
21557 - .catchall {:try_start_b .. :try_end_51} :catchall_b3
21558 + .catchall {:try_start_b .. :try_end_51} :catchall_b0
21559 .catch Ljava/io/FileNotFoundException; {:try_start_b .. :try_end_51} :catch_52
21560 - .catch Ljava/io/IOException; {:try_start_b .. :try_end_51} :catch_b6
21561 + .catch Ljava/io/IOException; {:try_start_b .. :try_end_51} :catch_b3
21563 goto :goto_1a
21565 @@ -2709,50 +2699,45 @@
21567 invoke-static {v9}, Landroid/server/BluetoothService;->log(Ljava/lang/String;)V
21568 :try_end_6e
21569 - .catchall {:try_start_54 .. :try_end_6e} :catchall_a2
21570 + .catchall {:try_start_54 .. :try_end_6e} :catchall_9f
21572 if-eqz v2, :cond_73
21574 :try_start_70
21575 invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
21576 :try_end_73
21577 - .catchall {:try_start_70 .. :try_end_73} :catchall_a9
21578 - .catch Ljava/io/IOException; {:try_start_70 .. :try_end_73} :catch_ac
21579 + .catchall {:try_start_70 .. :try_end_73} :catchall_a6
21580 + .catch Ljava/io/IOException; {:try_start_70 .. :try_end_73} :catch_9d
21582 :cond_73
21583 :goto_73
21584 :try_start_73
21585 monitor-exit v10
21586 :try_end_74
21587 - .catchall {:try_start_73 .. :try_end_74} :catchall_a9
21588 + .catchall {:try_start_73 .. :try_end_74} :catchall_a6
21590 return-void
21592 :cond_75
21593 - if-eqz v3, :cond_bb
21594 + if-eqz v3, :cond_7a
21596 :try_start_77
21597 invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V
21598 :try_end_7a
21599 - .catchall {:try_start_77 .. :try_end_7a} :catchall_b0
21600 - .catch Ljava/io/IOException; {:try_start_77 .. :try_end_7a} :catch_7c
21601 + .catchall {:try_start_77 .. :try_end_7a} :catchall_ad
21602 + .catch Ljava/io/IOException; {:try_start_77 .. :try_end_7a} :catch_ab
21604 + :cond_7a
21605 + :goto_7a
21606 move-object v2, v3
21608 goto :goto_73
21610 :catch_7c
21611 - move-exception v9
21613 - move-object v2, v3
21615 - goto :goto_73
21617 - :catch_7f
21618 move-exception v0
21620 - :goto_80
21621 - :try_start_80
21622 + :goto_7d
21623 + :try_start_7d
21624 new-instance v9, Ljava/lang/StringBuilder;
21626 invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
21627 @@ -2776,91 +2761,86 @@
21628 move-result-object v9
21630 invoke-static {v9}, Landroid/server/BluetoothService;->log(Ljava/lang/String;)V
21631 - :try_end_9a
21632 - .catchall {:try_start_80 .. :try_end_9a} :catchall_a2
21633 + :try_end_97
21634 + .catchall {:try_start_7d .. :try_end_97} :catchall_9f
21636 if-eqz v2, :cond_73
21638 - :try_start_9c
21639 + :try_start_99
21640 invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
21641 - :try_end_9f
21642 - .catchall {:try_start_9c .. :try_end_9f} :catchall_a9
21643 - .catch Ljava/io/IOException; {:try_start_9c .. :try_end_9f} :catch_a0
21644 + :try_end_9c
21645 + .catchall {:try_start_99 .. :try_end_9c} :catchall_a6
21646 + .catch Ljava/io/IOException; {:try_start_99 .. :try_end_9c} :catch_9d
21648 goto :goto_73
21650 - :catch_a0
21651 + :catch_9d
21652 move-exception v9
21654 goto :goto_73
21656 - :catchall_a2
21657 + :catchall_9f
21658 move-exception v9
21660 - :goto_a3
21661 - if-eqz v2, :cond_a8
21662 + :goto_a0
21663 + if-eqz v2, :cond_a5
21665 - :try_start_a5
21666 + :try_start_a2
21667 invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
21668 - :try_end_a8
21669 - .catchall {:try_start_a5 .. :try_end_a8} :catchall_a9
21670 - .catch Ljava/io/IOException; {:try_start_a5 .. :try_end_a8} :catch_ae
21671 + :try_end_a5
21672 + .catchall {:try_start_a2 .. :try_end_a5} :catchall_a6
21673 + .catch Ljava/io/IOException; {:try_start_a2 .. :try_end_a5} :catch_a9
21675 - :cond_a8
21676 - :goto_a8
21677 - :try_start_a8
21678 + :cond_a5
21679 + :goto_a5
21680 + :try_start_a5
21681 throw v9
21683 - :catchall_a9
21684 + :catchall_a6
21685 move-exception v9
21687 - :goto_aa
21688 + :goto_a7
21689 monitor-exit v10
21690 - :try_end_ab
21691 - .catchall {:try_start_a8 .. :try_end_ab} :catchall_a9
21692 + :try_end_a8
21693 + .catchall {:try_start_a5 .. :try_end_a8} :catchall_a6
21695 throw v9
21697 - :catch_ac
21698 - move-exception v9
21699 + :catch_a9
21700 + move-exception v11
21702 - goto :goto_73
21703 + goto :goto_a5
21705 - :catch_ae
21706 - move-exception v11
21707 + :catch_ab
21708 + move-exception v9
21710 - goto :goto_a8
21711 + goto :goto_7a
21713 - :catchall_b0
21714 + :catchall_ad
21715 move-exception v9
21717 move-object v2, v3
21719 - goto :goto_aa
21720 + goto :goto_a7
21722 - :catchall_b3
21723 + :catchall_b0
21724 move-exception v9
21726 move-object v2, v3
21728 - goto :goto_a3
21729 + goto :goto_a0
21731 - :catch_b6
21732 + :catch_b3
21733 move-exception v0
21735 move-object v2, v3
21737 - goto :goto_80
21738 + goto :goto_7d
21740 - :catch_b9
21741 + :catch_b6
21742 move-exception v0
21744 goto :goto_54
21746 - :cond_bb
21747 - move-object v2, v3
21749 - goto :goto_73
21750 .end method
21752 .method private registerForAirplaneMode(Landroid/content/IntentFilter;)V
21753 @@ -3158,26 +3138,28 @@
21755 invoke-direct {v2, v3, v4}, Ljava/io/RandomAccessFile;-><init>(Ljava/lang/String;Ljava/lang/String;)V
21756 :try_end_b
21757 - .catchall {:try_start_1 .. :try_end_b} :catchall_60
21758 - .catch Ljava/io/FileNotFoundException; {:try_start_1 .. :try_end_b} :catch_1a
21759 - .catch Ljava/io/IOException; {:try_start_1 .. :try_end_b} :catch_3d
21760 + .catchall {:try_start_1 .. :try_end_b} :catchall_5b
21761 + .catch Ljava/io/FileNotFoundException; {:try_start_1 .. :try_end_b} :catch_17
21762 + .catch Ljava/io/IOException; {:try_start_1 .. :try_end_b} :catch_3a
21764 const-wide/16 v3, 0x0
21766 :try_start_d
21767 invoke-virtual {v2, v3, v4}, Ljava/io/RandomAccessFile;->setLength(J)V
21768 :try_end_10
21769 - .catchall {:try_start_d .. :try_end_10} :catchall_69
21770 - .catch Ljava/io/FileNotFoundException; {:try_start_d .. :try_end_10} :catch_6f
21771 - .catch Ljava/io/IOException; {:try_start_d .. :try_end_10} :catch_6c
21772 + .catchall {:try_start_d .. :try_end_10} :catchall_66
21773 + .catch Ljava/io/FileNotFoundException; {:try_start_d .. :try_end_10} :catch_6c
21774 + .catch Ljava/io/IOException; {:try_start_d .. :try_end_10} :catch_69
21776 - if-eqz v2, :cond_72
21777 + if-eqz v2, :cond_15
21779 :try_start_12
21780 invoke-virtual {v2}, Ljava/io/RandomAccessFile;->close()V
21781 :try_end_15
21782 - .catch Ljava/io/IOException; {:try_start_12 .. :try_end_15} :catch_17
21783 + .catch Ljava/io/IOException; {:try_start_12 .. :try_end_15} :catch_64
21785 + :cond_15
21786 + :goto_15
21787 move-object v1, v2
21789 :cond_16
21790 @@ -3185,17 +3167,10 @@
21791 return-void
21793 :catch_17
21794 - move-exception v3
21796 - move-object v1, v2
21798 - goto :goto_16
21800 - :catch_1a
21801 move-exception v0
21803 - :goto_1b
21804 - :try_start_1b
21805 + :goto_18
21806 + :try_start_18
21807 new-instance v3, Ljava/lang/StringBuilder;
21809 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
21810 @@ -3219,28 +3194,28 @@
21811 move-result-object v3
21813 invoke-static {v3}, Landroid/server/BluetoothService;->log(Ljava/lang/String;)V
21814 - :try_end_35
21815 - .catchall {:try_start_1b .. :try_end_35} :catchall_60
21816 + :try_end_32
21817 + .catchall {:try_start_18 .. :try_end_32} :catchall_5b
21819 if-eqz v1, :cond_16
21821 - :try_start_37
21822 + :try_start_34
21823 invoke-virtual {v1}, Ljava/io/RandomAccessFile;->close()V
21824 - :try_end_3a
21825 - .catch Ljava/io/IOException; {:try_start_37 .. :try_end_3a} :catch_3b
21826 + :try_end_37
21827 + .catch Ljava/io/IOException; {:try_start_34 .. :try_end_37} :catch_38
21829 goto :goto_16
21831 - :catch_3b
21832 + :catch_38
21833 move-exception v3
21835 goto :goto_16
21837 - :catch_3d
21838 + :catch_3a
21839 move-exception v0
21841 - :goto_3e
21842 - :try_start_3e
21843 + :goto_3b
21844 + :try_start_3b
21845 new-instance v3, Ljava/lang/StringBuilder;
21847 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
21848 @@ -3264,68 +3239,63 @@
21849 move-result-object v3
21851 invoke-static {v3}, Landroid/server/BluetoothService;->log(Ljava/lang/String;)V
21852 - :try_end_58
21853 - .catchall {:try_start_3e .. :try_end_58} :catchall_60
21854 + :try_end_55
21855 + .catchall {:try_start_3b .. :try_end_55} :catchall_5b
21857 if-eqz v1, :cond_16
21859 - :try_start_5a
21860 + :try_start_57
21861 invoke-virtual {v1}, Ljava/io/RandomAccessFile;->close()V
21862 - :try_end_5d
21863 - .catch Ljava/io/IOException; {:try_start_5a .. :try_end_5d} :catch_5e
21865 - goto :goto_16
21867 - :catch_5e
21868 - move-exception v3
21869 + :try_end_5a
21870 + .catch Ljava/io/IOException; {:try_start_57 .. :try_end_5a} :catch_38
21872 goto :goto_16
21874 - :catchall_60
21875 + :catchall_5b
21876 move-exception v3
21878 - :goto_61
21879 - if-eqz v1, :cond_66
21880 + :goto_5c
21881 + if-eqz v1, :cond_61
21883 - :try_start_63
21884 + :try_start_5e
21885 invoke-virtual {v1}, Ljava/io/RandomAccessFile;->close()V
21886 - :try_end_66
21887 - .catch Ljava/io/IOException; {:try_start_63 .. :try_end_66} :catch_67
21888 + :try_end_61
21889 + .catch Ljava/io/IOException; {:try_start_5e .. :try_end_61} :catch_62
21891 - :cond_66
21892 - :goto_66
21893 + :cond_61
21894 + :goto_61
21895 throw v3
21897 - :catch_67
21898 + :catch_62
21899 move-exception v4
21901 - goto :goto_66
21902 + goto :goto_61
21904 - :catchall_69
21905 + :catch_64
21906 move-exception v3
21908 - move-object v1, v2
21910 - goto :goto_61
21911 + goto :goto_15
21913 - :catch_6c
21914 - move-exception v0
21915 + :catchall_66
21916 + move-exception v3
21918 move-object v1, v2
21920 - goto :goto_3e
21921 + goto :goto_5c
21923 - :catch_6f
21924 + :catch_69
21925 move-exception v0
21927 move-object v1, v2
21929 - goto :goto_1b
21930 + goto :goto_3b
21932 + :catch_6c
21933 + move-exception v0
21935 - :cond_72
21936 move-object v1, v2
21938 - goto :goto_16
21939 + goto :goto_18
21940 .end method
21942 .method private updateCountersAndCheckForConnectionStateChange(II)Z
21943 @@ -3774,17 +3744,17 @@
21945 invoke-virtual {v2, v6}, Ljava/io/BufferedWriter;->write(Ljava/lang/String;)V
21946 :try_end_36
21947 - .catchall {:try_start_10 .. :try_end_36} :catchall_70
21948 - .catch Ljava/io/FileNotFoundException; {:try_start_10 .. :try_end_36} :catch_76
21949 - .catch Ljava/io/IOException; {:try_start_10 .. :try_end_36} :catch_73
21950 + .catchall {:try_start_10 .. :try_end_36} :catchall_6e
21951 + .catch Ljava/io/FileNotFoundException; {:try_start_10 .. :try_end_36} :catch_74
21952 + .catch Ljava/io/IOException; {:try_start_10 .. :try_end_36} :catch_71
21954 if-eqz v2, :cond_3b
21956 :try_start_38
21957 invoke-virtual {v2}, Ljava/io/BufferedWriter;->close()V
21958 :try_end_3b
21959 - .catchall {:try_start_38 .. :try_end_3b} :catchall_79
21960 - .catch Ljava/io/IOException; {:try_start_38 .. :try_end_3b} :catch_6a
21961 + .catchall {:try_start_38 .. :try_end_3b} :catchall_77
21962 + .catch Ljava/io/IOException; {:try_start_38 .. :try_end_3b} :catch_6c
21964 :cond_3b
21965 :goto_3b
21966 @@ -3814,7 +3784,7 @@
21967 invoke-virtual {v1}, Ljava/io/BufferedWriter;->close()V
21968 :try_end_4b
21969 .catchall {:try_start_48 .. :try_end_4b} :catchall_67
21970 - .catch Ljava/io/IOException; {:try_start_48 .. :try_end_4b} :catch_6c
21971 + .catch Ljava/io/IOException; {:try_start_48 .. :try_end_4b} :catch_5e
21973 :cond_4b
21974 :goto_4b
21975 @@ -3867,7 +3837,7 @@
21976 invoke-virtual {v1}, Ljava/io/BufferedWriter;->close()V
21977 :try_end_66
21978 .catchall {:try_start_63 .. :try_end_66} :catchall_67
21979 - .catch Ljava/io/IOException; {:try_start_63 .. :try_end_66} :catch_6e
21980 + .catch Ljava/io/IOException; {:try_start_63 .. :try_end_66} :catch_6a
21982 :cond_66
21983 :goto_66
21984 @@ -3887,40 +3857,35 @@
21985 :catch_6a
21986 move-exception v5
21988 - goto :goto_3b
21989 + goto :goto_66
21991 :catch_6c
21992 - move-exception v4
21994 - goto :goto_4b
21996 - :catch_6e
21997 move-exception v5
21999 - goto :goto_66
22000 + goto :goto_3b
22002 - :catchall_70
22003 + :catchall_6e
22004 move-exception v4
22006 move-object v1, v2
22008 goto :goto_61
22010 - :catch_73
22011 + :catch_71
22012 move-exception v0
22014 move-object v1, v2
22016 goto :goto_51
22018 - :catch_76
22019 + :catch_74
22020 move-exception v0
22022 move-object v1, v2
22024 goto :goto_3f
22026 - :catchall_79
22027 + :catchall_77
22028 move-exception v4
22030 move-object v1, v2
22031 @@ -4844,8 +4809,8 @@
22033 invoke-interface {v4}, Lcom/android/internal/app/IBatteryStats;->noteBluetoothOff()V
22034 :try_end_47
22035 - .catchall {:try_start_42 .. :try_end_47} :catchall_51
22036 - .catch Landroid/os/RemoteException; {:try_start_42 .. :try_end_47} :catch_4c
22037 + .catchall {:try_start_42 .. :try_end_47} :catchall_4c
22038 + .catch Landroid/os/RemoteException; {:try_start_42 .. :try_end_47} :catch_51
22040 :try_start_47
22041 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22042 @@ -4857,22 +4822,22 @@
22044 return-void
22046 - :catch_4c
22047 + :catchall_4c
22048 move-exception v4
22050 :try_start_4d
22051 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22053 - goto :goto_4a
22054 + throw v4
22056 - :catchall_51
22057 + :catch_51
22058 move-exception v4
22060 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22061 + :try_end_55
22062 + .catchall {:try_start_4d .. :try_end_55} :catchall_24
22064 - throw v4
22065 - :try_end_56
22066 - .catchall {:try_start_4d .. :try_end_56} :catchall_24
22067 + goto :goto_4a
22068 .end method
22070 .method clearApplicationStateChangeTracker()V
22071 @@ -9224,12 +9189,12 @@
22073 invoke-interface {v3}, Lcom/android/internal/app/IBatteryStats;->noteBluetoothOn()V
22074 :try_end_c
22075 - .catchall {:try_start_7 .. :try_end_c} :catchall_1c
22076 + .catchall {:try_start_7 .. :try_end_c} :catchall_19
22077 .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_c} :catch_10
22079 + :goto_c
22080 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22082 - :goto_f
22083 return-void
22085 :catch_10
22086 @@ -9242,13 +9207,11 @@
22088 invoke-static {v3, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
22089 :try_end_18
22090 - .catchall {:try_start_11 .. :try_end_18} :catchall_1c
22092 - invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22093 + .catchall {:try_start_11 .. :try_end_18} :catchall_19
22095 - goto :goto_f
22096 + goto :goto_c
22098 - :catchall_1c
22099 + :catchall_19
22100 move-exception v3
22102 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22103 @@ -11399,7 +11362,7 @@
22105 invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
22106 :try_end_11
22107 - .catchall {:try_start_3 .. :try_end_11} :catchall_bf
22108 + .catchall {:try_start_3 .. :try_end_11} :catchall_bc
22110 :try_start_11
22111 new-instance v4, Ljava/io/BufferedWriter;
22112 @@ -11414,9 +11377,9 @@
22114 invoke-direct {v4, v7}, Ljava/io/BufferedWriter;-><init>(Ljava/io/Writer;)V
22115 :try_end_1e
22116 - .catchall {:try_start_11 .. :try_end_1e} :catchall_b8
22117 - .catch Ljava/io/FileNotFoundException; {:try_start_11 .. :try_end_1e} :catch_cc
22118 - .catch Ljava/io/IOException; {:try_start_11 .. :try_end_1e} :catch_95
22119 + .catchall {:try_start_11 .. :try_end_1e} :catchall_b5
22120 + .catch Ljava/io/FileNotFoundException; {:try_start_11 .. :try_end_1e} :catch_c9
22121 + .catch Ljava/io/IOException; {:try_start_11 .. :try_end_1e} :catch_92
22123 :try_start_1e
22124 iget-object v7, p0, Landroid/server/BluetoothService;->mIncomingConnections:Ljava/util/HashMap;
22125 @@ -11480,9 +11443,9 @@
22127 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22128 :try_end_60
22129 - .catchall {:try_start_1e .. :try_end_60} :catchall_c6
22130 + .catchall {:try_start_1e .. :try_end_60} :catchall_c3
22131 .catch Ljava/io/FileNotFoundException; {:try_start_1e .. :try_end_60} :catch_61
22132 - .catch Ljava/io/IOException; {:try_start_1e .. :try_end_60} :catch_c9
22133 + .catch Ljava/io/IOException; {:try_start_1e .. :try_end_60} :catch_c6
22135 goto :goto_28
22137 @@ -11517,22 +11480,22 @@
22139 invoke-static {v7}, Landroid/server/BluetoothService;->log(Ljava/lang/String;)V
22140 :try_end_7d
22141 - .catchall {:try_start_63 .. :try_end_7d} :catchall_b8
22142 + .catchall {:try_start_63 .. :try_end_7d} :catchall_b5
22144 if-eqz v3, :cond_82
22146 :try_start_7f
22147 invoke-virtual {v3}, Ljava/io/BufferedWriter;->close()V
22148 :try_end_82
22149 - .catchall {:try_start_7f .. :try_end_82} :catchall_bf
22150 - .catch Ljava/io/IOException; {:try_start_7f .. :try_end_82} :catch_c2
22151 + .catchall {:try_start_7f .. :try_end_82} :catchall_bc
22152 + .catch Ljava/io/IOException; {:try_start_7f .. :try_end_82} :catch_b3
22154 :cond_82
22155 :goto_82
22156 :try_start_82
22157 monitor-exit v8
22158 :try_end_83
22159 - .catchall {:try_start_82 .. :try_end_83} :catchall_bf
22160 + .catchall {:try_start_82 .. :try_end_83} :catchall_bc
22162 return-void
22164 @@ -11544,34 +11507,29 @@
22166 invoke-virtual {v4, v7}, Ljava/io/BufferedWriter;->write(Ljava/lang/String;)V
22167 :try_end_8b
22168 - .catchall {:try_start_84 .. :try_end_8b} :catchall_c6
22169 + .catchall {:try_start_84 .. :try_end_8b} :catchall_c3
22170 .catch Ljava/io/FileNotFoundException; {:try_start_84 .. :try_end_8b} :catch_61
22171 - .catch Ljava/io/IOException; {:try_start_84 .. :try_end_8b} :catch_c9
22172 + .catch Ljava/io/IOException; {:try_start_84 .. :try_end_8b} :catch_c6
22174 - if-eqz v4, :cond_ce
22175 + if-eqz v4, :cond_90
22177 :try_start_8d
22178 invoke-virtual {v4}, Ljava/io/BufferedWriter;->close()V
22179 :try_end_90
22180 - .catchall {:try_start_8d .. :try_end_90} :catchall_bf
22181 - .catch Ljava/io/IOException; {:try_start_8d .. :try_end_90} :catch_92
22182 + .catchall {:try_start_8d .. :try_end_90} :catchall_bc
22183 + .catch Ljava/io/IOException; {:try_start_8d .. :try_end_90} :catch_c1
22185 + :cond_90
22186 + :goto_90
22187 move-object v3, v4
22189 goto :goto_82
22191 :catch_92
22192 - move-exception v7
22194 - move-object v3, v4
22196 - goto :goto_82
22198 - :catch_95
22199 move-exception v1
22201 - :goto_96
22202 - :try_start_96
22203 + :goto_93
22204 + :try_start_93
22205 new-instance v7, Ljava/lang/StringBuilder;
22207 invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
22208 @@ -11595,81 +11553,76 @@
22209 move-result-object v7
22211 invoke-static {v7}, Landroid/server/BluetoothService;->log(Ljava/lang/String;)V
22212 - :try_end_b0
22213 - .catchall {:try_start_96 .. :try_end_b0} :catchall_b8
22214 + :try_end_ad
22215 + .catchall {:try_start_93 .. :try_end_ad} :catchall_b5
22217 if-eqz v3, :cond_82
22219 - :try_start_b2
22220 + :try_start_af
22221 invoke-virtual {v3}, Ljava/io/BufferedWriter;->close()V
22222 - :try_end_b5
22223 - .catchall {:try_start_b2 .. :try_end_b5} :catchall_bf
22224 - .catch Ljava/io/IOException; {:try_start_b2 .. :try_end_b5} :catch_b6
22225 + :try_end_b2
22226 + .catchall {:try_start_af .. :try_end_b2} :catchall_bc
22227 + .catch Ljava/io/IOException; {:try_start_af .. :try_end_b2} :catch_b3
22229 goto :goto_82
22231 - :catch_b6
22232 + :catch_b3
22233 move-exception v7
22235 goto :goto_82
22237 - :catchall_b8
22238 + :catchall_b5
22239 move-exception v7
22241 - :goto_b9
22242 - if-eqz v3, :cond_be
22243 + :goto_b6
22244 + if-eqz v3, :cond_bb
22246 - :try_start_bb
22247 + :try_start_b8
22248 invoke-virtual {v3}, Ljava/io/BufferedWriter;->close()V
22249 - :try_end_be
22250 - .catchall {:try_start_bb .. :try_end_be} :catchall_bf
22251 - .catch Ljava/io/IOException; {:try_start_bb .. :try_end_be} :catch_c4
22252 + :try_end_bb
22253 + .catchall {:try_start_b8 .. :try_end_bb} :catchall_bc
22254 + .catch Ljava/io/IOException; {:try_start_b8 .. :try_end_bb} :catch_bf
22256 - :cond_be
22257 - :goto_be
22258 - :try_start_be
22259 + :cond_bb
22260 + :goto_bb
22261 + :try_start_bb
22262 throw v7
22264 - :catchall_bf
22265 + :catchall_bc
22266 move-exception v7
22268 monitor-exit v8
22269 - :try_end_c1
22270 - .catchall {:try_start_be .. :try_end_c1} :catchall_bf
22271 + :try_end_be
22272 + .catchall {:try_start_bb .. :try_end_be} :catchall_bc
22274 throw v7
22276 - :catch_c2
22277 - move-exception v7
22278 + :catch_bf
22279 + move-exception v9
22281 - goto :goto_82
22282 + goto :goto_bb
22284 - :catch_c4
22285 - move-exception v9
22286 + :catch_c1
22287 + move-exception v7
22289 - goto :goto_be
22290 + goto :goto_90
22292 - :catchall_c6
22293 + :catchall_c3
22294 move-exception v7
22296 move-object v3, v4
22298 - goto :goto_b9
22299 + goto :goto_b6
22301 - :catch_c9
22302 + :catch_c6
22303 move-exception v1
22305 move-object v3, v4
22307 - goto :goto_96
22308 + goto :goto_93
22310 - :catch_cc
22311 + :catch_c9
22312 move-exception v1
22314 goto :goto_63
22316 - :cond_ce
22317 - move-object v3, v4
22319 - goto :goto_82
22320 .end method
22321 diff -Npru stock-framework/smali/android/service/textservice/SpellCheckerService$InternalISpellCheckerSession.smali pdroid-framework/smali/android/service/textservice/SpellCheckerService$InternalISpellCheckerSession.smali
22322 --- stock-framework/smali/android/service/textservice/SpellCheckerService$InternalISpellCheckerSession.smali 2012-05-07 17:01:06.157652527 -0500
22323 +++ pdroid-framework/smali/android/service/textservice/SpellCheckerService$InternalISpellCheckerSession.smali 2012-05-07 17:01:36.297801981 -0500
22324 @@ -161,25 +161,23 @@
22326 invoke-interface {v1, v2}, Lcom/android/internal/textservice/ISpellCheckerSessionListener;->onGetSuggestions([Landroid/view/textservice/SuggestionsInfo;)V
22327 :try_end_18
22328 - .catchall {:try_start_a .. :try_end_18} :catchall_21
22329 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_18} :catch_1c
22330 + .catchall {:try_start_a .. :try_end_18} :catchall_1c
22331 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_18} :catch_21
22333 + :goto_18
22334 invoke-static {v0}, Landroid/os/Process;->setThreadPriority(I)V
22336 - :goto_1b
22337 return-void
22339 - :catch_1c
22340 + :catchall_1c
22341 move-exception v1
22343 invoke-static {v0}, Landroid/os/Process;->setThreadPriority(I)V
22345 - goto :goto_1b
22346 + throw v1
22348 - :catchall_21
22349 + :catch_21
22350 move-exception v1
22352 - invoke-static {v0}, Landroid/os/Process;->setThreadPriority(I)V
22354 - throw v1
22355 + goto :goto_18
22356 .end method
22357 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
22358 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-05-07 17:01:06.217652825 -0500
22359 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-05-07 17:01:36.389802441 -0500
22360 @@ -64,47 +64,317 @@
22361 .end method
22363 .method public onCallStateChanged(ILjava/lang/String;)V
22364 - .registers 6
22365 + .registers 19
22367 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22368 + move-object/from16 v0, p0
22370 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
22371 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22373 - const/16 v1, 0x20
22374 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
22375 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
22377 - const/4 v2, 0x0
22378 + move-result-object v3
22380 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
22381 + if-eqz v3, :cond_99
22383 - move-result-object v0
22384 + if-eqz p2, :cond_99
22386 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
22388 + move-result v3
22390 + if-nez v3, :cond_99
22392 + move-object/from16 v0, p0
22394 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22396 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
22397 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
22399 + move-result-object v3
22401 + const-string/jumbo v4, "privacy"
22403 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
22405 + move-result-object v2
22407 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
22409 + move-object/from16 v0, p0
22411 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22413 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
22414 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
22416 + move-result-object v3
22418 + move-object/from16 v0, p0
22420 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22422 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
22423 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
22425 + move-result v4
22427 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22429 + move-result-object v8
22431 + if-eqz v8, :cond_6a
22433 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
22435 + move-result v3
22437 + if-eqz v3, :cond_6a
22439 + const-string v7, ""
22441 + move-object/from16 v0, p0
22443 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22445 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
22447 + const/16 v4, 0x20
22449 + const/4 v5, 0x0
22451 + move/from16 v0, p1
22453 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
22455 + move-result-object v3
22457 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
22458 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
22460 + move-object/from16 v0, p0
22462 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22464 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
22465 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
22467 + move-result-object v3
22469 + move-object/from16 v0, p0
22471 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22473 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
22474 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
22476 + move-result v4
22478 + const/4 v5, 0x1
22480 + const-string v6, "incomingCall"
22482 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22484 + :goto_69
22485 return-void
22487 + :cond_6a
22488 + move-object/from16 v0, p0
22490 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22492 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
22494 + const/16 v4, 0x20
22496 + const/4 v5, 0x0
22498 + move/from16 v0, p1
22500 + move-object/from16 v1, p2
22502 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
22504 + move-result-object v3
22506 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
22508 + move-object/from16 v0, p0
22510 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22512 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
22513 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
22515 + move-result-object v10
22517 + move-object/from16 v0, p0
22519 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22521 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
22522 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
22524 + move-result v11
22526 + const/4 v12, 0x0
22528 + const-string v13, "incomingCall"
22530 + move-object v9, v2
22532 + move-object/from16 v14, p2
22534 + move-object v15, v8
22536 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22538 + goto :goto_69
22540 + :cond_99
22541 + move-object/from16 v0, p0
22543 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22545 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
22547 + const/16 v4, 0x20
22549 + const/4 v5, 0x0
22551 + move/from16 v0, p1
22553 + move-object/from16 v1, p2
22555 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
22557 + move-result-object v3
22559 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
22561 + goto :goto_69
22562 .end method
22564 .method public onCellLocationChanged(Landroid/os/Bundle;)V
22565 - .registers 6
22566 + .registers 10
22568 + const/4 v5, 0x0
22570 const/4 v3, 0x0
22572 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
22574 + move-result-object v7
22576 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22578 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
22579 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
22581 + move-result-object v1
22583 + if-eqz v1, :cond_4a
22585 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22587 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
22588 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
22590 + move-result-object v1
22592 + const-string/jumbo v2, "privacy"
22594 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
22596 move-result-object v0
22598 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
22600 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22602 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
22603 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
22605 + move-result-object v1
22607 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22609 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
22610 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
22612 + move-result v2
22614 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22616 + move-result-object v6
22618 + if-eqz v6, :cond_4b
22620 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
22622 + move-result v1
22624 + if-eqz v1, :cond_4b
22626 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22628 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
22629 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
22631 + move-result-object v1
22633 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22635 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
22636 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
22638 + move-result v2
22640 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
22642 + move-result v3
22644 + const-string v4, "locationNetwork"
22646 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22648 + :cond_4a
22649 + :goto_4a
22650 + return-void
22652 + :cond_4b
22653 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22655 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
22657 const/16 v2, 0x10
22659 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
22660 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
22662 move-result-object v1
22664 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
22666 - return-void
22667 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22669 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
22670 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
22672 + move-result-object v1
22674 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
22676 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
22677 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
22679 + move-result v2
22681 + const-string v4, "locationNetwork"
22683 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22685 + goto :goto_4a
22686 .end method
22688 .method public onDataActivity(I)V
22689 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
22690 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-05-07 17:01:04.565644637 -0500
22691 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-05-07 17:01:34.977795439 -0500
22692 @@ -29,12 +29,20 @@
22694 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
22696 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
22699 # instance fields
22700 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
22702 +.field private context:Landroid/content/Context;
22704 .field mHandler:Landroid/os/Handler;
22706 +.field private packageName:Ljava/lang/String;
22708 +.field private uid:I
22711 # direct methods
22712 .method public constructor <init>()V
22713 @@ -57,6 +65,30 @@
22714 return-void
22715 .end method
22717 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
22718 + .registers 2
22720 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
22722 + return-object v0
22723 +.end method
22725 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
22726 + .registers 2
22728 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
22730 + return-object v0
22731 +.end method
22733 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
22734 + .registers 2
22736 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
22738 + return v0
22739 +.end method
22742 # virtual methods
22743 .method public onCallForwardingIndicatorChanged(Z)V
22744 @@ -126,3 +158,27 @@
22746 return-void
22747 .end method
22749 +.method public setContext(Landroid/content/Context;)V
22750 + .registers 2
22752 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
22754 + return-void
22755 +.end method
22757 +.method public setPackageName(Ljava/lang/String;)V
22758 + .registers 2
22760 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
22762 + return-void
22763 +.end method
22765 +.method public setUid(I)V
22766 + .registers 2
22768 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
22770 + return-void
22771 +.end method
22772 diff -Npru stock-framework/smali/android/view/accessibility/AccessibilityManager.smali pdroid-framework/smali/android/view/accessibility/AccessibilityManager.smali
22773 --- stock-framework/smali/android/view/accessibility/AccessibilityManager.smali 2012-05-07 17:01:06.533654391 -0500
22774 +++ pdroid-framework/smali/android/view/accessibility/AccessibilityManager.smali 2012-05-07 17:01:36.733804143 -0500
22775 @@ -637,15 +637,15 @@
22777 invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
22778 :try_end_21
22779 - .catchall {:try_start_d .. :try_end_21} :catchall_4c
22780 + .catchall {:try_start_d .. :try_end_21} :catchall_49
22781 .catch Landroid/os/RemoteException; {:try_start_d .. :try_end_21} :catch_27
22783 if-eqz v0, :cond_26
22785 + :goto_23
22786 invoke-virtual {p1}, Landroid/view/accessibility/AccessibilityEvent;->recycle()V
22788 :cond_26
22789 - :goto_26
22790 return-void
22792 :catch_27
22793 @@ -680,21 +680,19 @@
22795 invoke-static {v4, v5, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
22796 :try_end_46
22797 - .catchall {:try_start_28 .. :try_end_46} :catchall_4c
22798 + .catchall {:try_start_28 .. :try_end_46} :catchall_49
22800 if-eqz v0, :cond_26
22802 - invoke-virtual {p1}, Landroid/view/accessibility/AccessibilityEvent;->recycle()V
22804 - goto :goto_26
22805 + goto :goto_23
22807 - :catchall_4c
22808 + :catchall_49
22809 move-exception v4
22811 - if-eqz v0, :cond_52
22812 + if-eqz v0, :cond_4f
22814 invoke-virtual {p1}, Landroid/view/accessibility/AccessibilityEvent;->recycle()V
22816 - :cond_52
22817 + :cond_4f
22818 throw v4
22819 .end method
22820 diff -Npru stock-framework/smali/android/view/SurfaceView.smali pdroid-framework/smali/android/view/SurfaceView.smali
22821 --- stock-framework/smali/android/view/SurfaceView.smali 2012-05-07 17:01:05.493649235 -0500
22822 +++ pdroid-framework/smali/android/view/SurfaceView.smali 2012-05-07 17:01:35.789799469 -0500
22823 @@ -1342,7 +1342,7 @@
22825 invoke-interface {v0, v3}, Landroid/view/SurfaceHolder$Callback;->surfaceDestroyed(Landroid/view/SurfaceHolder;)V
22826 :try_end_29b
22827 - .catchall {:try_start_262 .. :try_end_29b} :catchall_3c6
22828 + .catchall {:try_start_262 .. :try_end_29b} :catchall_3a7
22830 add-int/lit8 v22, v22, 0x1
22832 @@ -1486,7 +1486,7 @@
22834 invoke-virtual {v3, v4}, Landroid/view/Surface;->transferFrom(Landroid/view/Surface;)V
22836 - if-eqz v34, :cond_3a7
22837 + if-eqz v34, :cond_3c6
22839 move-object/from16 v0, p0
22841 @@ -1608,7 +1608,7 @@
22842 goto :goto_35e
22844 :cond_37a
22845 - if-eqz p2, :cond_3a7
22846 + if-eqz p2, :cond_3c6
22848 if-nez v19, :cond_382
22850 @@ -1632,7 +1632,7 @@
22852 move/from16 v1, v23
22854 - if-ge v0, v1, :cond_3a7
22855 + if-ge v0, v1, :cond_3c6
22857 aget-object v18, v17, v22
22859 @@ -1652,81 +1652,81 @@
22861 invoke-interface {v0, v3}, Landroid/view/SurfaceHolder$Callback2;->surfaceRedrawNeeded(Landroid/view/SurfaceHolder;)V
22862 :try_end_3a4
22863 - .catchall {:try_start_301 .. :try_end_3a4} :catchall_3c6
22864 + .catchall {:try_start_301 .. :try_end_3a4} :catchall_3a7
22866 :cond_3a4
22867 add-int/lit8 v22, v22, 0x1
22869 goto :goto_38b
22871 - :cond_3a7
22872 - const/4 v3, 0x0
22873 + :catchall_3a7
22874 + move-exception v3
22876 - :try_start_3a8
22877 + const/4 v4, 0x0
22879 + :try_start_3a9
22880 move-object/from16 v0, p0
22882 - iput-boolean v3, v0, Landroid/view/SurfaceView;->mIsCreating:Z
22883 + iput-boolean v4, v0, Landroid/view/SurfaceView;->mIsCreating:Z
22885 - if-eqz p2, :cond_3b9
22886 + if-eqz p2, :cond_3ba
22888 move-object/from16 v0, p0
22890 - iget-object v3, v0, Landroid/view/SurfaceView;->mSession:Landroid/view/IWindowSession;
22891 + iget-object v4, v0, Landroid/view/SurfaceView;->mSession:Landroid/view/IWindowSession;
22893 move-object/from16 v0, p0
22895 - iget-object v4, v0, Landroid/view/SurfaceView;->mWindow:Landroid/view/SurfaceView$MyWindow;
22896 + iget-object v5, v0, Landroid/view/SurfaceView;->mWindow:Landroid/view/SurfaceView$MyWindow;
22898 - invoke-interface {v3, v4}, Landroid/view/IWindowSession;->finishDrawing(Landroid/view/IWindow;)V
22899 + invoke-interface {v4, v5}, Landroid/view/IWindowSession;->finishDrawing(Landroid/view/IWindow;)V
22901 - :cond_3b9
22902 + :cond_3ba
22903 move-object/from16 v0, p0
22905 - iget-object v3, v0, Landroid/view/SurfaceView;->mSession:Landroid/view/IWindowSession;
22906 + iget-object v4, v0, Landroid/view/SurfaceView;->mSession:Landroid/view/IWindowSession;
22908 move-object/from16 v0, p0
22910 - iget-object v4, v0, Landroid/view/SurfaceView;->mWindow:Landroid/view/SurfaceView$MyWindow;
22912 - invoke-interface {v3, v4}, Landroid/view/IWindowSession;->performDeferredDestroy(Landroid/view/IWindow;)V
22913 + iget-object v5, v0, Landroid/view/SurfaceView;->mWindow:Landroid/view/SurfaceView$MyWindow;
22915 - goto/16 :goto_6
22916 + invoke-interface {v4, v5}, Landroid/view/IWindowSession;->performDeferredDestroy(Landroid/view/IWindow;)V
22918 - :catchall_3c6
22919 - move-exception v3
22920 + throw v3
22922 - const/4 v4, 0x0
22923 + :cond_3c6
22924 + const/4 v3, 0x0
22926 move-object/from16 v0, p0
22928 - iput-boolean v4, v0, Landroid/view/SurfaceView;->mIsCreating:Z
22929 + iput-boolean v3, v0, Landroid/view/SurfaceView;->mIsCreating:Z
22931 - if-eqz p2, :cond_3d9
22932 + if-eqz p2, :cond_3d8
22934 move-object/from16 v0, p0
22936 - iget-object v4, v0, Landroid/view/SurfaceView;->mSession:Landroid/view/IWindowSession;
22937 + iget-object v3, v0, Landroid/view/SurfaceView;->mSession:Landroid/view/IWindowSession;
22939 move-object/from16 v0, p0
22941 - iget-object v5, v0, Landroid/view/SurfaceView;->mWindow:Landroid/view/SurfaceView$MyWindow;
22942 + iget-object v4, v0, Landroid/view/SurfaceView;->mWindow:Landroid/view/SurfaceView$MyWindow;
22944 - invoke-interface {v4, v5}, Landroid/view/IWindowSession;->finishDrawing(Landroid/view/IWindow;)V
22945 + invoke-interface {v3, v4}, Landroid/view/IWindowSession;->finishDrawing(Landroid/view/IWindow;)V
22947 - :cond_3d9
22948 + :cond_3d8
22949 move-object/from16 v0, p0
22951 - iget-object v4, v0, Landroid/view/SurfaceView;->mSession:Landroid/view/IWindowSession;
22952 + iget-object v3, v0, Landroid/view/SurfaceView;->mSession:Landroid/view/IWindowSession;
22954 move-object/from16 v0, p0
22956 - iget-object v5, v0, Landroid/view/SurfaceView;->mWindow:Landroid/view/SurfaceView$MyWindow;
22957 + iget-object v4, v0, Landroid/view/SurfaceView;->mWindow:Landroid/view/SurfaceView$MyWindow;
22959 - invoke-interface {v4, v5}, Landroid/view/IWindowSession;->performDeferredDestroy(Landroid/view/IWindow;)V
22960 + invoke-interface {v3, v4}, Landroid/view/IWindowSession;->performDeferredDestroy(Landroid/view/IWindow;)V
22961 + :try_end_3e3
22962 + .catch Landroid/os/RemoteException; {:try_start_3a9 .. :try_end_3e3} :catch_2f6
22964 - throw v3
22965 - :try_end_3e5
22966 - .catch Landroid/os/RemoteException; {:try_start_3a8 .. :try_end_3e5} :catch_2f6
22967 + goto/16 :goto_6
22968 .end method
22971 diff -Npru stock-framework/smali/android/view/ViewRootImpl$AccessibilityInteractionController.smali pdroid-framework/smali/android/view/ViewRootImpl$AccessibilityInteractionController.smali
22972 --- stock-framework/smali/android/view/ViewRootImpl$AccessibilityInteractionController.smali 2012-05-07 17:01:06.489654173 -0500
22973 +++ pdroid-framework/smali/android/view/ViewRootImpl$AccessibilityInteractionController.smali 2012-05-07 17:01:36.685803911 -0500
22974 @@ -364,7 +364,7 @@
22975 :try_start_13
22976 invoke-interface {v1, v2, v3}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V
22977 :try_end_16
22978 - .catch Landroid/os/RemoteException; {:try_start_13 .. :try_end_16} :catch_1c
22979 + .catch Landroid/os/RemoteException; {:try_start_13 .. :try_end_16} :catch_1e
22981 :goto_16
22982 return-void
22983 @@ -375,20 +375,20 @@
22984 :try_start_18
22985 invoke-interface {v1, v2, v3}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V
22986 :try_end_1b
22987 - .catch Landroid/os/RemoteException; {:try_start_18 .. :try_end_1b} :catch_1e
22988 + .catch Landroid/os/RemoteException; {:try_start_18 .. :try_end_1b} :catch_1c
22990 :goto_1b
22991 throw v5
22993 :catch_1c
22994 - move-exception v5
22995 + move-exception v6
22997 - goto :goto_16
22998 + goto :goto_1b
23000 :catch_1e
23001 - move-exception v6
23002 + move-exception v5
23004 - goto :goto_1b
23005 + goto :goto_16
23006 .end method
23008 .method public findAccessibilityNodeInfoByViewIdClientThread(IILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJ)V
23009 @@ -491,7 +491,7 @@
23010 :try_start_1d
23011 invoke-interface {v0, v1, v2}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V
23012 :try_end_20
23013 - .catch Landroid/os/RemoteException; {:try_start_1d .. :try_end_20} :catch_26
23014 + .catch Landroid/os/RemoteException; {:try_start_1d .. :try_end_20} :catch_28
23016 :goto_20
23017 return-void
23018 @@ -502,20 +502,20 @@
23019 :try_start_22
23020 invoke-interface {v0, v1, v2}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V
23021 :try_end_25
23022 - .catch Landroid/os/RemoteException; {:try_start_22 .. :try_end_25} :catch_28
23023 + .catch Landroid/os/RemoteException; {:try_start_22 .. :try_end_25} :catch_26
23025 :goto_25
23026 throw v6
23028 :catch_26
23029 - move-exception v6
23030 + move-exception v7
23032 - goto :goto_20
23033 + goto :goto_25
23035 :catch_28
23036 - move-exception v7
23037 + move-exception v6
23039 - goto :goto_25
23040 + goto :goto_20
23041 .end method
23043 .method public findAccessibilityNodeInfosByViewTextClientThread(Ljava/lang/String;IILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJ)V
23044 @@ -639,7 +639,7 @@
23046 invoke-virtual {v8}, Landroid/view/View;->getVisibility()I
23047 :try_end_2c
23048 - .catchall {:try_start_16 .. :try_end_2c} :catchall_70
23049 + .catchall {:try_start_16 .. :try_end_2c} :catchall_6a
23051 move-result v11
23053 @@ -649,7 +649,7 @@
23054 :try_start_2f
23055 invoke-interface {v2, v6, v7}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V
23056 :try_end_32
23057 - .catch Landroid/os/RemoteException; {:try_start_2f .. :try_end_32} :catch_75
23058 + .catch Landroid/os/RemoteException; {:try_start_2f .. :try_end_32} :catch_46
23060 :goto_32
23061 return-void
23062 @@ -669,7 +669,7 @@
23064 invoke-virtual {v4}, Ljava/util/ArrayList;->isEmpty()Z
23065 :try_end_3f
23066 - .catchall {:try_start_33 .. :try_end_3f} :catchall_70
23067 + .catchall {:try_start_33 .. :try_end_3f} :catchall_6a
23069 move-result v11
23071 @@ -700,7 +700,7 @@
23072 const/4 v5, 0x0
23074 :goto_52
23075 - if-ge v5, v10, :cond_6a
23076 + if-ge v5, v10, :cond_71
23078 invoke-virtual {v4, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
23080 @@ -720,46 +720,36 @@
23082 invoke-interface {v6, v11}, Ljava/util/List;->add(Ljava/lang/Object;)Z
23083 :try_end_67
23084 - .catchall {:try_start_48 .. :try_end_67} :catchall_70
23085 + .catchall {:try_start_48 .. :try_end_67} :catchall_6a
23087 :cond_67
23088 add-int/lit8 v5, v5, 0x1
23090 goto :goto_52
23092 - :cond_6a
23093 - :try_start_6a
23094 - invoke-interface {v2, v6, v7}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V
23095 - :try_end_6d
23096 - .catch Landroid/os/RemoteException; {:try_start_6a .. :try_end_6d} :catch_6e
23097 + :catchall_6a
23098 + move-exception v11
23100 - goto :goto_32
23101 + :try_start_6b
23102 + invoke-interface {v2, v6, v7}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V
23103 + :try_end_6e
23104 + .catch Landroid/os/RemoteException; {:try_start_6b .. :try_end_6e} :catch_6f
23106 - :catch_6e
23107 - move-exception v11
23108 + :goto_6e
23109 + throw v11
23111 - goto :goto_32
23112 + :catch_6f
23113 + move-exception v12
23115 - :catchall_70
23116 - move-exception v11
23117 + goto :goto_6e
23119 + :cond_71
23120 :try_start_71
23121 invoke-interface {v2, v6, v7}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V
23122 :try_end_74
23123 - .catch Landroid/os/RemoteException; {:try_start_71 .. :try_end_74} :catch_77
23125 - :goto_74
23126 - throw v11
23128 - :catch_75
23129 - move-exception v11
23130 + .catch Landroid/os/RemoteException; {:try_start_71 .. :try_end_74} :catch_46
23132 goto :goto_32
23134 - :catch_77
23135 - move-exception v12
23137 - goto :goto_74
23138 .end method
23140 .method public performAccessibilityActionClientThread(IIILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJ)V
23141 @@ -864,7 +854,7 @@
23142 :try_start_17
23143 invoke-interface {v3, v5, v4}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setPerformAccessibilityActionResult(ZI)V
23144 :try_end_1a
23145 - .catch Landroid/os/RemoteException; {:try_start_17 .. :try_end_1a} :catch_34
23146 + .catch Landroid/os/RemoteException; {:try_start_17 .. :try_end_1a} :catch_36
23148 :goto_1a
23149 return-void
23150 @@ -906,20 +896,20 @@
23151 :try_start_30
23152 invoke-interface {v3, v5, v4}, Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setPerformAccessibilityActionResult(ZI)V
23153 :try_end_33
23154 - .catch Landroid/os/RemoteException; {:try_start_30 .. :try_end_33} :catch_36
23155 + .catch Landroid/os/RemoteException; {:try_start_30 .. :try_end_33} :catch_34
23157 :goto_33
23158 throw v6
23160 :catch_34
23161 - move-exception v6
23162 + move-exception v7
23164 - goto :goto_1a
23165 + goto :goto_33
23167 :catch_36
23168 - move-exception v7
23169 + move-exception v6
23171 - goto :goto_33
23172 + goto :goto_1a
23174 :pswitch_data_38
23175 .packed-switch 0x1
23176 diff -Npru stock-framework/smali/android/view/ViewRootImpl$W.smali pdroid-framework/smali/android/view/ViewRootImpl$W.smali
23177 --- stock-framework/smali/android/view/ViewRootImpl$W.smali 2012-05-07 17:01:06.493654197 -0500
23178 +++ pdroid-framework/smali/android/view/ViewRootImpl$W.smali 2012-05-07 17:01:36.689803925 -0500
23179 @@ -301,21 +301,21 @@
23181 invoke-direct {v1, p3}, Landroid/os/ParcelFileDescriptor$AutoCloseOutputStream;-><init>(Landroid/os/ParcelFileDescriptor;)V
23182 :try_end_47
23183 - .catchall {:try_start_42 .. :try_end_47} :catchall_64
23184 - .catch Ljava/io/IOException; {:try_start_42 .. :try_end_47} :catch_55
23185 + .catchall {:try_start_42 .. :try_end_47} :catchall_5f
23186 + .catch Ljava/io/IOException; {:try_start_42 .. :try_end_47} :catch_50
23188 :try_start_47
23189 invoke-static {v3, p1, p2, v1}, Landroid/view/ViewDebug;->dispatchCommand(Landroid/view/View;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;)V
23190 :try_end_4a
23191 - .catchall {:try_start_47 .. :try_end_4a} :catchall_70
23192 - .catch Ljava/io/IOException; {:try_start_47 .. :try_end_4a} :catch_73
23193 + .catchall {:try_start_47 .. :try_end_4a} :catchall_6d
23194 + .catch Ljava/io/IOException; {:try_start_47 .. :try_end_4a} :catch_70
23196 if-eqz v1, :cond_4f
23198 :try_start_4c
23199 invoke-virtual {v1}, Ljava/io/OutputStream;->close()V
23200 :try_end_4f
23201 - .catch Ljava/io/IOException; {:try_start_4c .. :try_end_4f} :catch_50
23202 + .catch Ljava/io/IOException; {:try_start_4c .. :try_end_4f} :catch_6b
23204 :cond_4f
23205 :goto_4f
23206 @@ -324,70 +324,69 @@
23207 :catch_50
23208 move-exception v2
23210 + :goto_51
23211 + :try_start_51
23212 invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
23214 - goto :goto_4f
23216 - :catch_55
23217 - move-exception v2
23219 - :goto_56
23220 - :try_start_56
23221 - invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
23222 - :try_end_59
23223 - .catchall {:try_start_56 .. :try_end_59} :catchall_64
23224 + :try_end_54
23225 + .catchall {:try_start_51 .. :try_end_54} :catchall_5f
23227 if-eqz v0, :cond_4f
23229 - :try_start_5b
23230 + :try_start_56
23231 invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
23232 - :try_end_5e
23233 - .catch Ljava/io/IOException; {:try_start_5b .. :try_end_5e} :catch_5f
23234 + :try_end_59
23235 + .catch Ljava/io/IOException; {:try_start_56 .. :try_end_59} :catch_5a
23237 goto :goto_4f
23239 - :catch_5f
23240 + :catch_5a
23241 move-exception v2
23243 + :goto_5b
23244 invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
23246 goto :goto_4f
23248 - :catchall_64
23249 + :catchall_5f
23250 move-exception v5
23252 - :goto_65
23253 - if-eqz v0, :cond_6a
23254 + :goto_60
23255 + if-eqz v0, :cond_65
23257 - :try_start_67
23258 + :try_start_62
23259 invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
23260 - :try_end_6a
23261 - .catch Ljava/io/IOException; {:try_start_67 .. :try_end_6a} :catch_6b
23262 + :try_end_65
23263 + .catch Ljava/io/IOException; {:try_start_62 .. :try_end_65} :catch_66
23265 - :cond_6a
23266 - :goto_6a
23267 + :cond_65
23268 + :goto_65
23269 throw v5
23271 - :catch_6b
23272 + :catch_66
23273 move-exception v2
23275 invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
23277 - goto :goto_6a
23278 + goto :goto_65
23280 - :catchall_70
23281 + :catch_6b
23282 + move-exception v2
23284 + goto :goto_5b
23286 + :catchall_6d
23287 move-exception v5
23289 move-object v0, v1
23291 - goto :goto_65
23292 + goto :goto_60
23294 - :catch_73
23295 + :catch_70
23296 move-exception v2
23298 move-object v0, v1
23300 - goto :goto_56
23301 + goto :goto_51
23302 .end method
23304 .method public resized(IILandroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/content/res/Configuration;)V
23305 diff -Npru stock-framework/smali/android/webkit/HTML5VideoViewProxy$PosterDownloader.smali pdroid-framework/smali/android/webkit/HTML5VideoViewProxy$PosterDownloader.smali
23306 --- stock-framework/smali/android/webkit/HTML5VideoViewProxy$PosterDownloader.smali 2012-05-07 17:01:06.625654849 -0500
23307 +++ pdroid-framework/smali/android/webkit/HTML5VideoViewProxy$PosterDownloader.smali 2012-05-07 17:01:36.849804719 -0500
23308 @@ -123,28 +123,26 @@
23310 invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->close()V
23311 :try_end_a
23312 - .catchall {:try_start_5 .. :try_end_a} :catchall_11
23313 - .catch Ljava/io/IOException; {:try_start_5 .. :try_end_a} :catch_d
23314 + .catchall {:try_start_5 .. :try_end_a} :catchall_d
23315 + .catch Ljava/io/IOException; {:try_start_5 .. :try_end_a} :catch_11
23317 + :goto_a
23318 iput-object v1, p0, Landroid/webkit/HTML5VideoViewProxy$PosterDownloader;->mPosterBytes:Ljava/io/ByteArrayOutputStream;
23320 :cond_c
23321 - :goto_c
23322 return-void
23324 - :catch_d
23325 + :catchall_d
23326 move-exception v0
23328 iput-object v1, p0, Landroid/webkit/HTML5VideoViewProxy$PosterDownloader;->mPosterBytes:Ljava/io/ByteArrayOutputStream;
23330 - goto :goto_c
23331 + throw v0
23333 - :catchall_11
23334 + :catch_11
23335 move-exception v0
23337 - iput-object v1, p0, Landroid/webkit/HTML5VideoViewProxy$PosterDownloader;->mPosterBytes:Ljava/io/ByteArrayOutputStream;
23339 - throw v0
23340 + goto :goto_a
23341 .end method
23343 .method private releaseQueue()V
23344 diff -Npru stock-framework/smali/android/webkit/WebIconDatabase$EventHandler.smali pdroid-framework/smali/android/webkit/WebIconDatabase$EventHandler.smali
23345 --- stock-framework/smali/android/webkit/WebIconDatabase$EventHandler.smali 2012-05-07 17:01:06.653654987 -0500
23346 +++ pdroid-framework/smali/android/webkit/WebIconDatabase$EventHandler.smali 2012-05-07 17:01:36.877804859 -0500
23347 @@ -189,7 +189,7 @@
23349 invoke-interface {v6}, Landroid/database/Cursor;->moveToNext()Z
23350 :try_end_40
23351 - .catchall {:try_start_1e .. :try_end_40} :catchall_57
23352 + .catchall {:try_start_1e .. :try_end_40} :catchall_54
23353 .catch Ljava/lang/IllegalStateException; {:try_start_1e .. :try_end_40} :catch_49
23355 move-result v1
23356 @@ -199,10 +199,10 @@
23357 :cond_43
23358 if-eqz v6, :cond_48
23360 + :goto_45
23361 invoke-interface {v6}, Landroid/database/Cursor;->close()V
23363 :cond_48
23364 - :goto_48
23365 return-void
23367 :catch_49
23368 @@ -215,22 +215,20 @@
23370 invoke-static {v1, v2, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23371 :try_end_51
23372 - .catchall {:try_start_4a .. :try_end_51} :catchall_57
23373 + .catchall {:try_start_4a .. :try_end_51} :catchall_54
23375 if-eqz v6, :cond_48
23377 - invoke-interface {v6}, Landroid/database/Cursor;->close()V
23379 - goto :goto_48
23380 + goto :goto_45
23382 - :catchall_57
23383 + :catchall_54
23384 move-exception v1
23386 - if-eqz v6, :cond_5d
23387 + if-eqz v6, :cond_5a
23389 invoke-interface {v6}, Landroid/database/Cursor;->close()V
23391 - :cond_5d
23392 + :cond_5a
23393 throw v1
23394 .end method
23396 diff -Npru stock-framework/smali/android/webkit/WebView$6.smali pdroid-framework/smali/android/webkit/WebView$6.smali
23397 --- stock-framework/smali/android/webkit/WebView$6.smali 2012-05-07 17:01:06.697655209 -0500
23398 +++ pdroid-framework/smali/android/webkit/WebView$6.smali 2012-05-07 17:01:36.893804939 -0500
23399 @@ -58,8 +58,8 @@
23401 invoke-direct {v1, v2}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
23402 :try_end_8
23403 - .catchall {:try_start_1 .. :try_end_8} :catchall_2c
23404 - .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_8} :catch_20
23405 + .catchall {:try_start_1 .. :try_end_8} :catchall_20
23406 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_8} :catch_2c
23408 :try_start_8
23409 iget-object v2, p0, Landroid/webkit/WebView$6;->val$p:Landroid/graphics/Picture;
23410 @@ -80,7 +80,7 @@
23411 :try_start_16
23412 invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
23413 :try_end_19
23414 - .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_19} :catch_38
23415 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_19} :catch_3c
23417 :cond_19
23418 :goto_19
23419 @@ -93,7 +93,7 @@
23420 :goto_1f
23421 return-void
23423 - :catch_20
23424 + :catchall_20
23425 move-exception v2
23427 :goto_21
23428 @@ -106,13 +106,13 @@
23430 :cond_26
23431 :goto_26
23432 - iget-object v2, p0, Landroid/webkit/WebView$6;->val$temp:Ljava/io/File;
23433 + iget-object v3, p0, Landroid/webkit/WebView$6;->val$temp:Ljava/io/File;
23435 - invoke-virtual {v2}, Ljava/io/File;->delete()Z
23436 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
23438 - goto :goto_1f
23439 + throw v2
23441 - :catchall_2c
23442 + :catch_2c
23443 move-exception v2
23445 :goto_2d
23446 @@ -121,42 +121,42 @@
23447 :try_start_2f
23448 invoke-virtual {v0}, Ljava/io/FileOutputStream;->close()V
23449 :try_end_32
23450 - .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_32} :catch_3c
23451 + .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_32} :catch_38
23453 :cond_32
23454 :goto_32
23455 - iget-object v3, p0, Landroid/webkit/WebView$6;->val$temp:Ljava/io/File;
23456 + iget-object v2, p0, Landroid/webkit/WebView$6;->val$temp:Ljava/io/File;
23458 - invoke-virtual {v3}, Ljava/io/File;->delete()Z
23459 + invoke-virtual {v2}, Ljava/io/File;->delete()Z
23461 - throw v2
23462 + goto :goto_1f
23464 :catch_38
23465 move-exception v2
23467 - goto :goto_19
23468 + goto :goto_32
23470 :catch_3a
23471 - move-exception v2
23472 + move-exception v3
23474 goto :goto_26
23476 :catch_3c
23477 - move-exception v3
23478 + move-exception v2
23480 - goto :goto_32
23481 + goto :goto_19
23483 :catchall_3e
23484 move-exception v2
23486 move-object v0, v1
23488 - goto :goto_2d
23489 + goto :goto_21
23491 :catch_41
23492 move-exception v2
23494 move-object v0, v1
23496 - goto :goto_21
23497 + goto :goto_2d
23498 .end method
23499 diff -Npru stock-framework/smali/android/webkit/WebView$7.smali pdroid-framework/smali/android/webkit/WebView$7.smali
23500 --- stock-framework/smali/android/webkit/WebView$7.smali 2012-05-07 17:01:06.697655209 -0500
23501 +++ pdroid-framework/smali/android/webkit/WebView$7.smali 2012-05-07 17:01:36.893804939 -0500
23502 @@ -72,7 +72,7 @@
23504 invoke-virtual {v1}, Ljava/io/FileInputStream;->close()V
23505 :try_end_19
23506 - .catch Ljava/lang/Exception; {:try_start_14 .. :try_end_19} :catch_23
23507 + .catch Ljava/lang/Exception; {:try_start_14 .. :try_end_19} :catch_21
23509 :goto_19
23510 return-void
23511 @@ -85,18 +85,18 @@
23513 invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
23514 :try_end_20
23515 - .catch Ljava/lang/Exception; {:try_start_1b .. :try_end_20} :catch_21
23516 + .catch Ljava/lang/Exception; {:try_start_1b .. :try_end_20} :catch_23
23518 :goto_20
23519 throw v1
23521 :catch_21
23522 - move-exception v2
23523 + move-exception v1
23525 - goto :goto_20
23526 + goto :goto_19
23528 :catch_23
23529 - move-exception v1
23530 + move-exception v2
23532 - goto :goto_19
23533 + goto :goto_20
23534 .end method
23535 diff -Npru stock-framework/smali/android/widget/ActivityChooserModel$HistoryLoader.smali pdroid-framework/smali/android/widget/ActivityChooserModel$HistoryLoader.smali
23536 --- stock-framework/smali/android/widget/ActivityChooserModel$HistoryLoader.smali 2012-05-07 17:01:06.801655721 -0500
23537 +++ pdroid-framework/smali/android/widget/ActivityChooserModel$HistoryLoader.smali 2012-05-07 17:01:36.997805460 -0500
23538 @@ -140,7 +140,7 @@
23540 throw v21
23541 :try_end_51
23542 - .catchall {:try_start_19 .. :try_end_51} :catchall_15b
23543 + .catchall {:try_start_19 .. :try_end_51} :catchall_158
23544 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_19 .. :try_end_51} :catch_51
23545 .catch Ljava/io/IOException; {:try_start_19 .. :try_end_51} :catch_ed
23547 @@ -189,7 +189,7 @@
23549 invoke-static {v0, v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23550 :try_end_7c
23551 - .catchall {:try_start_52 .. :try_end_7c} :catchall_15b
23552 + .catchall {:try_start_52 .. :try_end_7c} :catchall_158
23554 if-eqz v4, :cond_3c
23556 @@ -238,7 +238,7 @@
23558 monitor-enter v22
23559 :try_end_a0
23560 - .catchall {:try_start_84 .. :try_end_a0} :catchall_15b
23561 + .catchall {:try_start_84 .. :try_end_a0} :catchall_158
23562 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_84 .. :try_end_a0} :catch_51
23563 .catch Ljava/io/IOException; {:try_start_84 .. :try_end_a0} :catch_ed
23565 @@ -267,7 +267,7 @@
23566 add-int/lit8 v9, v8, -0x1
23568 :goto_b7
23569 - if-ltz v9, :cond_162
23570 + if-ltz v9, :cond_15f
23572 invoke-interface {v7, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
23574 @@ -279,7 +279,7 @@
23576 invoke-interface {v0, v6}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
23577 :try_end_c4
23578 - .catchall {:try_start_a0 .. :try_end_c4} :catchall_1b3
23579 + .catchall {:try_start_a0 .. :try_end_c4} :catchall_1aa
23581 add-int/lit8 v9, v9, -0x1
23583 @@ -315,7 +315,7 @@
23585 move-result v21
23587 - if-nez v21, :cond_120
23588 + if-nez v21, :cond_11d
23590 new-instance v21, Lorg/xmlpull/v1/XmlPullParserException;
23592 @@ -325,7 +325,7 @@
23594 throw v21
23595 :try_end_ed
23596 - .catchall {:try_start_d7 .. :try_end_ed} :catchall_15b
23597 + .catchall {:try_start_d7 .. :try_end_ed} :catchall_158
23598 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_d7 .. :try_end_ed} :catch_51
23599 .catch Ljava/io/IOException; {:try_start_d7 .. :try_end_ed} :catch_ed
23601 @@ -372,26 +372,21 @@
23603 invoke-static {v0, v1, v10}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23604 :try_end_116
23605 - .catchall {:try_start_ee .. :try_end_116} :catchall_15b
23606 + .catchall {:try_start_ee .. :try_end_116} :catchall_158
23608 if-eqz v4, :cond_3c
23610 :try_start_118
23611 invoke-virtual {v4}, Ljava/io/FileInputStream;->close()V
23612 :try_end_11b
23613 - .catch Ljava/io/IOException; {:try_start_118 .. :try_end_11b} :catch_11d
23614 + .catch Ljava/io/IOException; {:try_start_118 .. :try_end_11b} :catch_82
23616 goto/16 :goto_3c
23618 - :catch_11d
23619 - move-exception v21
23621 - goto/16 :goto_3c
23623 - :cond_120
23624 + :cond_11d
23625 const/16 v21, 0x0
23627 - :try_start_122
23628 + :try_start_11f
23629 const-string v22, "activity"
23631 move-object/from16 v0, v21
23632 @@ -443,29 +438,29 @@
23633 invoke-direct {v13, v3, v0, v1, v2}, Landroid/widget/ActivityChooserModel$HistoricalRecord;-><init>(Ljava/lang/String;JF)V
23635 invoke-interface {v14, v13}, Ljava/util/List;->add(Ljava/lang/Object;)Z
23636 - :try_end_159
23637 - .catchall {:try_start_122 .. :try_end_159} :catchall_15b
23638 - .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_122 .. :try_end_159} :catch_51
23639 - .catch Ljava/io/IOException; {:try_start_122 .. :try_end_159} :catch_ed
23640 + :try_end_156
23641 + .catchall {:try_start_11f .. :try_end_156} :catchall_158
23642 + .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_11f .. :try_end_156} :catch_51
23643 + .catch Ljava/io/IOException; {:try_start_11f .. :try_end_156} :catch_ed
23645 goto/16 :goto_89
23647 - :catchall_15b
23648 + :catchall_158
23649 move-exception v21
23651 - if-eqz v4, :cond_161
23652 + if-eqz v4, :cond_15e
23654 - :try_start_15e
23655 + :try_start_15b
23656 invoke-virtual {v4}, Ljava/io/FileInputStream;->close()V
23657 - :try_end_161
23658 - .catch Ljava/io/IOException; {:try_start_15e .. :try_end_161} :catch_1b6
23659 + :try_end_15e
23660 + .catch Ljava/io/IOException; {:try_start_15b .. :try_end_15e} :catch_1ad
23662 - :cond_161
23663 - :goto_161
23664 + :cond_15e
23665 + :goto_15e
23666 throw v21
23668 - :cond_162
23669 - :try_start_162
23670 + :cond_15f
23671 + :try_start_15f
23672 invoke-interface {v7}, Ljava/util/List;->size()I
23674 move-result v21
23675 @@ -478,28 +473,23 @@
23677 move/from16 v1, v23
23679 - if-ne v0, v1, :cond_17b
23680 + if-ne v0, v1, :cond_175
23682 monitor-exit v22
23683 - :try_end_171
23684 - .catchall {:try_start_162 .. :try_end_171} :catchall_1b3
23685 + :try_end_16e
23686 + .catchall {:try_start_15f .. :try_end_16e} :catchall_1aa
23688 if-eqz v4, :cond_3c
23690 - :try_start_173
23691 + :try_start_170
23692 invoke-virtual {v4}, Ljava/io/FileInputStream;->close()V
23693 - :try_end_176
23694 - .catch Ljava/io/IOException; {:try_start_173 .. :try_end_176} :catch_178
23696 - goto/16 :goto_3c
23698 - :catch_178
23699 - move-exception v21
23700 + :try_end_173
23701 + .catch Ljava/io/IOException; {:try_start_170 .. :try_end_173} :catch_82
23703 goto/16 :goto_3c
23705 - :cond_17b
23706 - :try_start_17b
23707 + :cond_175
23708 + :try_start_175
23709 invoke-interface {v7}, Ljava/util/List;->clear()V
23711 move-object/from16 v0, v18
23712 @@ -543,40 +533,35 @@
23713 invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
23715 monitor-exit v22
23716 - :try_end_1a9
23717 - .catchall {:try_start_17b .. :try_end_1a9} :catchall_1b3
23718 + :try_end_1a3
23719 + .catchall {:try_start_175 .. :try_end_1a3} :catchall_1aa
23721 if-eqz v4, :cond_3c
23723 - :try_start_1ab
23724 + :try_start_1a5
23725 invoke-virtual {v4}, Ljava/io/FileInputStream;->close()V
23726 - :try_end_1ae
23727 - .catch Ljava/io/IOException; {:try_start_1ab .. :try_end_1ae} :catch_1b0
23728 + :try_end_1a8
23729 + .catch Ljava/io/IOException; {:try_start_1a5 .. :try_end_1a8} :catch_82
23731 goto/16 :goto_3c
23733 - :catch_1b0
23734 + :catchall_1aa
23735 move-exception v21
23737 - goto/16 :goto_3c
23739 - :catchall_1b3
23740 - move-exception v21
23742 - :try_start_1b4
23743 + :try_start_1ab
23744 monitor-exit v22
23745 - :try_end_1b5
23746 - .catchall {:try_start_1b4 .. :try_end_1b5} :catchall_1b3
23747 + :try_end_1ac
23748 + .catchall {:try_start_1ab .. :try_end_1ac} :catchall_1aa
23750 - :try_start_1b5
23751 + :try_start_1ac
23752 throw v21
23753 - :try_end_1b6
23754 - .catchall {:try_start_1b5 .. :try_end_1b6} :catchall_15b
23755 - .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_1b5 .. :try_end_1b6} :catch_51
23756 - .catch Ljava/io/IOException; {:try_start_1b5 .. :try_end_1b6} :catch_ed
23757 + :try_end_1ad
23758 + .catchall {:try_start_1ac .. :try_end_1ad} :catchall_158
23759 + .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_1ac .. :try_end_1ad} :catch_51
23760 + .catch Ljava/io/IOException; {:try_start_1ac .. :try_end_1ad} :catch_ed
23762 - :catch_1b6
23763 + :catch_1ad
23764 move-exception v22
23766 - goto :goto_161
23767 + goto :goto_15e
23768 .end method
23769 diff -Npru stock-framework/smali/android/widget/ActivityChooserModel$HistoryPersister.smali pdroid-framework/smali/android/widget/ActivityChooserModel$HistoryPersister.smali
23770 --- stock-framework/smali/android/widget/ActivityChooserModel$HistoryPersister.smali 2012-05-07 17:01:06.801655721 -0500
23771 +++ pdroid-framework/smali/android/widget/ActivityChooserModel$HistoryPersister.smali 2012-05-07 17:01:37.001805476 -0500
23772 @@ -75,7 +75,7 @@
23773 :try_start_14
23774 monitor-exit v12
23775 :try_end_15
23776 - .catchall {:try_start_14 .. :try_end_15} :catchall_13d
23777 + .catchall {:try_start_14 .. :try_end_15} :catchall_136
23779 :try_start_15
23780 iget-object v11, p0, Landroid/widget/ActivityChooserModel$HistoryPersister;->this$0:Landroid/widget/ActivityChooserModel;
23781 @@ -190,10 +190,10 @@
23783 invoke-interface {v10, v11, v12}, Lorg/xmlpull/v1/XmlSerializer;->endTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
23784 :try_end_7e
23785 - .catchall {:try_start_2b .. :try_end_7e} :catchall_134
23786 + .catchall {:try_start_2b .. :try_end_7e} :catchall_12d
23787 .catch Ljava/lang/IllegalArgumentException; {:try_start_2b .. :try_end_7e} :catch_b7
23788 - .catch Ljava/lang/IllegalStateException; {:try_start_2b .. :try_end_7e} :catch_e0
23789 - .catch Ljava/io/IOException; {:try_start_2b .. :try_end_7e} :catch_109
23790 + .catch Ljava/lang/IllegalStateException; {:try_start_2b .. :try_end_7e} :catch_de
23791 + .catch Ljava/io/IOException; {:try_start_2b .. :try_end_7e} :catch_105
23793 add-int/lit8 v2, v2, 0x1
23795 @@ -258,10 +258,10 @@
23797 invoke-interface {v10}, Lorg/xmlpull/v1/XmlSerializer;->endDocument()V
23798 :try_end_af
23799 - .catchall {:try_start_a7 .. :try_end_af} :catchall_134
23800 + .catchall {:try_start_a7 .. :try_end_af} :catchall_12d
23801 .catch Ljava/lang/IllegalArgumentException; {:try_start_a7 .. :try_end_af} :catch_b7
23802 - .catch Ljava/lang/IllegalStateException; {:try_start_a7 .. :try_end_af} :catch_e0
23803 - .catch Ljava/io/IOException; {:try_start_a7 .. :try_end_af} :catch_109
23804 + .catch Ljava/lang/IllegalStateException; {:try_start_a7 .. :try_end_af} :catch_de
23805 + .catch Ljava/io/IOException; {:try_start_a7 .. :try_end_af} :catch_105
23807 if-eqz v1, :cond_a5
23809 @@ -312,26 +312,21 @@
23811 invoke-static {v11, v12, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23812 :try_end_d8
23813 - .catchall {:try_start_b8 .. :try_end_d8} :catchall_134
23814 + .catchall {:try_start_b8 .. :try_end_d8} :catchall_12d
23816 if-eqz v1, :cond_a5
23818 :try_start_da
23819 invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
23820 :try_end_dd
23821 - .catch Ljava/io/IOException; {:try_start_da .. :try_end_dd} :catch_de
23822 + .catch Ljava/io/IOException; {:try_start_da .. :try_end_dd} :catch_b5
23824 goto :goto_a5
23826 :catch_de
23827 - move-exception v11
23829 - goto :goto_a5
23831 - :catch_e0
23832 move-exception v5
23834 - :try_start_e1
23835 + :try_start_df
23836 invoke-static {}, Landroid/widget/ActivityChooserModel;->access$1200()Ljava/lang/String;
23838 move-result-object v11
23839 @@ -362,27 +357,22 @@
23840 move-result-object v12
23842 invoke-static {v11, v12, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23843 - :try_end_101
23844 - .catchall {:try_start_e1 .. :try_end_101} :catchall_134
23845 + :try_end_ff
23846 + .catchall {:try_start_df .. :try_end_ff} :catchall_12d
23848 if-eqz v1, :cond_a5
23850 - :try_start_103
23851 + :try_start_101
23852 invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
23853 - :try_end_106
23854 - .catch Ljava/io/IOException; {:try_start_103 .. :try_end_106} :catch_107
23856 - goto :goto_a5
23858 - :catch_107
23859 - move-exception v11
23860 + :try_end_104
23861 + .catch Ljava/io/IOException; {:try_start_101 .. :try_end_104} :catch_b5
23863 goto :goto_a5
23865 - :catch_109
23866 + :catch_105
23867 move-exception v4
23869 - :try_start_10a
23870 + :try_start_106
23871 invoke-static {}, Landroid/widget/ActivityChooserModel;->access$1200()Ljava/lang/String;
23873 move-result-object v11
23874 @@ -413,43 +403,38 @@
23875 move-result-object v12
23877 invoke-static {v11, v12, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23878 - :try_end_12a
23879 - .catchall {:try_start_10a .. :try_end_12a} :catchall_134
23880 + :try_end_126
23881 + .catchall {:try_start_106 .. :try_end_126} :catchall_12d
23883 if-eqz v1, :cond_a5
23885 - :try_start_12c
23886 + :try_start_128
23887 invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
23888 - :try_end_12f
23889 - .catch Ljava/io/IOException; {:try_start_12c .. :try_end_12f} :catch_131
23891 - goto/16 :goto_a5
23893 - :catch_131
23894 - move-exception v11
23895 + :try_end_12b
23896 + .catch Ljava/io/IOException; {:try_start_128 .. :try_end_12b} :catch_b5
23898 goto/16 :goto_a5
23900 - :catchall_134
23901 + :catchall_12d
23902 move-exception v11
23904 - if-eqz v1, :cond_13a
23905 + if-eqz v1, :cond_133
23907 - :try_start_137
23908 + :try_start_130
23909 invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
23910 - :try_end_13a
23911 - .catch Ljava/io/IOException; {:try_start_137 .. :try_end_13a} :catch_13b
23912 + :try_end_133
23913 + .catch Ljava/io/IOException; {:try_start_130 .. :try_end_133} :catch_134
23915 - :cond_13a
23916 - :goto_13a
23917 + :cond_133
23918 + :goto_133
23919 throw v11
23921 - :catch_13b
23922 + :catch_134
23923 move-exception v12
23925 - goto :goto_13a
23926 + goto :goto_133
23928 - :catchall_13d
23929 + :catchall_136
23930 move-exception v11
23932 move-object v8, v9
23933 diff -Npru stock-framework/smali/android/widget/Filter$RequestHandler.smali pdroid-framework/smali/android/widget/Filter$RequestHandler.smali
23934 --- stock-framework/smali/android/widget/Filter$RequestHandler.smali 2012-05-07 17:01:06.869656061 -0500
23935 +++ pdroid-framework/smali/android/widget/Filter$RequestHandler.smali 2012-05-07 17:01:37.069805813 -0500
23936 @@ -36,7 +36,7 @@
23938 iget v4, p1, Landroid/os/Message;->what:I
23940 - sparse-switch v4, :sswitch_data_a8
23941 + sparse-switch v4, :sswitch_data_a4
23943 :goto_5
23944 return-void
23945 @@ -57,7 +57,7 @@
23947 iput-object v5, v0, Landroid/widget/Filter$RequestArguments;->results:Landroid/widget/Filter$FilterResults;
23948 :try_end_14
23949 - .catchall {:try_start_a .. :try_end_14} :catchall_6e
23950 + .catchall {:try_start_a .. :try_end_14} :catchall_6b
23951 .catch Ljava/lang/Exception; {:try_start_a .. :try_end_14} :catch_4f
23953 iget-object v5, p0, Landroid/widget/Filter$RequestHandler;->this$0:Landroid/widget/Filter;
23954 @@ -73,9 +73,9 @@
23956 iput-object v0, v3, Landroid/os/Message;->obj:Ljava/lang/Object;
23958 + :goto_20
23959 invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
23961 - :goto_23
23962 iget-object v5, p0, Landroid/widget/Filter$RequestHandler;->this$0:Landroid/widget/Filter;
23964 #getter for: Landroid/widget/Filter;->mLock:Ljava/lang/Object;
23965 @@ -149,7 +149,7 @@
23967 invoke-static {v5, v6, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23968 :try_end_5e
23969 - .catchall {:try_start_50 .. :try_end_5e} :catchall_6e
23970 + .catchall {:try_start_50 .. :try_end_5e} :catchall_6b
23972 iget-object v5, p0, Landroid/widget/Filter$RequestHandler;->this$0:Landroid/widget/Filter;
23974 @@ -164,11 +164,9 @@
23976 iput-object v0, v3, Landroid/os/Message;->obj:Ljava/lang/Object;
23978 - invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
23980 - goto :goto_23
23981 + goto :goto_20
23983 - :catchall_6e
23984 + :catchall_6b
23985 move-exception v5
23987 iget-object v6, p0, Landroid/widget/Filter$RequestHandler;->this$0:Landroid/widget/Filter;
23988 @@ -188,7 +186,7 @@
23990 throw v5
23992 - :sswitch_7f
23993 + :sswitch_7c
23994 iget-object v5, p0, Landroid/widget/Filter$RequestHandler;->this$0:Landroid/widget/Filter;
23996 #getter for: Landroid/widget/Filter;->mLock:Ljava/lang/Object;
23997 @@ -198,7 +196,7 @@
23999 monitor-enter v6
24001 - :try_start_86
24002 + :try_start_83
24003 iget-object v5, p0, Landroid/widget/Filter$RequestHandler;->this$0:Landroid/widget/Filter;
24005 #getter for: Landroid/widget/Filter;->mThreadHandler:Landroid/os/Handler;
24006 @@ -206,7 +204,7 @@
24008 move-result-object v5
24010 - if-eqz v5, :cond_a1
24011 + if-eqz v5, :cond_9e
24013 iget-object v5, p0, Landroid/widget/Filter$RequestHandler;->this$0:Landroid/widget/Filter;
24015 @@ -228,25 +226,23 @@
24016 #setter for: Landroid/widget/Filter;->mThreadHandler:Landroid/os/Handler;
24017 invoke-static {v5, v7}, Landroid/widget/Filter;->access$402(Landroid/widget/Filter;Landroid/os/Handler;)Landroid/os/Handler;
24019 - :cond_a1
24020 + :cond_9e
24021 monitor-exit v6
24023 goto/16 :goto_5
24025 - :catchall_a4
24026 + :catchall_a1
24027 move-exception v5
24029 monitor-exit v6
24030 - :try_end_a6
24031 - .catchall {:try_start_86 .. :try_end_a6} :catchall_a4
24032 + :try_end_a3
24033 + .catchall {:try_start_83 .. :try_end_a3} :catchall_a1
24035 throw v5
24037 - nop
24039 - :sswitch_data_a8
24040 + :sswitch_data_a4
24041 .sparse-switch
24042 -0x2f2f0ff3 -> :sswitch_6
24043 - -0x21524111 -> :sswitch_7f
24044 + -0x21524111 -> :sswitch_7c
24045 .end sparse-switch
24046 .end method
24047 diff -Npru stock-framework/smali/android/widget/GridView.smali pdroid-framework/smali/android/widget/GridView.smali
24048 --- stock-framework/smali/android/widget/GridView.smali 2012-05-07 17:01:06.889656161 -0500
24049 +++ pdroid-framework/smali/android/widget/GridView.smali 2012-05-07 17:01:37.089805912 -0500
24050 @@ -4243,10 +4243,11 @@
24052 invoke-virtual/range {p0 .. p0}, Landroid/widget/GridView;->invokeOnItemScrollListener()V
24053 :try_end_22
24054 - .catchall {:try_start_e .. :try_end_22} :catchall_1c6
24055 + .catchall {:try_start_e .. :try_end_22} :catchall_1b5
24057 if-nez v3, :cond_2c
24059 + :goto_24
24060 const/16 v19, 0x0
24062 move/from16 v0, v19
24063 @@ -4256,7 +4257,6 @@
24064 iput-boolean v0, v1, Landroid/widget/GridView;->mBlockLayoutRequests:Z
24066 :cond_2c
24067 - :goto_2c
24068 return-void
24070 :cond_2d
24071 @@ -4317,7 +4317,7 @@
24073 move/from16 v19, v0
24075 - packed-switch v19, :pswitch_data_304
24076 + packed-switch v19, :pswitch_data_2f2
24078 move-object/from16 v0, p0
24080 @@ -4372,28 +4372,17 @@
24082 move/from16 v19, v0
24084 - if-nez v19, :cond_d9
24085 + if-nez v19, :cond_d1
24087 invoke-virtual/range {p0 .. p0}, Landroid/widget/GridView;->resetList()V
24089 invoke-virtual/range {p0 .. p0}, Landroid/widget/GridView;->invokeOnItemScrollListener()V
24090 - :try_end_9e
24091 - .catchall {:try_start_2d .. :try_end_9e} :catchall_1c6
24093 if-nez v3, :cond_2c
24095 - const/16 v19, 0x0
24097 - move/from16 v0, v19
24099 - move-object/from16 v1, p0
24101 - iput-boolean v0, v1, Landroid/widget/GridView;->mBlockLayoutRequests:Z
24103 - goto :goto_2c
24104 + goto :goto_24
24106 - :pswitch_a9
24107 - :try_start_a9
24108 + :pswitch_a1
24109 move-object/from16 v0, p0
24111 iget v0, v0, Landroid/widget/GridView;->mNextSelectedPosition:I
24112 @@ -4420,7 +4409,7 @@
24114 goto :goto_87
24116 - :pswitch_c2
24117 + :pswitch_ba
24118 move-object/from16 v0, p0
24120 iget v0, v0, Landroid/widget/GridView;->mNextSelectedPosition:I
24121 @@ -4445,7 +4434,7 @@
24123 goto :goto_87
24125 - :cond_d9
24126 + :cond_d1
24127 move-object/from16 v0, p0
24129 iget v0, v0, Landroid/widget/GridView;->mNextSelectedPosition:I
24130 @@ -4468,12 +4457,12 @@
24132 move-object/from16 v17, v0
24134 - if-eqz v8, :cond_109
24135 + if-eqz v8, :cond_101
24137 const/4 v11, 0x0
24139 - :goto_f3
24140 - if-ge v11, v5, :cond_10e
24141 + :goto_eb
24142 + if-ge v11, v5, :cond_106
24144 move-object/from16 v0, p0
24146 @@ -4493,14 +4482,14 @@
24148 add-int/lit8 v11, v11, 0x1
24150 - goto :goto_f3
24151 + goto :goto_eb
24153 - :cond_109
24154 + :cond_101
24155 move-object/from16 v0, v17
24157 invoke-virtual {v0, v5, v10}, Landroid/widget/AbsListView$RecycleBin;->fillActiveViews(II)V
24159 - :cond_10e
24160 + :cond_106
24161 invoke-virtual/range {p0 .. p0}, Landroid/widget/GridView;->detachAllViewsFromParent()V
24163 move-object/from16 v0, p0
24164 @@ -4509,9 +4498,9 @@
24166 move/from16 v19, v0
24168 - packed-switch v19, :pswitch_data_314
24169 + packed-switch v19, :pswitch_data_302
24171 - if-nez v5, :cond_24d
24172 + if-nez v5, :cond_23c
24174 move-object/from16 v0, p0
24176 @@ -4519,7 +4508,7 @@
24178 move/from16 v19, v0
24180 - if-nez v19, :cond_223
24181 + if-nez v19, :cond_212
24183 move-object/from16 v0, p0
24185 @@ -4527,18 +4516,18 @@
24187 move-object/from16 v19, v0
24189 - if-eqz v19, :cond_132
24190 + if-eqz v19, :cond_12a
24192 invoke-virtual/range {p0 .. p0}, Landroid/widget/GridView;->isInTouchMode()Z
24194 move-result v19
24196 - if-eqz v19, :cond_21f
24197 + if-eqz v19, :cond_20e
24199 - :cond_132
24200 + :cond_12a
24201 const/16 v19, -0x1
24203 - :goto_134
24204 + :goto_12c
24205 move-object/from16 v0, p0
24207 move/from16 v1, v19
24208 @@ -4551,10 +4540,10 @@
24210 move-result-object v18
24212 - :goto_141
24213 + :goto_139
24214 invoke-virtual/range {v17 .. v17}, Landroid/widget/AbsListView$RecycleBin;->scrapActiveViews()V
24216 - if-eqz v18, :cond_2b3
24217 + if-eqz v18, :cond_2a2
24219 const/16 v19, -0x1
24221 @@ -4576,8 +4565,8 @@
24223 iput v0, v1, Landroid/widget/GridView;->mSelectedTop:I
24225 - :cond_15b
24226 - :goto_15b
24227 + :cond_153
24228 + :goto_153
24229 const/16 v19, 0x0
24231 move/from16 v0, v19
24232 @@ -4622,31 +4611,20 @@
24234 move/from16 v19, v0
24236 - if-lez v19, :cond_18e
24237 + if-lez v19, :cond_186
24239 invoke-virtual/range {p0 .. p0}, Landroid/widget/GridView;->checkSelectionChanged()V
24241 - :cond_18e
24242 + :cond_186
24243 invoke-virtual/range {p0 .. p0}, Landroid/widget/GridView;->invokeOnItemScrollListener()V
24244 - :try_end_191
24245 - .catchall {:try_start_a9 .. :try_end_191} :catchall_1c6
24247 if-nez v3, :cond_2c
24249 - const/16 v19, 0x0
24251 - move/from16 v0, v19
24252 + goto/16 :goto_24
24254 - move-object/from16 v1, p0
24255 + :pswitch_18d
24256 + if-eqz v14, :cond_19c
24258 - iput-boolean v0, v1, Landroid/widget/GridView;->mBlockLayoutRequests:Z
24260 - goto/16 :goto_2c
24262 - :pswitch_19d
24263 - if-eqz v14, :cond_1ac
24265 - :try_start_19f
24266 invoke-virtual {v14}, Landroid/view/View;->getTop()I
24268 move-result v19
24269 @@ -4659,18 +4637,18 @@
24271 move-result-object v18
24273 - goto :goto_141
24274 + goto :goto_139
24276 - :cond_1ac
24277 + :cond_19c
24278 move-object/from16 v0, p0
24280 invoke-direct {v0, v7, v6}, Landroid/widget/GridView;->fillSelection(II)Landroid/view/View;
24282 move-result-object v18
24284 - goto :goto_141
24285 + goto :goto_139
24287 - :pswitch_1b3
24288 + :pswitch_1a3
24289 const/16 v19, 0x0
24291 move/from16 v0, v19
24292 @@ -4686,15 +4664,15 @@
24293 move-result-object v18
24295 invoke-direct/range {p0 .. p0}, Landroid/widget/GridView;->adjustViewsUpOrDown()V
24296 - :try_end_1c4
24297 - .catchall {:try_start_19f .. :try_end_1c4} :catchall_1c6
24298 + :try_end_1b4
24299 + .catchall {:try_start_2d .. :try_end_1b4} :catchall_1b5
24301 - goto/16 :goto_141
24302 + goto :goto_139
24304 - :catchall_1c6
24305 + :catchall_1b5
24306 move-exception v19
24308 - if-nez v3, :cond_1d1
24309 + if-nez v3, :cond_1c0
24311 const/16 v20, 0x0
24313 @@ -4704,11 +4682,11 @@
24315 iput-boolean v0, v1, Landroid/widget/GridView;->mBlockLayoutRequests:Z
24317 - :cond_1d1
24318 + :cond_1c0
24319 throw v19
24321 - :pswitch_1d2
24322 - :try_start_1d2
24323 + :pswitch_1c1
24324 + :try_start_1c1
24325 move-object/from16 v0, p0
24327 iget v0, v0, Landroid/widget/GridView;->mItemCount:I
24328 @@ -4727,9 +4705,9 @@
24330 invoke-direct/range {p0 .. p0}, Landroid/widget/GridView;->adjustViewsUpOrDown()V
24332 - goto/16 :goto_141
24333 + goto/16 :goto_139
24335 - :pswitch_1e7
24336 + :pswitch_1d6
24337 move-object/from16 v0, p0
24339 iget v0, v0, Landroid/widget/GridView;->mSelectedPosition:I
24340 @@ -4752,9 +4730,9 @@
24342 move-result-object v18
24344 - goto/16 :goto_141
24345 + goto/16 :goto_139
24347 - :pswitch_1ff
24348 + :pswitch_1ee
24349 move-object/from16 v0, p0
24351 iget v0, v0, Landroid/widget/GridView;->mSyncPosition:I
24352 @@ -4777,23 +4755,23 @@
24354 move-result-object v18
24356 - goto/16 :goto_141
24357 + goto/16 :goto_139
24359 - :pswitch_217
24360 + :pswitch_206
24361 move-object/from16 v0, p0
24363 invoke-direct {v0, v9, v7, v6}, Landroid/widget/GridView;->moveSelection(III)Landroid/view/View;
24365 move-result-object v18
24367 - goto/16 :goto_141
24368 + goto/16 :goto_139
24370 - :cond_21f
24371 + :cond_20e
24372 const/16 v19, 0x0
24374 - goto/16 :goto_134
24375 + goto/16 :goto_12c
24377 - :cond_223
24378 + :cond_212
24379 move-object/from16 v0, p0
24381 iget v0, v0, Landroid/widget/GridView;->mItemCount:I
24382 @@ -4808,18 +4786,18 @@
24384 move-object/from16 v19, v0
24386 - if-eqz v19, :cond_239
24387 + if-eqz v19, :cond_228
24389 invoke-virtual/range {p0 .. p0}, Landroid/widget/GridView;->isInTouchMode()Z
24391 move-result v19
24393 - if-eqz v19, :cond_24a
24394 + if-eqz v19, :cond_239
24396 - :cond_239
24397 + :cond_228
24398 const/16 v19, -0x1
24400 - :goto_23b
24401 + :goto_22a
24402 move-object/from16 v0, p0
24404 move/from16 v1, v19
24405 @@ -4832,21 +4810,21 @@
24407 move-result-object v18
24409 - goto/16 :goto_141
24410 + goto/16 :goto_139
24412 - :cond_24a
24413 + :cond_239
24414 move/from16 v19, v13
24416 - goto :goto_23b
24417 + goto :goto_22a
24419 - :cond_24d
24420 + :cond_23c
24421 move-object/from16 v0, p0
24423 iget v0, v0, Landroid/widget/GridView;->mSelectedPosition:I
24425 move/from16 v19, v0
24427 - if-ltz v19, :cond_27e
24428 + if-ltz v19, :cond_26d
24430 move-object/from16 v0, p0
24432 @@ -4864,7 +4842,7 @@
24434 move/from16 v1, v20
24436 - if-ge v0, v1, :cond_27e
24437 + if-ge v0, v1, :cond_26d
24439 move-object/from16 v0, p0
24441 @@ -4872,9 +4850,9 @@
24443 move/from16 v19, v0
24445 - if-nez v16, :cond_279
24446 + if-nez v16, :cond_268
24448 - :goto_26f
24449 + :goto_25e
24450 move-object/from16 v0, p0
24452 move/from16 v1, v19
24453 @@ -4883,16 +4861,16 @@
24455 move-result-object v18
24457 - goto/16 :goto_141
24458 + goto/16 :goto_139
24460 - :cond_279
24461 + :cond_268
24462 invoke-virtual/range {v16 .. v16}, Landroid/view/View;->getTop()I
24464 move-result v7
24466 - goto :goto_26f
24467 + goto :goto_25e
24469 - :cond_27e
24470 + :cond_26d
24471 move-object/from16 v0, p0
24473 iget v0, v0, Landroid/widget/GridView;->mFirstPosition:I
24474 @@ -4909,7 +4887,7 @@
24476 move/from16 v1, v20
24478 - if-ge v0, v1, :cond_2a7
24479 + if-ge v0, v1, :cond_296
24481 move-object/from16 v0, p0
24483 @@ -4917,9 +4895,9 @@
24485 move/from16 v19, v0
24487 - if-nez v15, :cond_2a2
24488 + if-nez v15, :cond_291
24490 - :goto_298
24491 + :goto_287
24492 move-object/from16 v0, p0
24494 move/from16 v1, v19
24495 @@ -4928,16 +4906,16 @@
24497 move-result-object v18
24499 - goto/16 :goto_141
24500 + goto/16 :goto_139
24502 - :cond_2a2
24503 + :cond_291
24504 invoke-virtual {v15}, Landroid/view/View;->getTop()I
24506 move-result v7
24508 - goto :goto_298
24509 + goto :goto_287
24511 - :cond_2a7
24512 + :cond_296
24513 const/16 v19, 0x0
24515 move-object/from16 v0, p0
24516 @@ -4948,16 +4926,16 @@
24518 move-result-object v18
24520 - goto/16 :goto_141
24521 + goto/16 :goto_139
24523 - :cond_2b3
24524 + :cond_2a2
24525 move-object/from16 v0, p0
24527 iget v0, v0, Landroid/widget/GridView;->mTouchMode:I
24529 move/from16 v19, v0
24531 - if-lez v19, :cond_2f0
24532 + if-lez v19, :cond_2df
24534 move-object/from16 v0, p0
24536 @@ -4971,7 +4949,7 @@
24538 move/from16 v1, v20
24540 - if-ge v0, v1, :cond_2f0
24541 + if-ge v0, v1, :cond_2df
24543 move-object/from16 v0, p0
24545 @@ -4995,7 +4973,7 @@
24547 move-result-object v4
24549 - if-eqz v4, :cond_15b
24550 + if-eqz v4, :cond_153
24552 move-object/from16 v0, p0
24554 @@ -5009,9 +4987,9 @@
24556 invoke-virtual {v0, v1, v4}, Landroid/widget/GridView;->positionSelector(ILandroid/view/View;)V
24558 - goto/16 :goto_15b
24559 + goto/16 :goto_153
24561 - :cond_2f0
24562 + :cond_2df
24563 const/16 v19, 0x0
24565 move/from16 v0, v19
24566 @@ -5027,31 +5005,29 @@
24567 move-object/from16 v19, v0
24569 invoke-virtual/range {v19 .. v19}, Landroid/graphics/Rect;->setEmpty()V
24570 - :try_end_301
24571 - .catchall {:try_start_1d2 .. :try_end_301} :catchall_1c6
24573 - goto/16 :goto_15b
24574 + :try_end_2f0
24575 + .catchall {:try_start_1c1 .. :try_end_2f0} :catchall_1b5
24577 - nop
24578 + goto/16 :goto_153
24580 - :pswitch_data_304
24581 + :pswitch_data_2f2
24582 .packed-switch 0x1
24583 :pswitch_87
24584 - :pswitch_a9
24585 + :pswitch_a1
24586 :pswitch_87
24587 :pswitch_87
24588 :pswitch_87
24589 - :pswitch_c2
24590 + :pswitch_ba
24591 .end packed-switch
24593 - :pswitch_data_314
24594 + :pswitch_data_302
24595 .packed-switch 0x1
24596 - :pswitch_1b3
24597 - :pswitch_19d
24598 - :pswitch_1d2
24599 - :pswitch_1e7
24600 - :pswitch_1ff
24601 - :pswitch_217
24602 + :pswitch_1a3
24603 + :pswitch_18d
24604 + :pswitch_1c1
24605 + :pswitch_1d6
24606 + :pswitch_1ee
24607 + :pswitch_206
24608 .end packed-switch
24609 .end method
24611 diff -Npru stock-framework/smali/android/widget/ListView.smali pdroid-framework/smali/android/widget/ListView.smali
24612 --- stock-framework/smali/android/widget/ListView.smali 2012-05-07 17:01:06.861656019 -0500
24613 +++ pdroid-framework/smali/android/widget/ListView.smali 2012-05-07 17:01:37.061805773 -0500
24614 @@ -6868,10 +6868,11 @@
24616 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->invokeOnItemScrollListener()V
24617 :try_end_1d
24618 - .catchall {:try_start_b .. :try_end_1d} :catchall_125
24619 + .catchall {:try_start_b .. :try_end_1d} :catchall_120
24621 if-nez v8, :cond_24
24623 + :goto_1f
24624 const/4 v2, 0x0
24626 move-object/from16 v0, p0
24627 @@ -6879,7 +6880,6 @@
24628 iput-boolean v2, v0, Landroid/widget/ListView;->mBlockLayoutRequests:Z
24630 :cond_24
24631 - :goto_24
24632 return-void
24634 :cond_25
24635 @@ -6936,7 +6936,7 @@
24637 iget v2, v0, Landroid/widget/ListView;->mLayoutMode:I
24639 - packed-switch v2, :pswitch_data_36e
24640 + packed-switch v2, :pswitch_data_364
24642 move-object/from16 v0, p0
24644 @@ -7016,26 +7016,17 @@
24646 iget v2, v0, Landroid/widget/ListView;->mItemCount:I
24648 - if-nez v2, :cond_cc
24649 + if-nez v2, :cond_c7
24651 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->resetList()V
24653 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->invokeOnItemScrollListener()V
24654 - :try_end_a8
24655 - .catchall {:try_start_25 .. :try_end_a8} :catchall_125
24657 if-nez v8, :cond_24
24659 - const/4 v2, 0x0
24661 - move-object/from16 v0, p0
24663 - iput-boolean v2, v0, Landroid/widget/ListView;->mBlockLayoutRequests:Z
24665 - goto/16 :goto_24
24666 + goto/16 :goto_1f
24668 - :pswitch_b1
24669 - :try_start_b1
24670 + :pswitch_ac
24671 move-object/from16 v0, p0
24673 iget v2, v0, Landroid/widget/ListView;->mNextSelectedPosition:I
24674 @@ -7064,7 +7055,7 @@
24676 goto :goto_93
24678 - :cond_cc
24679 + :cond_c7
24680 move-object/from16 v0, p0
24682 iget v2, v0, Landroid/widget/ListView;->mItemCount:I
24683 @@ -7081,7 +7072,7 @@
24685 move/from16 v0, v24
24687 - if-eq v2, v0, :cond_131
24688 + if-eq v2, v0, :cond_12c
24690 new-instance v2, Ljava/lang/IllegalStateException;
24692 @@ -7152,13 +7143,13 @@
24693 invoke-direct {v2, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
24695 throw v2
24696 - :try_end_125
24697 - .catchall {:try_start_b1 .. :try_end_125} :catchall_125
24698 + :try_end_120
24699 + .catchall {:try_start_25 .. :try_end_120} :catchall_120
24701 - :catchall_125
24702 + :catchall_120
24703 move-exception v2
24705 - if-nez v8, :cond_130
24706 + if-nez v8, :cond_12b
24708 const/16 v24, 0x0
24710 @@ -7168,11 +7159,11 @@
24712 iput-boolean v0, v1, Landroid/widget/ListView;->mBlockLayoutRequests:Z
24714 - :cond_130
24715 + :cond_12b
24716 throw v2
24718 - :cond_131
24719 - :try_start_131
24720 + :cond_12c
24721 + :try_start_12c
24722 move-object/from16 v0, p0
24724 iget v2, v0, Landroid/widget/ListView;->mNextSelectedPosition:I
24725 @@ -7193,14 +7184,14 @@
24727 const/4 v13, 0x0
24729 - if-eqz v11, :cond_161
24730 + if-eqz v11, :cond_15c
24732 const/16 v18, 0x0
24734 - :goto_149
24735 + :goto_144
24736 move/from16 v0, v18
24738 - if-ge v0, v10, :cond_166
24739 + if-ge v0, v10, :cond_161
24741 move-object/from16 v0, p0
24743 @@ -7220,21 +7211,21 @@
24745 add-int/lit8 v18, v18, 0x1
24747 - goto :goto_149
24748 + goto :goto_144
24750 - :cond_161
24751 + :cond_15c
24752 move-object/from16 v0, v22
24754 invoke-virtual {v0, v10, v12}, Landroid/widget/AbsListView$RecycleBin;->fillActiveViews(II)V
24756 - :cond_166
24757 + :cond_161
24758 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->getFocusedChild()Landroid/view/View;
24760 move-result-object v17
24762 - if-eqz v17, :cond_186
24763 + if-eqz v17, :cond_181
24765 - if-eqz v11, :cond_178
24766 + if-eqz v11, :cond_173
24768 move-object/from16 v0, p0
24770 @@ -7244,38 +7235,38 @@
24772 move-result v2
24774 - if-eqz v2, :cond_183
24775 + if-eqz v2, :cond_17e
24777 - :cond_178
24778 + :cond_173
24779 move-object/from16 v13, v17
24781 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->findFocus()Landroid/view/View;
24783 move-result-object v14
24785 - if-eqz v14, :cond_183
24786 + if-eqz v14, :cond_17e
24788 invoke-virtual {v14}, Landroid/view/View;->onStartTemporaryDetach()V
24790 - :cond_183
24791 + :cond_17e
24792 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->requestFocus()Z
24794 - :cond_186
24795 + :cond_181
24796 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->detachAllViewsFromParent()V
24798 move-object/from16 v0, p0
24800 iget v2, v0, Landroid/widget/ListView;->mLayoutMode:I
24802 - packed-switch v2, :pswitch_data_37c
24803 + packed-switch v2, :pswitch_data_372
24805 - if-nez v10, :cond_2ba
24806 + if-nez v10, :cond_2b0
24808 move-object/from16 v0, p0
24810 iget-boolean v2, v0, Landroid/widget/ListView;->mStackFromBottom:Z
24812 - if-nez v2, :cond_295
24813 + if-nez v2, :cond_28b
24815 const/4 v2, 0x0
24817 @@ -7301,61 +7292,61 @@
24819 move-result-object v23
24821 - :goto_1b0
24822 + :goto_1ab
24823 invoke-virtual/range {v22 .. v22}, Landroid/widget/AbsListView$RecycleBin;->scrapActiveViews()V
24825 - if-eqz v23, :cond_327
24826 + if-eqz v23, :cond_31d
24828 move-object/from16 v0, p0
24830 iget-boolean v2, v0, Landroid/widget/ListView;->mItemsCanFocus:Z
24832 - if-eqz v2, :cond_31d
24833 + if-eqz v2, :cond_313
24835 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->hasFocus()Z
24837 move-result v2
24839 - if-eqz v2, :cond_31d
24840 + if-eqz v2, :cond_313
24842 invoke-virtual/range {v23 .. v23}, Landroid/view/View;->hasFocus()Z
24844 move-result v2
24846 - if-nez v2, :cond_31d
24847 + if-nez v2, :cond_313
24849 move-object/from16 v0, v23
24851 - if-ne v0, v13, :cond_1d1
24852 + if-ne v0, v13, :cond_1cc
24854 invoke-virtual {v14}, Landroid/view/View;->requestFocus()Z
24856 move-result v2
24858 - if-nez v2, :cond_1d7
24859 + if-nez v2, :cond_1d2
24861 - :cond_1d1
24862 + :cond_1cc
24863 invoke-virtual/range {v23 .. v23}, Landroid/view/View;->requestFocus()Z
24865 move-result v2
24867 - if-eqz v2, :cond_30b
24868 + if-eqz v2, :cond_301
24870 - :cond_1d7
24871 + :cond_1d2
24872 const/4 v15, 0x1
24874 - :goto_1d8
24875 - if-nez v15, :cond_30e
24876 + :goto_1d3
24877 + if-nez v15, :cond_304
24879 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->getFocusedChild()Landroid/view/View;
24881 move-result-object v16
24883 - if-eqz v16, :cond_1e3
24884 + if-eqz v16, :cond_1de
24886 invoke-virtual/range {v16 .. v16}, Landroid/view/View;->clearFocus()V
24888 - :cond_1e3
24889 + :cond_1de
24890 const/4 v2, -0x1
24892 move-object/from16 v0, p0
24893 @@ -7364,7 +7355,7 @@
24895 invoke-virtual {v0, v2, v1}, Landroid/widget/ListView;->positionSelector(ILandroid/view/View;)V
24897 - :goto_1eb
24898 + :goto_1e6
24899 invoke-virtual/range {v23 .. v23}, Landroid/view/View;->getTop()I
24901 move-result v2
24902 @@ -7373,19 +7364,19 @@
24904 iput v2, v0, Landroid/widget/ListView;->mSelectedTop:I
24906 - :cond_1f3
24907 - :goto_1f3
24908 - if-eqz v14, :cond_1fe
24909 + :cond_1ee
24910 + :goto_1ee
24911 + if-eqz v14, :cond_1f9
24913 invoke-virtual {v14}, Landroid/view/View;->getWindowToken()Landroid/os/IBinder;
24915 move-result-object v2
24917 - if-eqz v2, :cond_1fe
24918 + if-eqz v2, :cond_1f9
24920 invoke-virtual {v14}, Landroid/view/View;->onFinishTemporaryDetach()V
24922 - :cond_1fe
24923 + :cond_1f9
24924 const/4 v2, 0x0
24926 move-object/from16 v0, p0
24927 @@ -7418,29 +7409,20 @@
24929 iget v2, v0, Landroid/widget/ListView;->mItemCount:I
24931 - if-lez v2, :cond_222
24932 + if-lez v2, :cond_21d
24934 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->checkSelectionChanged()V
24936 - :cond_222
24937 + :cond_21d
24938 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->invokeOnItemScrollListener()V
24939 - :try_end_225
24940 - .catchall {:try_start_131 .. :try_end_225} :catchall_125
24942 if-nez v8, :cond_24
24944 - const/4 v2, 0x0
24946 - move-object/from16 v0, p0
24948 - iput-boolean v2, v0, Landroid/widget/ListView;->mBlockLayoutRequests:Z
24950 - goto/16 :goto_24
24951 + goto/16 :goto_1f
24953 - :pswitch_22e
24954 - if-eqz v4, :cond_23c
24955 + :pswitch_224
24956 + if-eqz v4, :cond_232
24958 - :try_start_230
24959 invoke-virtual {v4}, Landroid/view/View;->getTop()I
24961 move-result v2
24962 @@ -7451,18 +7433,18 @@
24964 move-result-object v23
24966 - goto/16 :goto_1b0
24967 + goto/16 :goto_1ab
24969 - :cond_23c
24970 + :cond_232
24971 move-object/from16 v0, p0
24973 invoke-direct {v0, v6, v7}, Landroid/widget/ListView;->fillFromMiddle(II)Landroid/view/View;
24975 move-result-object v23
24977 - goto/16 :goto_1b0
24978 + goto/16 :goto_1ab
24980 - :pswitch_244
24981 + :pswitch_23a
24982 move-object/from16 v0, p0
24984 iget v2, v0, Landroid/widget/ListView;->mSyncPosition:I
24985 @@ -7481,9 +7463,9 @@
24987 move-result-object v23
24989 - goto/16 :goto_1b0
24990 + goto/16 :goto_1ab
24992 - :pswitch_258
24993 + :pswitch_24e
24994 move-object/from16 v0, p0
24996 iget v2, v0, Landroid/widget/ListView;->mItemCount:I
24997 @@ -7498,9 +7480,9 @@
24999 invoke-direct/range {p0 .. p0}, Landroid/widget/ListView;->adjustViewsUpOrDown()V
25001 - goto/16 :goto_1b0
25002 + goto/16 :goto_1ab
25004 - :pswitch_269
25005 + :pswitch_25f
25006 const/4 v2, 0x0
25008 move-object/from16 v0, p0
25009 @@ -7515,9 +7497,9 @@
25011 invoke-direct/range {p0 .. p0}, Landroid/widget/ListView;->adjustViewsUpOrDown()V
25013 - goto/16 :goto_1b0
25014 + goto/16 :goto_1ab
25016 - :pswitch_279
25017 + :pswitch_26f
25018 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->reconcileSelectedPosition()I
25020 move-result v2
25021 @@ -7536,18 +7518,18 @@
25023 move-result-object v23
25025 - goto/16 :goto_1b0
25026 + goto/16 :goto_1ab
25028 - :pswitch_28d
25029 + :pswitch_283
25030 move-object/from16 v2, p0
25032 invoke-direct/range {v2 .. v7}, Landroid/widget/ListView;->moveSelection(Landroid/view/View;Landroid/view/View;III)Landroid/view/View;
25034 move-result-object v23
25036 - goto/16 :goto_1b0
25037 + goto/16 :goto_1ab
25039 - :cond_295
25040 + :cond_28b
25041 move-object/from16 v0, p0
25043 iget v2, v0, Landroid/widget/ListView;->mItemCount:I
25044 @@ -7582,14 +7564,14 @@
25046 move-result-object v23
25048 - goto/16 :goto_1b0
25049 + goto/16 :goto_1ab
25051 - :cond_2ba
25052 + :cond_2b0
25053 move-object/from16 v0, p0
25055 iget v2, v0, Landroid/widget/ListView;->mSelectedPosition:I
25057 - if-ltz v2, :cond_2e1
25058 + if-ltz v2, :cond_2d7
25060 move-object/from16 v0, p0
25062 @@ -7603,31 +7585,31 @@
25064 move/from16 v0, v24
25066 - if-ge v2, v0, :cond_2e1
25067 + if-ge v2, v0, :cond_2d7
25069 move-object/from16 v0, p0
25071 iget v2, v0, Landroid/widget/ListView;->mSelectedPosition:I
25073 - if-nez v3, :cond_2dc
25074 + if-nez v3, :cond_2d2
25076 - :goto_2d4
25077 + :goto_2ca
25078 move-object/from16 v0, p0
25080 invoke-direct {v0, v2, v6}, Landroid/widget/ListView;->fillSpecific(II)Landroid/view/View;
25082 move-result-object v23
25084 - goto/16 :goto_1b0
25085 + goto/16 :goto_1ab
25087 - :cond_2dc
25088 + :cond_2d2
25089 invoke-virtual {v3}, Landroid/view/View;->getTop()I
25091 move-result v6
25093 - goto :goto_2d4
25094 + goto :goto_2ca
25096 - :cond_2e1
25097 + :cond_2d7
25098 move-object/from16 v0, p0
25100 iget v2, v0, Landroid/widget/ListView;->mFirstPosition:I
25101 @@ -7640,31 +7622,31 @@
25103 move/from16 v0, v24
25105 - if-ge v2, v0, :cond_302
25106 + if-ge v2, v0, :cond_2f8
25108 move-object/from16 v0, p0
25110 iget v2, v0, Landroid/widget/ListView;->mFirstPosition:I
25112 - if-nez v20, :cond_2fd
25113 + if-nez v20, :cond_2f3
25115 - :goto_2f5
25116 + :goto_2eb
25117 move-object/from16 v0, p0
25119 invoke-direct {v0, v2, v6}, Landroid/widget/ListView;->fillSpecific(II)Landroid/view/View;
25121 move-result-object v23
25123 - goto/16 :goto_1b0
25124 + goto/16 :goto_1ab
25126 - :cond_2fd
25127 + :cond_2f3
25128 invoke-virtual/range {v20 .. v20}, Landroid/view/View;->getTop()I
25130 move-result v6
25132 - goto :goto_2f5
25133 + goto :goto_2eb
25135 - :cond_302
25136 + :cond_2f8
25137 const/4 v2, 0x0
25139 move-object/from16 v0, p0
25140 @@ -7673,14 +7655,14 @@
25142 move-result-object v23
25144 - goto/16 :goto_1b0
25145 + goto/16 :goto_1ab
25147 - :cond_30b
25148 + :cond_301
25149 const/4 v15, 0x0
25151 - goto/16 :goto_1d8
25152 + goto/16 :goto_1d3
25154 - :cond_30e
25155 + :cond_304
25156 const/4 v2, 0x0
25158 move-object/from16 v0, v23
25159 @@ -7693,9 +7675,9 @@
25161 invoke-virtual {v2}, Landroid/graphics/Rect;->setEmpty()V
25163 - goto/16 :goto_1eb
25164 + goto/16 :goto_1e6
25166 - :cond_31d
25167 + :cond_313
25168 const/4 v2, -0x1
25170 move-object/from16 v0, p0
25171 @@ -7704,14 +7686,14 @@
25173 invoke-virtual {v0, v2, v1}, Landroid/widget/ListView;->positionSelector(ILandroid/view/View;)V
25175 - goto/16 :goto_1eb
25176 + goto/16 :goto_1e6
25178 - :cond_327
25179 + :cond_31d
25180 move-object/from16 v0, p0
25182 iget v2, v0, Landroid/widget/ListView;->mTouchMode:I
25184 - if-lez v2, :cond_361
25185 + if-lez v2, :cond_357
25187 move-object/from16 v0, p0
25189 @@ -7721,7 +7703,7 @@
25191 move/from16 v0, v24
25193 - if-ge v2, v0, :cond_361
25194 + if-ge v2, v0, :cond_357
25196 move-object/from16 v0, p0
25198 @@ -7741,7 +7723,7 @@
25200 move-result-object v9
25202 - if-eqz v9, :cond_354
25203 + if-eqz v9, :cond_34a
25205 move-object/from16 v0, p0
25207 @@ -7751,21 +7733,21 @@
25209 invoke-virtual {v0, v2, v9}, Landroid/widget/ListView;->positionSelector(ILandroid/view/View;)V
25211 - :cond_354
25212 - :goto_354
25213 + :cond_34a
25214 + :goto_34a
25215 invoke-virtual/range {p0 .. p0}, Landroid/widget/ListView;->hasFocus()Z
25217 move-result v2
25219 - if-eqz v2, :cond_1f3
25220 + if-eqz v2, :cond_1ee
25222 - if-eqz v14, :cond_1f3
25223 + if-eqz v14, :cond_1ee
25225 invoke-virtual {v14}, Landroid/view/View;->requestFocus()Z
25227 - goto/16 :goto_1f3
25228 + goto/16 :goto_1ee
25230 - :cond_361
25231 + :cond_357
25232 const/4 v2, 0x0
25234 move-object/from16 v0, p0
25235 @@ -7777,28 +7759,28 @@
25236 iget-object v2, v0, Landroid/widget/ListView;->mSelectorRect:Landroid/graphics/Rect;
25238 invoke-virtual {v2}, Landroid/graphics/Rect;->setEmpty()V
25239 - :try_end_36d
25240 - .catchall {:try_start_230 .. :try_end_36d} :catchall_125
25241 + :try_end_363
25242 + .catchall {:try_start_12c .. :try_end_363} :catchall_120
25244 - goto :goto_354
25245 + goto :goto_34a
25247 - :pswitch_data_36e
25248 + :pswitch_data_364
25249 .packed-switch 0x1
25250 :pswitch_93
25251 - :pswitch_b1
25252 + :pswitch_ac
25253 :pswitch_93
25254 :pswitch_93
25255 :pswitch_93
25256 .end packed-switch
25258 - :pswitch_data_37c
25259 + :pswitch_data_372
25260 .packed-switch 0x1
25261 - :pswitch_269
25262 - :pswitch_22e
25263 - :pswitch_258
25264 - :pswitch_279
25265 - :pswitch_244
25266 - :pswitch_28d
25267 + :pswitch_25f
25268 + :pswitch_224
25269 + :pswitch_24e
25270 + :pswitch_26f
25271 + :pswitch_23a
25272 + :pswitch_283
25273 .end packed-switch
25274 .end method
25276 diff -Npru stock-framework/smali/android/widget/TextView.smali pdroid-framework/smali/android/widget/TextView.smali
25277 --- stock-framework/smali/android/widget/TextView.smali 2012-05-07 17:01:04.473644177 -0500
25278 +++ pdroid-framework/smali/android/widget/TextView.smali 2012-05-07 17:01:34.857794847 -0500
25279 @@ -5274,18 +5274,18 @@
25280 return v2
25282 :cond_b
25283 - sparse-switch p1, :sswitch_data_ec
25284 + sparse-switch p1, :sswitch_data_e8
25286 :cond_e
25287 iget-object v2, p0, Landroid/widget/TextView;->mInput:Landroid/text/method/KeyListener;
25289 - if-eqz v2, :cond_bb
25290 + if-eqz v2, :cond_b7
25292 invoke-virtual {p0}, Landroid/widget/TextView;->resetErrorChangedFlag()V
25294 const/4 v0, 0x1
25296 - if-eqz p3, :cond_97
25297 + if-eqz p3, :cond_9d
25299 :try_start_18
25300 invoke-virtual {p0}, Landroid/widget/TextView;->beginBatchEdit()V
25301 @@ -5302,12 +5302,12 @@
25303 invoke-virtual {p0}, Landroid/widget/TextView;->hideErrorIfUnchanged()V
25304 :try_end_28
25305 - .catchall {:try_start_18 .. :try_end_28} :catchall_b6
25306 - .catch Ljava/lang/AbstractMethodError; {:try_start_18 .. :try_end_28} :catch_b1
25307 + .catchall {:try_start_18 .. :try_end_28} :catchall_94
25308 + .catch Ljava/lang/AbstractMethodError; {:try_start_18 .. :try_end_28} :catch_99
25310 const/4 v0, 0x0
25312 - if-eqz v1, :cond_94
25313 + if-eqz v1, :cond_9a
25315 invoke-virtual {p0}, Landroid/widget/TextView;->endBatchEdit()V
25317 @@ -5433,12 +5433,21 @@
25319 goto/16 :goto_a
25321 - :cond_94
25322 + :catchall_94
25323 + move-exception v2
25325 + invoke-virtual {p0}, Landroid/widget/TextView;->endBatchEdit()V
25327 + throw v2
25329 + :catch_99
25330 + move-exception v2
25332 + :cond_9a
25333 invoke-virtual {p0}, Landroid/widget/TextView;->endBatchEdit()V
25335 - :cond_97
25336 - :goto_97
25337 - if-eqz v0, :cond_bb
25338 + :cond_9d
25339 + if-eqz v0, :cond_b7
25341 invoke-virtual {p0}, Landroid/widget/TextView;->beginBatchEdit()V
25343 @@ -5456,40 +5465,26 @@
25345 invoke-virtual {p0}, Landroid/widget/TextView;->hideErrorIfUnchanged()V
25347 - if-eqz v1, :cond_bb
25348 + if-eqz v1, :cond_b7
25350 move v2, v5
25352 goto/16 :goto_a
25354 - :catch_b1
25355 - move-exception v2
25357 - invoke-virtual {p0}, Landroid/widget/TextView;->endBatchEdit()V
25359 - goto :goto_97
25361 - :catchall_b6
25362 - move-exception v2
25364 - invoke-virtual {p0}, Landroid/widget/TextView;->endBatchEdit()V
25366 - throw v2
25368 - :cond_bb
25369 + :cond_b7
25370 iget-object v2, p0, Landroid/widget/TextView;->mMovement:Landroid/text/method/MovementMethod;
25372 - if-eqz v2, :cond_e8
25373 + if-eqz v2, :cond_e4
25375 iget-object v2, p0, Landroid/widget/TextView;->mLayout:Landroid/text/Layout;
25377 - if-eqz v2, :cond_e8
25378 + if-eqz v2, :cond_e4
25380 const/4 v0, 0x1
25382 - if-eqz p3, :cond_d7
25383 + if-eqz p3, :cond_d3
25385 - :try_start_c6
25386 + :try_start_c2
25387 iget-object v5, p0, Landroid/widget/TextView;->mMovement:Landroid/text/method/MovementMethod;
25389 iget-object v2, p0, Landroid/widget/TextView;->mText:Ljava/lang/CharSequence;
25390 @@ -5497,24 +5492,24 @@
25391 check-cast v2, Landroid/text/Spannable;
25393 invoke-interface {v5, p0, v2, p3}, Landroid/text/method/MovementMethod;->onKeyOther(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/KeyEvent;)Z
25394 - :try_end_cf
25395 - .catch Ljava/lang/AbstractMethodError; {:try_start_c6 .. :try_end_cf} :catch_d6
25396 + :try_end_cb
25397 + .catch Ljava/lang/AbstractMethodError; {:try_start_c2 .. :try_end_cb} :catch_d2
25399 move-result v1
25401 const/4 v0, 0x0
25403 - if-eqz v1, :cond_d7
25404 + if-eqz v1, :cond_d3
25406 move v2, v4
25408 goto/16 :goto_a
25410 - :catch_d6
25411 + :catch_d2
25412 move-exception v2
25414 - :cond_d7
25415 - if-eqz v0, :cond_e8
25416 + :cond_d3
25417 + if-eqz v0, :cond_e4
25419 iget-object v4, p0, Landroid/widget/TextView;->mMovement:Landroid/text/method/MovementMethod;
25421 @@ -5526,20 +5521,20 @@
25423 move-result v2
25425 - if-eqz v2, :cond_e8
25426 + if-eqz v2, :cond_e4
25428 const/4 v2, 0x2
25430 goto/16 :goto_a
25432 - :cond_e8
25433 + :cond_e4
25434 move v2, v3
25436 goto/16 :goto_a
25440 - :sswitch_data_ec
25441 + :sswitch_data_e8
25442 .sparse-switch
25443 0x4 -> :sswitch_8a
25444 0x17 -> :sswitch_68
25445 diff -Npru stock-framework/smali/com/android/internal/os/BatteryStatsImpl.smali pdroid-framework/smali/com/android/internal/os/BatteryStatsImpl.smali
25446 --- stock-framework/smali/com/android/internal/os/BatteryStatsImpl.smali 2012-05-07 17:01:07.145657431 -0500
25447 +++ pdroid-framework/smali/com/android/internal/os/BatteryStatsImpl.smali 2012-05-07 17:01:37.385807380 -0500
25448 @@ -4343,13 +4343,14 @@
25450 invoke-virtual {v3}, Lcom/android/internal/util/JournaledFile;->commit()V
25451 :try_end_30
25452 - .catchall {:try_start_10 .. :try_end_30} :catchall_52
25453 + .catchall {:try_start_10 .. :try_end_30} :catchall_4f
25454 .catch Ljava/io/IOException; {:try_start_10 .. :try_end_30} :catch_3c
25456 invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
25458 iget-object v3, p0, Lcom/android/internal/os/BatteryStatsImpl;->mWriteLock:Ljava/util/concurrent/locks/ReentrantLock;
25460 + :goto_35
25461 invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
25463 goto :goto_9
25464 @@ -4378,17 +4379,15 @@
25466 invoke-virtual {v3}, Lcom/android/internal/util/JournaledFile;->rollback()V
25467 :try_end_49
25468 - .catchall {:try_start_3d .. :try_end_49} :catchall_52
25469 + .catchall {:try_start_3d .. :try_end_49} :catchall_4f
25471 invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
25473 iget-object v3, p0, Lcom/android/internal/os/BatteryStatsImpl;->mWriteLock:Ljava/util/concurrent/locks/ReentrantLock;
25475 - invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
25477 - goto :goto_9
25478 + goto :goto_35
25480 - :catchall_52
25481 + :catchall_4f
25482 move-exception v3
25484 invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
25485 diff -Npru stock-framework/smali/com/android/internal/telephony/BaseCommands.smali pdroid-framework/smali/com/android/internal/telephony/BaseCommands.smali
25486 --- stock-framework/smali/com/android/internal/telephony/BaseCommands.smali 2012-05-07 17:01:07.189657645 -0500
25487 +++ pdroid-framework/smali/com/android/internal/telephony/BaseCommands.smali 2012-05-07 17:01:37.429807602 -0500
25488 @@ -541,8 +541,8 @@
25490 invoke-direct {v6, v7}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
25491 :try_end_a
25492 - .catchall {:try_start_3 .. :try_end_a} :catchall_5e
25493 - .catch Ljava/io/IOException; {:try_start_3 .. :try_end_a} :catch_3d
25494 + .catchall {:try_start_3 .. :try_end_a} :catchall_5b
25495 + .catch Ljava/io/IOException; {:try_start_3 .. :try_end_a} :catch_3a
25497 const/16 v7, 0x800
25499 @@ -561,19 +561,21 @@
25501 invoke-direct {v2, v0, v7, v3}, Ljava/lang/String;-><init>([BII)V
25502 :try_end_1a
25503 - .catchall {:try_start_c .. :try_end_1a} :catchall_67
25504 - .catch Ljava/io/IOException; {:try_start_c .. :try_end_1a} :catch_6a
25505 + .catchall {:try_start_c .. :try_end_1a} :catchall_66
25506 + .catch Ljava/io/IOException; {:try_start_c .. :try_end_1a} :catch_69
25508 move-object v1, v2
25510 :cond_1b
25511 - if-eqz v6, :cond_6d
25512 + if-eqz v6, :cond_20
25514 :try_start_1d
25515 invoke-virtual {v6}, Ljava/io/FileInputStream;->close()V
25516 :try_end_20
25517 - .catch Ljava/io/IOException; {:try_start_1d .. :try_end_20} :catch_3a
25518 + .catch Ljava/io/IOException; {:try_start_1d .. :try_end_20} :catch_64
25520 + :cond_20
25521 + :goto_20
25522 move-object v5, v6
25524 :cond_21
25525 @@ -603,17 +605,10 @@
25526 return-object v1
25528 :catch_3a
25529 - move-exception v7
25531 - move-object v5, v6
25533 - goto :goto_21
25535 - :catch_3d
25536 move-exception v4
25538 - :goto_3e
25539 - :try_start_3e
25540 + :goto_3b
25541 + :try_start_3b
25542 const-string v7, "RILB"
25544 new-instance v8, Ljava/lang/StringBuilder;
25545 @@ -635,61 +630,61 @@
25546 move-result-object v8
25548 invoke-static {v7, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
25549 - :try_end_56
25550 - .catchall {:try_start_3e .. :try_end_56} :catchall_5e
25551 + :try_end_53
25552 + .catchall {:try_start_3b .. :try_end_53} :catchall_5b
25554 if-eqz v5, :cond_21
25556 - :try_start_58
25557 + :try_start_55
25558 invoke-virtual {v5}, Ljava/io/FileInputStream;->close()V
25559 - :try_end_5b
25560 - .catch Ljava/io/IOException; {:try_start_58 .. :try_end_5b} :catch_5c
25561 + :try_end_58
25562 + .catch Ljava/io/IOException; {:try_start_55 .. :try_end_58} :catch_59
25564 goto :goto_21
25566 - :catch_5c
25567 + :catch_59
25568 move-exception v7
25570 goto :goto_21
25572 - :catchall_5e
25573 + :catchall_5b
25574 move-exception v7
25576 - :goto_5f
25577 - if-eqz v5, :cond_64
25578 + :goto_5c
25579 + if-eqz v5, :cond_61
25581 - :try_start_61
25582 + :try_start_5e
25583 invoke-virtual {v5}, Ljava/io/FileInputStream;->close()V
25584 - :try_end_64
25585 - .catch Ljava/io/IOException; {:try_start_61 .. :try_end_64} :catch_65
25586 + :try_end_61
25587 + .catch Ljava/io/IOException; {:try_start_5e .. :try_end_61} :catch_62
25589 - :cond_64
25590 - :goto_64
25591 + :cond_61
25592 + :goto_61
25593 throw v7
25595 - :catch_65
25596 + :catch_62
25597 move-exception v8
25599 - goto :goto_64
25600 + goto :goto_61
25602 - :catchall_67
25603 + :catch_64
25604 move-exception v7
25606 - move-object v5, v6
25607 + goto :goto_20
25609 - goto :goto_5f
25611 - :catch_6a
25612 - move-exception v4
25613 + :catchall_66
25614 + move-exception v7
25616 move-object v5, v6
25618 - goto :goto_3e
25619 + goto :goto_5c
25621 + :catch_69
25622 + move-exception v4
25624 - :cond_6d
25625 move-object v5, v6
25627 - goto :goto_21
25628 + goto :goto_3b
25629 .end method
25632 diff -Npru stock-framework/smali/com/android/internal/telephony/cdma/EriManager.smali pdroid-framework/smali/com/android/internal/telephony/cdma/EriManager.smali
25633 --- stock-framework/smali/com/android/internal/telephony/cdma/EriManager.smali 2012-05-07 17:01:07.573659549 -0500
25634 +++ pdroid-framework/smali/com/android/internal/telephony/cdma/EriManager.smali 2012-05-07 17:01:37.825809562 -0500
25635 @@ -666,8 +666,8 @@
25637 invoke-static {v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
25638 :try_end_34
25639 - .catch Ljava/io/FileNotFoundException; {:try_start_21 .. :try_end_34} :catch_20c
25640 - .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_21 .. :try_end_34} :catch_207
25641 + .catch Ljava/io/FileNotFoundException; {:try_start_21 .. :try_end_34} :catch_209
25642 + .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_21 .. :try_end_34} :catch_204
25644 move-object/from16 v15, v16
25646 @@ -872,7 +872,7 @@
25647 :try_start_f8
25648 invoke-virtual {v15}, Ljava/io/FileInputStream;->close()V
25649 :try_end_fb
25650 - .catch Ljava/io/IOException; {:try_start_f8 .. :try_end_fb} :catch_202
25651 + .catch Ljava/io/IOException; {:try_start_f8 .. :try_end_fb} :catch_15c
25653 :cond_fb
25654 :goto_fb
25655 @@ -1058,7 +1058,7 @@
25656 :try_start_190
25657 invoke-virtual {v15}, Ljava/io/FileInputStream;->close()V
25658 :try_end_193
25659 - .catch Ljava/io/IOException; {:try_start_190 .. :try_end_193} :catch_205
25660 + .catch Ljava/io/IOException; {:try_start_190 .. :try_end_193} :catch_202
25662 :cond_193
25663 :goto_193
25664 @@ -1184,23 +1184,18 @@
25665 goto/16 :goto_96
25667 :catch_202
25668 - move-exception v2
25670 - goto/16 :goto_fb
25672 - :catch_205
25673 move-exception v18
25675 goto :goto_193
25677 - :catch_207
25678 + :catch_204
25679 move-exception v9
25681 move-object/from16 v15, v16
25683 goto/16 :goto_10a
25685 - :catch_20c
25686 + :catch_209
25687 move-exception v9
25689 move-object/from16 v15, v16
25690 diff -Npru stock-framework/smali/com/android/internal/telephony/IccRecords.smali pdroid-framework/smali/com/android/internal/telephony/IccRecords.smali
25691 --- stock-framework/smali/com/android/internal/telephony/IccRecords.smali 2012-05-07 17:01:07.337658379 -0500
25692 +++ pdroid-framework/smali/com/android/internal/telephony/IccRecords.smali 2012-05-07 17:01:37.629808594 -0500
25693 @@ -260,7 +260,7 @@
25695 iget v3, p1, Landroid/os/Message;->what:I
25697 - packed-switch v3, :pswitch_data_70
25698 + packed-switch v3, :pswitch_data_6c
25700 invoke-super {p0, p1}, Landroid/os/Handler;->handleMessage(Landroid/os/Message;)V
25702 @@ -327,7 +327,7 @@
25704 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/IccRecords;->loge(Ljava/lang/String;)V
25705 :try_end_47
25706 - .catchall {:try_start_9 .. :try_end_47} :catchall_6a
25707 + .catchall {:try_start_9 .. :try_end_47} :catchall_67
25708 .catch Ljava/lang/RuntimeException; {:try_start_9 .. :try_end_47} :catch_4f
25710 :goto_47
25711 @@ -339,7 +339,7 @@
25712 :try_start_4b
25713 invoke-interface {v2, v0}, Lcom/android/internal/telephony/IccRecords$IccRecordLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
25714 :try_end_4e
25715 - .catchall {:try_start_4b .. :try_end_4e} :catchall_6a
25716 + .catchall {:try_start_4b .. :try_end_4e} :catchall_67
25717 .catch Ljava/lang/RuntimeException; {:try_start_4b .. :try_end_4e} :catch_4f
25719 goto :goto_47
25720 @@ -368,22 +368,18 @@
25722 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/IccRecords;->loge(Ljava/lang/String;)V
25723 :try_end_66
25724 - .catchall {:try_start_50 .. :try_end_66} :catchall_6a
25725 + .catchall {:try_start_50 .. :try_end_66} :catchall_67
25727 - invoke-virtual {p0}, Lcom/android/internal/telephony/IccRecords;->onRecordLoaded()V
25729 - goto :goto_8
25730 + goto :goto_47
25732 - :catchall_6a
25733 + :catchall_67
25734 move-exception v3
25736 invoke-virtual {p0}, Lcom/android/internal/telephony/IccRecords;->onRecordLoaded()V
25738 throw v3
25740 - nop
25742 - :pswitch_data_70
25743 + :pswitch_data_6c
25744 .packed-switch 0x64
25745 :pswitch_9
25746 .end packed-switch
25747 diff -Npru stock-framework/smali/com/android/internal/telephony/SMSDispatcher.smali pdroid-framework/smali/com/android/internal/telephony/SMSDispatcher.smali
25748 --- stock-framework/smali/com/android/internal/telephony/SMSDispatcher.smali 2012-05-07 17:01:07.401658699 -0500
25749 +++ pdroid-framework/smali/com/android/internal/telephony/SMSDispatcher.smali 2012-05-07 17:01:37.701808947 -0500
25750 @@ -1777,14 +1777,15 @@
25752 invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
25753 :try_end_9b
25754 - .catchall {:try_start_5 .. :try_end_9b} :catchall_1a2
25755 - .catch Landroid/database/SQLException; {:try_start_5 .. :try_end_9b} :catch_192
25756 + .catchall {:try_start_5 .. :try_end_9b} :catchall_19c
25757 + .catch Landroid/database/SQLException; {:try_start_5 .. :try_end_9b} :catch_18f
25759 :cond_9b
25760 const/4 v3, 0x1
25762 if-eqz v9, :cond_a1
25764 + :goto_9e
25765 invoke-interface {v9}, Landroid/database/Cursor;->close()V
25767 :cond_a1
25768 @@ -1829,7 +1830,7 @@
25770 add-int/lit8 v3, p5, -0x1
25772 - if-eq v10, v3, :cond_130
25773 + if-eq v10, v3, :cond_12d
25775 new-instance v23, Landroid/content/ContentValues;
25777 @@ -1919,20 +1920,14 @@
25778 move-object/from16 v0, v23
25780 invoke-virtual {v3, v4, v0}, Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
25781 - :try_end_128
25782 - .catchall {:try_start_a2 .. :try_end_128} :catchall_1a2
25783 - .catch Landroid/database/SQLException; {:try_start_a2 .. :try_end_128} :catch_192
25785 const/4 v3, 0x1
25787 if-eqz v9, :cond_a1
25789 - invoke-interface {v9}, Landroid/database/Cursor;->close()V
25791 - goto/16 :goto_a1
25792 + goto/16 :goto_9e
25794 - :cond_130
25795 - :try_start_130
25796 + :cond_12d
25797 move/from16 v0, p5
25799 new-array v0, v0, [[B
25800 @@ -1941,8 +1936,8 @@
25802 const/4 v15, 0x0
25804 - :goto_137
25805 - if-ge v15, v10, :cond_161
25806 + :goto_134
25807 + if-ge v15, v10, :cond_15e
25809 invoke-interface {v9}, Landroid/database/Cursor;->moveToNext()Z
25811 @@ -1952,11 +1947,11 @@
25813 move-result v11
25815 - if-nez p9, :cond_145
25816 + if-nez p9, :cond_142
25818 add-int/lit8 v11, v11, -0x1
25820 - :cond_145
25821 + :cond_142
25822 const/4 v3, 0x0
25824 invoke-interface {v9, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
25825 @@ -1969,7 +1964,7 @@
25827 aput-object v3, v20, v11
25829 - if-nez v11, :cond_15e
25830 + if-nez v11, :cond_15b
25832 const/4 v3, 0x2
25834 @@ -1977,7 +1972,7 @@
25836 move-result v3
25838 - if-nez v3, :cond_15e
25839 + if-nez v3, :cond_15b
25841 const/4 v3, 0x2
25843 @@ -1985,17 +1980,17 @@
25845 move-result p8
25847 - :cond_15e
25848 + :cond_15b
25849 add-int/lit8 v15, v15, 0x1
25851 - goto :goto_137
25852 + goto :goto_134
25854 - :cond_161
25855 - if-eqz p9, :cond_18d
25856 + :cond_15e
25857 + if-eqz p9, :cond_18a
25859 aput-object p1, v20, p4
25861 - :goto_165
25862 + :goto_162
25863 move-object/from16 v0, p0
25865 iget-object v3, v0, Lcom/android/internal/telephony/SMSDispatcher;->mResolver:Landroid/content/ContentResolver;
25866 @@ -2003,16 +1998,16 @@
25867 sget-object v4, Lcom/android/internal/telephony/SMSDispatcher;->mRawUri:Landroid/net/Uri;
25869 invoke-virtual {v3, v4, v6, v7}, Landroid/content/ContentResolver;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
25870 - :try_end_16e
25871 - .catchall {:try_start_130 .. :try_end_16e} :catchall_1a2
25872 - .catch Landroid/database/SQLException; {:try_start_130 .. :try_end_16e} :catch_192
25873 + :try_end_16b
25874 + .catchall {:try_start_a2 .. :try_end_16b} :catchall_19c
25875 + .catch Landroid/database/SQLException; {:try_start_a2 .. :try_end_16b} :catch_18f
25877 - if-eqz v9, :cond_173
25878 + if-eqz v9, :cond_170
25880 invoke-interface {v9}, Landroid/database/Cursor;->close()V
25882 - :cond_173
25883 - if-eqz p9, :cond_1d1
25884 + :cond_170
25885 + if-eqz p9, :cond_1cb
25887 new-instance v19, Ljava/io/ByteArrayOutputStream;
25889 @@ -2020,10 +2015,10 @@
25891 const/4 v15, 0x0
25893 - :goto_17b
25894 + :goto_178
25895 move/from16 v0, p5
25897 - if-ge v15, v0, :cond_1a9
25898 + if-ge v15, v0, :cond_1a3
25900 aget-object v3, v20, v15
25902 @@ -2039,50 +2034,48 @@
25904 add-int/lit8 v15, v15, 0x1
25906 - goto :goto_17b
25907 + goto :goto_178
25909 - :cond_18d
25910 + :cond_18a
25911 add-int/lit8 v3, p4, -0x1
25913 - :try_start_18f
25914 + :try_start_18c
25915 aput-object p1, v20, v3
25916 - :try_end_191
25917 - .catchall {:try_start_18f .. :try_end_191} :catchall_1a2
25918 - .catch Landroid/database/SQLException; {:try_start_18f .. :try_end_191} :catch_192
25919 + :try_end_18e
25920 + .catchall {:try_start_18c .. :try_end_18e} :catchall_19c
25921 + .catch Landroid/database/SQLException; {:try_start_18c .. :try_end_18e} :catch_18f
25923 - goto :goto_165
25924 + goto :goto_162
25926 - :catch_192
25927 + :catch_18f
25928 move-exception v14
25930 - :try_start_193
25931 + :try_start_190
25932 const-string v3, "SMS"
25934 const-string v4, "Can\'t access multipart SMS database"
25936 invoke-static {v3, v4, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
25937 - :try_end_19a
25938 - .catchall {:try_start_193 .. :try_end_19a} :catchall_1a2
25939 + :try_end_197
25940 + .catchall {:try_start_190 .. :try_end_197} :catchall_19c
25942 const/4 v3, 0x2
25944 if-eqz v9, :cond_a1
25946 - invoke-interface {v9}, Landroid/database/Cursor;->close()V
25948 - goto/16 :goto_a1
25949 + goto/16 :goto_9e
25951 - :catchall_1a2
25952 + :catchall_19c
25953 move-exception v3
25955 - if-eqz v9, :cond_1a8
25956 + if-eqz v9, :cond_1a2
25958 invoke-interface {v9}, Landroid/database/Cursor;->close()V
25960 - :cond_1a8
25961 + :cond_1a2
25962 throw v3
25964 - :cond_1a9
25965 + :cond_1a3
25966 invoke-virtual/range {v19 .. v19}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
25968 move-result-object v13
25969 @@ -2091,7 +2084,7 @@
25971 move/from16 v0, p8
25973 - if-ne v0, v3, :cond_1bd
25974 + if-ne v0, v3, :cond_1b7
25976 move-object/from16 v0, p0
25978 @@ -2103,7 +2096,7 @@
25980 goto/16 :goto_a1
25982 - :cond_1bd
25983 + :cond_1b7
25984 const/4 v3, 0x1
25986 new-array v0, v3, [[B
25987 @@ -2126,18 +2119,18 @@
25989 goto/16 :goto_a1
25991 - :cond_1d1
25992 + :cond_1cb
25993 const/4 v3, -0x1
25995 move/from16 v0, p8
25997 - if-eq v0, v3, :cond_218
25998 + if-eq v0, v3, :cond_212
26000 const/16 v3, 0xb84
26002 move/from16 v0, p8
26004 - if-ne v0, v3, :cond_20c
26005 + if-ne v0, v3, :cond_206
26007 new-instance v19, Ljava/io/ByteArrayOutputStream;
26009 @@ -2145,10 +2138,10 @@
26011 const/4 v15, 0x0
26013 - :goto_1e2
26014 + :goto_1dc
26015 move/from16 v0, p5
26017 - if-ge v15, v0, :cond_1fe
26018 + if-ge v15, v0, :cond_1f8
26020 aget-object v3, v20, v15
26022 @@ -2174,9 +2167,9 @@
26024 add-int/lit8 v15, v15, 0x1
26026 - goto :goto_1e2
26027 + goto :goto_1dc
26029 - :cond_1fe
26030 + :cond_1f8
26031 move-object/from16 v0, p0
26033 iget-object v3, v0, Lcom/android/internal/telephony/SMSDispatcher;->mWapPush:Lcom/android/internal/telephony/WapPushOverSms;
26034 @@ -2191,7 +2184,7 @@
26036 goto/16 :goto_a1
26038 - :cond_20c
26039 + :cond_206
26040 move-object/from16 v0, p0
26042 move-object/from16 v1, v20
26043 @@ -2200,19 +2193,19 @@
26045 invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/SMSDispatcher;->dispatchPortAddressedPdus([[BI)V
26047 - :goto_215
26048 + :goto_20f
26049 const/4 v3, -0x1
26051 goto/16 :goto_a1
26053 - :cond_218
26054 + :cond_212
26055 move-object/from16 v0, p0
26057 move-object/from16 v1, v20
26059 invoke-virtual {v0, v1}, Lcom/android/internal/telephony/SMSDispatcher;->dispatchPdus([[B)V
26061 - goto :goto_215
26062 + goto :goto_20f
26063 .end method
26065 .method protected abstract sendData(Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V