Update "provisionals" for 4.3
[auto-patcher.git] / patches / openpdroid / 4.3 / .provisionals / system / framework / framework.jar.out / smali / android / content / ContentResolver.smali
bloba17daae849a08c27dc7a52e9c31dde9ceb1fe122
1 .class public abstract Landroid/content/ContentResolver;
2 .super Ljava/lang/Object;
3 .source "ContentResolver.java"
6 # annotations
7 .annotation system Ldalvik/annotation/MemberClasses;
8     value = {
9         Landroid/content/ContentResolver$ParcelFileDescriptorInner;,
10         Landroid/content/ContentResolver$CursorWrapperInner;,
11         Landroid/content/ContentResolver$OpenResourceIdResult;
12     }
13 .end annotation
16 # static fields
17 .field public static final ACTION_SYNC_CONN_STATUS_CHANGED:Landroid/content/Intent; = null
19 .field public static final CONTENT_SERVICE_NAME:Ljava/lang/String; = "content"
21 .field public static final CURSOR_DIR_BASE_TYPE:Ljava/lang/String; = "vnd.android.cursor.dir"
23 .field public static final CURSOR_ITEM_BASE_TYPE:Ljava/lang/String; = "vnd.android.cursor.item"
25 .field public static final SCHEME_ANDROID_RESOURCE:Ljava/lang/String; = "android.resource"
27 .field public static final SCHEME_CONTENT:Ljava/lang/String; = "content"
29 .field public static final SCHEME_FILE:Ljava/lang/String; = "file"
31 .field private static final SLOW_THRESHOLD_MILLIS:I = 0x1f4
33 .field public static final SYNC_ERROR_AUTHENTICATION:I = 0x2
35 .field public static final SYNC_ERROR_CONFLICT:I = 0x5
37 .field public static final SYNC_ERROR_INTERNAL:I = 0x8
39 .field public static final SYNC_ERROR_IO:I = 0x3
41 .field private static final SYNC_ERROR_NAMES:[Ljava/lang/String; = null
43 .field public static final SYNC_ERROR_PARSE:I = 0x4
45 .field public static final SYNC_ERROR_SYNC_ALREADY_IN_PROGRESS:I = 0x1
47 .field public static final SYNC_ERROR_TOO_MANY_DELETIONS:I = 0x6
49 .field public static final SYNC_ERROR_TOO_MANY_RETRIES:I = 0x7
51 .field public static final SYNC_EXTRAS_ACCOUNT:Ljava/lang/String; = "account"
52     .annotation runtime Ljava/lang/Deprecated;
53     .end annotation
54 .end field
56 .field public static final SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS:Ljava/lang/String; = "discard_deletions"
58 .field public static final SYNC_EXTRAS_DO_NOT_RETRY:Ljava/lang/String; = "do_not_retry"
60 .field public static final SYNC_EXTRAS_EXPEDITED:Ljava/lang/String; = "expedited"
62 .field public static final SYNC_EXTRAS_FORCE:Ljava/lang/String; = "force"
63     .annotation runtime Ljava/lang/Deprecated;
64     .end annotation
65 .end field
67 .field public static final SYNC_EXTRAS_IGNORE_BACKOFF:Ljava/lang/String; = "ignore_backoff"
69 .field public static final SYNC_EXTRAS_IGNORE_SETTINGS:Ljava/lang/String; = "ignore_settings"
71 .field public static final SYNC_EXTRAS_INITIALIZE:Ljava/lang/String; = "initialize"
73 .field public static final SYNC_EXTRAS_MANUAL:Ljava/lang/String; = "force"
75 .field public static final SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS:Ljava/lang/String; = "deletions_override"
77 .field public static final SYNC_EXTRAS_UPLOAD:Ljava/lang/String; = "upload"
79 .field public static final SYNC_OBSERVER_TYPE_ACTIVE:I = 0x4
81 .field public static final SYNC_OBSERVER_TYPE_ALL:I = 0x7fffffff
83 .field public static final SYNC_OBSERVER_TYPE_PENDING:I = 0x2
85 .field public static final SYNC_OBSERVER_TYPE_SETTINGS:I = 0x1
87 .field public static final SYNC_OBSERVER_TYPE_STATUS:I = 0x8
89 .field private static final TAG:Ljava/lang/String; = "ContentResolver"
91 .field private static sContentService:Landroid/content/IContentService;
94 # instance fields
95 .field private final mContext:Landroid/content/Context;
97 .field final mPackageName:Ljava/lang/String;
99 .field private final mRandom:Ljava/util/Random;
102 # direct methods
103 .method static constructor <clinit>()V
104     .registers 3
106     new-instance v0, Landroid/content/Intent;
108     const-string v1, "com.android.sync.SYNC_CONN_STATUS_CHANGED"
110     invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
112     sput-object v0, Landroid/content/ContentResolver;->ACTION_SYNC_CONN_STATUS_CHANGED:Landroid/content/Intent;
114     const/16 v0, 0x8
116     new-array v0, v0, [Ljava/lang/String;
118     const/4 v1, 0x0
120     const-string v2, "already-in-progress"
122     aput-object v2, v0, v1
124     const/4 v1, 0x1
126     const-string v2, "authentication-error"
128     aput-object v2, v0, v1
130     const/4 v1, 0x2
132     const-string v2, "io-error"
134     aput-object v2, v0, v1
136     const/4 v1, 0x3
138     const-string/jumbo v2, "parse-error"
140     aput-object v2, v0, v1
142     const/4 v1, 0x4
144     const-string v2, "conflict"
146     aput-object v2, v0, v1
148     const/4 v1, 0x5
150     const-string/jumbo v2, "too-many-deletions"
152     aput-object v2, v0, v1
154     const/4 v1, 0x6
156     const-string/jumbo v2, "too-many-retries"
158     aput-object v2, v0, v1
160     const/4 v1, 0x7
162     const-string v2, "internal-error"
164     aput-object v2, v0, v1
166     sput-object v0, Landroid/content/ContentResolver;->SYNC_ERROR_NAMES:[Ljava/lang/String;
168     return-void
169 .end method
171 .method public constructor <init>(Landroid/content/Context;)V
172     .registers 3
174     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
176     new-instance v0, Ljava/util/Random;
178     invoke-direct {v0}, Ljava/util/Random;-><init>()V
180     iput-object v0, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
182     if-eqz p1, :cond_17
184     :goto_c
185     iput-object p1, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
187     iget-object v0, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
189     invoke-virtual {v0}, Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
191     move-result-object v0
193     iput-object v0, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
195     return-void
197     :cond_17
198     invoke-static {}, Landroid/app/ActivityThread;->currentApplication()Landroid/app/Application;
200     move-result-object p1
202     goto :goto_c
203 .end method
205 .method public static addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
206     .registers 11
208     const/4 v1, 0x0
210     invoke-static {p2}, Landroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
212     if-nez p0, :cond_e
214     new-instance v0, Ljava/lang/IllegalArgumentException;
216     const-string v1, "account must not be null"
218     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
220     throw v0
222     :cond_e
223     if-nez p1, :cond_18
225     new-instance v0, Ljava/lang/IllegalArgumentException;
227     const-string v1, "authority must not be null"
229     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
231     throw v0
233     :cond_18
234     const-string v0, "force"
236     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
238     move-result v0
240     if-nez v0, :cond_50
242     const-string v0, "do_not_retry"
244     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
246     move-result v0
248     if-nez v0, :cond_50
250     const-string v0, "ignore_backoff"
252     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
254     move-result v0
256     if-nez v0, :cond_50
258     const-string v0, "ignore_settings"
260     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
262     move-result v0
264     if-nez v0, :cond_50
266     const-string v0, "initialize"
268     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
270     move-result v0
272     if-nez v0, :cond_50
274     const-string v0, "force"
276     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
278     move-result v0
280     if-nez v0, :cond_50
282     const-string v0, "expedited"
284     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
286     move-result v0
288     if-eqz v0, :cond_58
290     :cond_50
291     new-instance v0, Ljava/lang/IllegalArgumentException;
293     const-string v1, "illegal extras were set"
295     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
297     throw v0
299     :cond_58
300     :try_start_58
301     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
303     move-result-object v0
305     move-object v1, p0
307     move-object v2, p1
309     move-object v3, p2
311     move-wide v4, p3
313     invoke-interface/range {v0 .. v5}, Landroid/content/IContentService;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
314     :try_end_63
315     .catch Landroid/os/RemoteException; {:try_start_58 .. :try_end_63} :catch_64
317     :goto_63
318     return-void
320     :catch_64
321     move-exception v0
323     goto :goto_63
324 .end method
326 .method public static addStatusChangeListener(ILandroid/content/SyncStatusObserver;)Ljava/lang/Object;
327     .registers 6
329     if-nez p1, :cond_b
331     new-instance v2, Ljava/lang/IllegalArgumentException;
333     const-string/jumbo v3, "you passed in a null callback"
335     invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
337     throw v2
339     :cond_b
340     :try_start_b
341     new-instance v1, Landroid/content/ContentResolver$1;
343     invoke-direct {v1, p1}, Landroid/content/ContentResolver$1;-><init>(Landroid/content/SyncStatusObserver;)V
345     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
347     move-result-object v2
349     invoke-interface {v2, p0, v1}, Landroid/content/IContentService;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
350     :try_end_17
351     .catch Landroid/os/RemoteException; {:try_start_b .. :try_end_17} :catch_18
353     return-object v1
355     :catch_18
356     move-exception v0
358     new-instance v2, Ljava/lang/RuntimeException;
360     const-string/jumbo v3, "the ContentService should always be reachable"
362     invoke-direct {v2, v3, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
364     throw v2
365 .end method
367 .method public static cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V
368     .registers 3
370     :try_start_0
371     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
373     move-result-object v0
375     invoke-interface {v0, p0, p1}, Landroid/content/IContentService;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V
376     :try_end_7
377     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_8
379     :goto_7
380     return-void
382     :catch_8
383     move-exception v0
385     goto :goto_7
386 .end method
388 .method public static getContentService()Landroid/content/IContentService;
389     .registers 2
391     sget-object v1, Landroid/content/ContentResolver;->sContentService:Landroid/content/IContentService;
393     if-eqz v1, :cond_7
395     sget-object v1, Landroid/content/ContentResolver;->sContentService:Landroid/content/IContentService;
397     :goto_6
398     return-object v1
400     :cond_7
401     const-string v1, "content"
403     invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
405     move-result-object v0
407     invoke-static {v0}, Landroid/content/IContentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IContentService;
409     move-result-object v1
411     sput-object v1, Landroid/content/ContentResolver;->sContentService:Landroid/content/IContentService;
413     sget-object v1, Landroid/content/ContentResolver;->sContentService:Landroid/content/IContentService;
415     goto :goto_6
416 .end method
418 .method public static getCurrentSync()Landroid/content/SyncInfo;
419     .registers 4
420     .annotation runtime Ljava/lang/Deprecated;
421     .end annotation
423     :try_start_0
424     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
426     move-result-object v2
428     invoke-interface {v2}, Landroid/content/IContentService;->getCurrentSyncs()Ljava/util/List;
430     move-result-object v1
432     invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
434     move-result v2
436     if-eqz v2, :cond_10
438     const/4 v2, 0x0
440     :goto_f
441     return-object v2
443     :cond_10
444     const/4 v2, 0x0
446     invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
448     move-result-object v2
450     check-cast v2, Landroid/content/SyncInfo;
451     :try_end_17
452     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_17} :catch_18
454     goto :goto_f
456     :catch_18
457     move-exception v0
459     new-instance v2, Ljava/lang/RuntimeException;
461     const-string/jumbo v3, "the ContentService should always be reachable"
463     invoke-direct {v2, v3, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
465     throw v2
466 .end method
468 .method public static getCurrentSyncs()Ljava/util/List;
469     .registers 3
470     .annotation system Ldalvik/annotation/Signature;
471         value = {
472             "()",
473             "Ljava/util/List",
474             "<",
475             "Landroid/content/SyncInfo;",
476             ">;"
477         }
478     .end annotation
480     :try_start_0
481     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
483     move-result-object v1
485     invoke-interface {v1}, Landroid/content/IContentService;->getCurrentSyncs()Ljava/util/List;
486     :try_end_7
487     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
489     move-result-object v1
491     return-object v1
493     :catch_9
494     move-exception v0
496     new-instance v1, Ljava/lang/RuntimeException;
498     const-string/jumbo v2, "the ContentService should always be reachable"
500     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
502     throw v1
503 .end method
505 .method public static getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
506     .registers 5
508     :try_start_0
509     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
511     move-result-object v1
513     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
514     :try_end_7
515     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
517     move-result v1
519     return v1
521     :catch_9
522     move-exception v0
524     new-instance v1, Ljava/lang/RuntimeException;
526     const-string/jumbo v2, "the ContentService should always be reachable"
528     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
530     throw v1
531 .end method
533 .method public static getMasterSyncAutomatically()Z
534     .registers 3
536     :try_start_0
537     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
539     move-result-object v1
541     invoke-interface {v1}, Landroid/content/IContentService;->getMasterSyncAutomatically()Z
542     :try_end_7
543     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
545     move-result v1
547     return v1
549     :catch_9
550     move-exception v0
552     new-instance v1, Ljava/lang/RuntimeException;
554     const-string/jumbo v2, "the ContentService should always be reachable"
556     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
558     throw v1
559 .end method
561 .method public static getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;
562     .registers 5
563     .annotation system Ldalvik/annotation/Signature;
564         value = {
565             "(",
566             "Landroid/accounts/Account;",
567             "Ljava/lang/String;",
568             ")",
569             "Ljava/util/List",
570             "<",
571             "Landroid/content/PeriodicSync;",
572             ">;"
573         }
574     .end annotation
576     if-nez p0, :cond_a
578     new-instance v1, Ljava/lang/IllegalArgumentException;
580     const-string v2, "account must not be null"
582     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
584     throw v1
586     :cond_a
587     if-nez p1, :cond_14
589     new-instance v1, Ljava/lang/IllegalArgumentException;
591     const-string v2, "authority must not be null"
593     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
595     throw v1
597     :cond_14
598     :try_start_14
599     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
601     move-result-object v1
603     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;
604     :try_end_1b
605     .catch Landroid/os/RemoteException; {:try_start_14 .. :try_end_1b} :catch_1d
607     move-result-object v1
609     return-object v1
611     :catch_1d
612     move-exception v0
614     new-instance v1, Ljava/lang/RuntimeException;
616     const-string/jumbo v2, "the ContentService should always be reachable"
618     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
620     throw v1
621 .end method
623 .method public static getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
624     .registers 3
626     :try_start_0
627     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
629     move-result-object v1
631     invoke-interface {v1}, Landroid/content/IContentService;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
632     :try_end_7
633     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
635     move-result-object v1
637     return-object v1
639     :catch_9
640     move-exception v0
642     new-instance v1, Ljava/lang/RuntimeException;
644     const-string/jumbo v2, "the ContentService should always be reachable"
646     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
648     throw v1
649 .end method
651 .method public static getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
652     .registers 5
654     :try_start_0
655     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
657     move-result-object v1
659     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
660     :try_end_7
661     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
663     move-result v1
665     return v1
667     :catch_9
668     move-exception v0
670     new-instance v1, Ljava/lang/RuntimeException;
672     const-string/jumbo v2, "the ContentService should always be reachable"
674     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
676     throw v1
677 .end method
679 .method public static getSyncStatus(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncStatusInfo;
680     .registers 5
682     :try_start_0
683     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
685     move-result-object v1
687     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->getSyncStatus(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncStatusInfo;
688     :try_end_7
689     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
691     move-result-object v1
693     return-object v1
695     :catch_9
696     move-exception v0
698     new-instance v1, Ljava/lang/RuntimeException;
700     const-string/jumbo v2, "the ContentService should always be reachable"
702     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
704     throw v1
705 .end method
707 .method public static isSyncActive(Landroid/accounts/Account;Ljava/lang/String;)Z
708     .registers 5
710     :try_start_0
711     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
713     move-result-object v1
715     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;)Z
716     :try_end_7
717     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
719     move-result v1
721     return v1
723     :catch_9
724     move-exception v0
726     new-instance v1, Ljava/lang/RuntimeException;
728     const-string/jumbo v2, "the ContentService should always be reachable"
730     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
732     throw v1
733 .end method
735 .method public static isSyncPending(Landroid/accounts/Account;Ljava/lang/String;)Z
736     .registers 5
738     :try_start_0
739     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
741     move-result-object v1
743     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->isSyncPending(Landroid/accounts/Account;Ljava/lang/String;)Z
744     :try_end_7
745     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
747     move-result v1
749     return v1
751     :catch_9
752     move-exception v0
754     new-instance v1, Ljava/lang/RuntimeException;
756     const-string/jumbo v2, "the ContentService should always be reachable"
758     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
760     throw v1
761 .end method
763 .method private maybeLogQueryToEventLog(JLandroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
764     .registers 15
766     const/16 v7, 0x64
768     invoke-direct {p0, p1, p2}, Landroid/content/ContentResolver;->samplePercentForDuration(J)I
770     move-result v3
772     if-ge v3, v7, :cond_18
774     iget-object v5, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
776     monitor-enter v5
778     :try_start_b
779     iget-object v4, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
781     const/16 v6, 0x64
783     invoke-virtual {v4, v6}, Ljava/util/Random;->nextInt(I)I
785     move-result v4
787     if-lt v4, v3, :cond_17
789     monitor-exit v5
791     :goto_16
792     return-void
794     :cond_17
795     monitor-exit v5
796     :try_end_18
797     .catchall {:try_start_b .. :try_end_18} :catchall_32
799     :cond_18
800     new-instance v2, Ljava/lang/StringBuilder;
802     invoke-direct {v2, v7}, Ljava/lang/StringBuilder;-><init>(I)V
804     if-eqz p4, :cond_35
806     const/4 v1, 0x0
808     :goto_20
809     array-length v4, p4
811     if-ge v1, v4, :cond_35
813     if-eqz v1, :cond_2a
815     const/16 v4, 0x2f
817     invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
819     :cond_2a
820     aget-object v4, p4, v1
822     invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
824     add-int/lit8 v1, v1, 0x1
826     goto :goto_20
828     :catchall_32
829     move-exception v4
831     :try_start_33
832     monitor-exit v5
833     :try_end_34
834     .catchall {:try_start_33 .. :try_end_34} :catchall_32
836     throw v4
838     :cond_35
839     invoke-static {}, Landroid/app/AppGlobals;->getInitialPackage()Ljava/lang/String;
841     move-result-object v0
843     const v4, 0xcb22
845     const/4 v5, 0x7
847     new-array v5, v5, [Ljava/lang/Object;
849     const/4 v6, 0x0
851     invoke-virtual {p3}, Landroid/net/Uri;->toString()Ljava/lang/String;
853     move-result-object v7
855     aput-object v7, v5, v6
857     const/4 v6, 0x1
859     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
861     move-result-object v7
863     aput-object v7, v5, v6
865     const/4 v6, 0x2
867     if-eqz p5, :cond_6e
869     :goto_50
870     aput-object p5, v5, v6
872     const/4 v6, 0x3
874     if-eqz p6, :cond_71
876     :goto_55
877     aput-object p6, v5, v6
879     const/4 v6, 0x4
881     invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
883     move-result-object v7
885     aput-object v7, v5, v6
887     const/4 v6, 0x5
889     if-eqz v0, :cond_74
891     :goto_61
892     aput-object v0, v5, v6
894     const/4 v6, 0x6
896     invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
898     move-result-object v7
900     aput-object v7, v5, v6
902     invoke-static {v4, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
904     goto :goto_16
906     :cond_6e
907     const-string p5, ""
909     goto :goto_50
911     :cond_71
912     const-string p6, ""
914     goto :goto_55
916     :cond_74
917     const-string v0, ""
919     goto :goto_61
920 .end method
922 .method private maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
923     .registers 12
925     const/16 v2, 0x64
927     invoke-direct {p0, p1, p2}, Landroid/content/ContentResolver;->samplePercentForDuration(J)I
929     move-result v1
931     if-ge v1, v2, :cond_18
933     iget-object v3, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
935     monitor-enter v3
937     :try_start_b
938     iget-object v2, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
940     const/16 v4, 0x64
942     invoke-virtual {v2, v4}, Ljava/util/Random;->nextInt(I)I
944     move-result v2
946     if-lt v2, v1, :cond_17
948     monitor-exit v3
950     :goto_16
951     return-void
953     :cond_17
954     monitor-exit v3
955     :try_end_18
956     .catchall {:try_start_b .. :try_end_18} :catchall_48
958     :cond_18
959     invoke-static {}, Landroid/app/AppGlobals;->getInitialPackage()Ljava/lang/String;
961     move-result-object v0
963     const v2, 0xcb23
965     const/4 v3, 0x6
967     new-array v3, v3, [Ljava/lang/Object;
969     const/4 v4, 0x0
971     invoke-virtual {p3}, Landroid/net/Uri;->toString()Ljava/lang/String;
973     move-result-object v5
975     aput-object v5, v3, v4
977     const/4 v4, 0x1
979     aput-object p4, v3, v4
981     const/4 v4, 0x2
983     if-eqz p5, :cond_4b
985     :goto_2f
986     aput-object p5, v3, v4
988     const/4 v4, 0x3
990     invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
992     move-result-object v5
994     aput-object v5, v3, v4
996     const/4 v4, 0x4
998     if-eqz v0, :cond_4e
1000     :goto_3b
1001     aput-object v0, v3, v4
1003     const/4 v4, 0x5
1005     invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1007     move-result-object v5
1009     aput-object v5, v3, v4
1011     invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
1013     goto :goto_16
1015     :catchall_48
1016     move-exception v2
1018     :try_start_49
1019     monitor-exit v3
1020     :try_end_4a
1021     .catchall {:try_start_49 .. :try_end_4a} :catchall_48
1023     throw v2
1025     :cond_4b
1026     const-string p5, ""
1028     goto :goto_2f
1030     :cond_4e
1031     const-string v0, ""
1033     goto :goto_3b
1034 .end method
1036 .method public static modeToMode(Landroid/net/Uri;Ljava/lang/String;)I
1037     .registers 6
1038     .annotation system Ldalvik/annotation/Throws;
1039         value = {
1040             Ljava/io/FileNotFoundException;
1041         }
1042     .end annotation
1044     const-string/jumbo v1, "r"
1046     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1048     move-result v1
1050     if-eqz v1, :cond_c
1052     const/high16 v0, 0x1000
1054     :goto_b
1055     return v0
1057     :cond_c
1058     const-string/jumbo v1, "w"
1060     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1062     move-result v1
1064     if-nez v1, :cond_1e
1066     const-string/jumbo v1, "wt"
1068     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1070     move-result v1
1072     if-eqz v1, :cond_21
1074     :cond_1e
1075     const/high16 v0, 0x2c00
1077     goto :goto_b
1079     :cond_21
1080     const-string/jumbo v1, "wa"
1082     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1084     move-result v1
1086     if-eqz v1, :cond_2d
1088     const/high16 v0, 0x2a00
1090     goto :goto_b
1092     :cond_2d
1093     const-string/jumbo v1, "rw"
1095     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1097     move-result v1
1099     if-eqz v1, :cond_39
1101     const/high16 v0, 0x3800
1103     goto :goto_b
1105     :cond_39
1106     const-string/jumbo v1, "rwt"
1108     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1110     move-result v1
1112     if-eqz v1, :cond_45
1114     const/high16 v0, 0x3c00
1116     goto :goto_b
1118     :cond_45
1119     new-instance v1, Ljava/io/FileNotFoundException;
1121     new-instance v2, Ljava/lang/StringBuilder;
1123     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1125     const-string v3, "Bad mode for "
1127     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1129     move-result-object v2
1131     invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1133     move-result-object v2
1135     const-string v3, ": "
1137     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1139     move-result-object v2
1141     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1143     move-result-object v2
1145     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1147     move-result-object v2
1149     invoke-direct {v1, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
1151     throw v1
1152 .end method
1154 .method public static removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
1155     .registers 6
1157     invoke-static {p2}, Landroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
1159     if-nez p0, :cond_d
1161     new-instance v1, Ljava/lang/IllegalArgumentException;
1163     const-string v2, "account must not be null"
1165     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1167     throw v1
1169     :cond_d
1170     if-nez p1, :cond_17
1172     new-instance v1, Ljava/lang/IllegalArgumentException;
1174     const-string v2, "authority must not be null"
1176     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1178     throw v1
1180     :cond_17
1181     :try_start_17
1182     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1184     move-result-object v1
1186     invoke-interface {v1, p0, p1, p2}, Landroid/content/IContentService;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
1187     :try_end_1e
1188     .catch Landroid/os/RemoteException; {:try_start_17 .. :try_end_1e} :catch_1f
1190     return-void
1192     :catch_1f
1193     move-exception v0
1195     new-instance v1, Ljava/lang/RuntimeException;
1197     const-string/jumbo v2, "the ContentService should always be reachable"
1199     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
1201     throw v1
1202 .end method
1204 .method public static removeStatusChangeListener(Ljava/lang/Object;)V
1205     .registers 3
1207     if-nez p0, :cond_b
1209     new-instance v0, Ljava/lang/IllegalArgumentException;
1211     const-string/jumbo v1, "you passed in a null handle"
1213     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1215     throw v0
1217     :cond_b
1218     :try_start_b
1219     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1221     move-result-object v0
1223     check-cast p0, Landroid/content/ISyncStatusObserver$Stub;
1225     invoke-interface {v0, p0}, Landroid/content/IContentService;->removeStatusChangeListener(Landroid/content/ISyncStatusObserver;)V
1226     :try_end_14
1227     .catch Landroid/os/RemoteException; {:try_start_b .. :try_end_14} :catch_15
1229     :goto_14
1230     return-void
1232     :catch_15
1233     move-exception v0
1235     goto :goto_14
1236 .end method
1238 .method public static requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
1239     .registers 4
1241     invoke-static {p2}, Landroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
1243     :try_start_3
1244     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1246     move-result-object v0
1248     invoke-interface {v0, p0, p1, p2}, Landroid/content/IContentService;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
1249     :try_end_a
1250     .catch Landroid/os/RemoteException; {:try_start_3 .. :try_end_a} :catch_b
1252     :goto_a
1253     return-void
1255     :catch_b
1256     move-exception v0
1258     goto :goto_a
1259 .end method
1261 .method private samplePercentForDuration(J)I
1262     .registers 7
1264     const-wide/16 v2, 0x1f4
1266     cmp-long v0, p1, v2
1268     if-ltz v0, :cond_9
1270     const/16 v0, 0x64
1272     :goto_8
1273     return v0
1275     :cond_9
1276     const-wide/16 v0, 0x64
1278     mul-long/2addr v0, p1
1280     div-long/2addr v0, v2
1282     long-to-int v0, v0
1284     add-int/lit8 v0, v0, 0x1
1286     goto :goto_8
1287 .end method
1289 .method public static setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
1290     .registers 4
1292     :try_start_0
1293     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1295     move-result-object v0
1297     invoke-interface {v0, p0, p1, p2}, Landroid/content/IContentService;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
1298     :try_end_7
1299     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_8
1301     :goto_7
1302     return-void
1304     :catch_8
1305     move-exception v0
1307     goto :goto_7
1308 .end method
1310 .method public static setMasterSyncAutomatically(Z)V
1311     .registers 2
1313     :try_start_0
1314     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1316     move-result-object v0
1318     invoke-interface {v0, p0}, Landroid/content/IContentService;->setMasterSyncAutomatically(Z)V
1319     :try_end_7
1320     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_8
1322     :goto_7
1323     return-void
1325     :catch_8
1326     move-exception v0
1328     goto :goto_7
1329 .end method
1331 .method public static setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
1332     .registers 4
1334     :try_start_0
1335     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1337     move-result-object v0
1339     invoke-interface {v0, p0, p1, p2}, Landroid/content/IContentService;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
1340     :try_end_7
1341     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_8
1343     :goto_7
1344     return-void
1346     :catch_8
1347     move-exception v0
1349     goto :goto_7
1350 .end method
1352 .method public static syncErrorStringToInt(Ljava/lang/String;)I
1353     .registers 7
1355     const/4 v1, 0x0
1357     sget-object v3, Landroid/content/ContentResolver;->SYNC_ERROR_NAMES:[Ljava/lang/String;
1359     array-length v2, v3
1361     :goto_4
1362     if-ge v1, v2, :cond_16
1364     sget-object v3, Landroid/content/ContentResolver;->SYNC_ERROR_NAMES:[Ljava/lang/String;
1366     aget-object v3, v3, v1
1368     invoke-virtual {v3, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1370     move-result v3
1372     if-eqz v3, :cond_13
1374     add-int/lit8 v3, v1, 0x1
1376     :goto_12
1377     return v3
1379     :cond_13
1380     add-int/lit8 v1, v1, 0x1
1382     goto :goto_4
1384     :cond_16
1385     if-eqz p0, :cond_36
1387     :try_start_18
1388     invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
1389     :try_end_1b
1390     .catch Ljava/lang/NumberFormatException; {:try_start_18 .. :try_end_1b} :catch_1d
1392     move-result v3
1394     goto :goto_12
1396     :catch_1d
1397     move-exception v0
1399     const-string v3, "ContentResolver"
1401     new-instance v4, Ljava/lang/StringBuilder;
1403     invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1405     const-string v5, "error parsing sync error: "
1407     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1409     move-result-object v4
1411     invoke-virtual {v4, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1413     move-result-object v4
1415     invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1417     move-result-object v4
1419     invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1421     :cond_36
1422     const/4 v3, 0x0
1424     goto :goto_12
1425 .end method
1427 .method public static syncErrorToString(I)Ljava/lang/String;
1428     .registers 3
1430     const/4 v0, 0x1
1432     if-lt p0, v0, :cond_8
1434     sget-object v0, Landroid/content/ContentResolver;->SYNC_ERROR_NAMES:[Ljava/lang/String;
1436     array-length v0, v0
1438     if-le p0, v0, :cond_d
1440     :cond_8
1441     invoke-static {p0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
1443     move-result-object v0
1445     :goto_c
1446     return-object v0
1448     :cond_d
1449     sget-object v0, Landroid/content/ContentResolver;->SYNC_ERROR_NAMES:[Ljava/lang/String;
1451     add-int/lit8 v1, p0, -0x1
1453     aget-object v0, v0, v1
1455     goto :goto_c
1456 .end method
1458 .method public static validateSyncExtrasBundle(Landroid/os/Bundle;)V
1459     .registers 9
1461     :try_start_0
1462     invoke-virtual {p0}, Landroid/os/Bundle;->keySet()Ljava/util/Set;
1464     move-result-object v5
1466     invoke-interface {v5}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
1468     move-result-object v2
1470     :cond_8
1471     invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
1473     move-result v5
1475     if-eqz v5, :cond_63
1477     invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
1479     move-result-object v3
1481     check-cast v3, Ljava/lang/String;
1483     invoke-virtual {p0, v3}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;
1485     move-result-object v4
1487     if-eqz v4, :cond_8
1489     instance-of v5, v4, Ljava/lang/Long;
1491     if-nez v5, :cond_8
1493     instance-of v5, v4, Ljava/lang/Integer;
1495     if-nez v5, :cond_8
1497     instance-of v5, v4, Ljava/lang/Boolean;
1499     if-nez v5, :cond_8
1501     instance-of v5, v4, Ljava/lang/Float;
1503     if-nez v5, :cond_8
1505     instance-of v5, v4, Ljava/lang/Double;
1507     if-nez v5, :cond_8
1509     instance-of v5, v4, Ljava/lang/String;
1511     if-nez v5, :cond_8
1513     instance-of v5, v4, Landroid/accounts/Account;
1515     if-nez v5, :cond_8
1517     new-instance v5, Ljava/lang/IllegalArgumentException;
1519     new-instance v6, Ljava/lang/StringBuilder;
1521     invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
1523     const-string/jumbo v7, "unexpected value type: "
1525     invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1527     move-result-object v6
1529     invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
1531     move-result-object v7
1533     invoke-virtual {v7}, Ljava/lang/Class;->getName()Ljava/lang/String;
1535     move-result-object v7
1537     invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1539     move-result-object v6
1541     invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1543     move-result-object v6
1545     invoke-direct {v5, v6}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1547     throw v5
1548     :try_end_58
1549     .catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_58} :catch_58
1550     .catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_58} :catch_5a
1552     :catch_58
1553     move-exception v0
1555     throw v0
1557     :catch_5a
1558     move-exception v1
1560     new-instance v5, Ljava/lang/IllegalArgumentException;
1562     const-string v6, "error unparceling Bundle"
1564     invoke-direct {v5, v6, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
1566     throw v5
1568     :cond_63
1569     return-void
1570 .end method
1573 # virtual methods
1574 .method public final acquireContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
1575     .registers 5
1577     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1579     move-result-object v0
1581     if-eqz v0, :cond_d
1583     new-instance v1, Landroid/content/ContentProviderClient;
1585     const/4 v2, 0x1
1587     invoke-direct {v1, p0, v0, v2}, Landroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
1589     :goto_c
1590     return-object v1
1592     :cond_d
1593     const/4 v1, 0x0
1595     goto :goto_c
1596 .end method
1598 .method public final acquireContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
1599     .registers 5
1601     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
1603     move-result-object v0
1605     if-eqz v0, :cond_d
1607     new-instance v1, Landroid/content/ContentProviderClient;
1609     const/4 v2, 0x1
1611     invoke-direct {v1, p0, v0, v2}, Landroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
1613     :goto_c
1614     return-object v1
1616     :cond_d
1617     const/4 v1, 0x0
1619     goto :goto_c
1620 .end method
1622 .method protected acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1623     .registers 4
1625     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1627     move-result-object v0
1629     return-object v0
1630 .end method
1632 .method public final acquireExistingProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1633     .registers 6
1635     const/4 v1, 0x0
1637     const-string v2, "content"
1639     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
1641     move-result-object v3
1643     invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1645     move-result v2
1647     if-nez v2, :cond_e
1649     :cond_d
1650     :goto_d
1651     return-object v1
1653     :cond_e
1654     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1656     move-result-object v0
1658     if-eqz v0, :cond_d
1660     iget-object v1, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1662     invoke-virtual {p0, v1, v0}, Landroid/content/ContentResolver;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1664     move-result-object v1
1666     goto :goto_d
1667 .end method
1669 .method protected abstract acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1670 .end method
1672 .method public final acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1673     .registers 6
1675     const/4 v1, 0x0
1677     const-string v2, "content"
1679     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
1681     move-result-object v3
1683     invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1685     move-result v2
1687     if-nez v2, :cond_e
1689     :cond_d
1690     :goto_d
1691     return-object v1
1693     :cond_e
1694     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1696     move-result-object v0
1698     if-eqz v0, :cond_d
1700     iget-object v1, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1702     invoke-virtual {p0, v1, v0}, Landroid/content/ContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1704     move-result-object v1
1706     goto :goto_d
1707 .end method
1709 .method public final acquireProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
1710     .registers 3
1712     if-nez p1, :cond_4
1714     const/4 v0, 0x0
1716     :goto_3
1717     return-object v0
1719     :cond_4
1720     iget-object v0, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1722     invoke-virtual {p0, v0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1724     move-result-object v0
1726     goto :goto_3
1727 .end method
1729 .method public final acquireUnstableContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
1730     .registers 5
1732     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1734     move-result-object v0
1736     if-eqz v0, :cond_d
1738     new-instance v1, Landroid/content/ContentProviderClient;
1740     const/4 v2, 0x0
1742     invoke-direct {v1, p0, v0, v2}, Landroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
1744     :goto_c
1745     return-object v1
1747     :cond_d
1748     const/4 v1, 0x0
1750     goto :goto_c
1751 .end method
1753 .method public final acquireUnstableContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
1754     .registers 5
1756     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
1758     move-result-object v0
1760     if-eqz v0, :cond_d
1762     new-instance v1, Landroid/content/ContentProviderClient;
1764     const/4 v2, 0x0
1766     invoke-direct {v1, p0, v0, v2}, Landroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
1768     :goto_c
1769     return-object v1
1771     :cond_d
1772     const/4 v1, 0x0
1774     goto :goto_c
1775 .end method
1777 .method protected abstract acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1778 .end method
1780 .method public final acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1781     .registers 6
1783     const/4 v1, 0x0
1785     const-string v2, "content"
1787     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
1789     move-result-object v3
1791     invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1793     move-result v2
1795     if-nez v2, :cond_e
1797     :cond_d
1798     :goto_d
1799     return-object v1
1801     :cond_e
1802     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1804     move-result-object v0
1806     if-eqz v0, :cond_d
1808     iget-object v1, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1810     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1812     move-result-object v2
1814     invoke-virtual {p0, v1, v2}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1816     move-result-object v1
1818     goto :goto_d
1819 .end method
1821 .method public final acquireUnstableProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
1822     .registers 3
1824     if-nez p1, :cond_4
1826     const/4 v0, 0x0
1828     :goto_3
1829     return-object v0
1831     :cond_4
1832     iget-object v0, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1834     invoke-virtual {p0, v0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1836     move-result-object v0
1838     goto :goto_3
1839 .end method
1841 .method public applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
1842     .registers 7
1843     .annotation system Ldalvik/annotation/Signature;
1844         value = {
1845             "(",
1846             "Ljava/lang/String;",
1847             "Ljava/util/ArrayList",
1848             "<",
1849             "Landroid/content/ContentProviderOperation;",
1850             ">;)[",
1851             "Landroid/content/ContentProviderResult;"
1852         }
1853     .end annotation
1855     .annotation system Ldalvik/annotation/Throws;
1856         value = {
1857             Landroid/os/RemoteException;,
1858             Landroid/content/OperationApplicationException;
1859         }
1860     .end annotation
1862     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
1864     move-result-object v0
1866     if-nez v0, :cond_1f
1868     new-instance v1, Ljava/lang/IllegalArgumentException;
1870     new-instance v2, Ljava/lang/StringBuilder;
1872     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1874     const-string v3, "Unknown authority "
1876     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1878     move-result-object v2
1880     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1882     move-result-object v2
1884     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1886     move-result-object v2
1888     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1890     throw v1
1892     :cond_1f
1893     :try_start_1f
1894     invoke-virtual {v0, p2}, Landroid/content/ContentProviderClient;->applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
1895     :try_end_22
1896     .catchall {:try_start_1f .. :try_end_22} :catchall_27
1898     move-result-object v1
1900     invoke-virtual {v0}, Landroid/content/ContentProviderClient;->release()Z
1902     return-object v1
1904     :catchall_27
1905     move-exception v1
1907     invoke-virtual {v0}, Landroid/content/ContentProviderClient;->release()Z
1909     throw v1
1910 .end method
1912 .method public final bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I
1913     .registers 14
1915     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1917     move-result-object v7
1919     if-nez v7, :cond_1f
1921     new-instance v0, Ljava/lang/IllegalArgumentException;
1923     new-instance v3, Ljava/lang/StringBuilder;
1925     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
1927     const-string v4, "Unknown URL "
1929     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1931     move-result-object v3
1933     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1935     move-result-object v3
1937     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1939     move-result-object v3
1941     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1943     throw v0
1945     :cond_1f
1946     :try_start_1f
1947     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
1949     move-result-wide v9
1951     iget-object v0, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
1953     invoke-interface {v7, v0, p1, p2}, Landroid/content/IContentProvider;->bulkInsert(Ljava/lang/String;Landroid/net/Uri;[Landroid/content/ContentValues;)I
1955     move-result v8
1957     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
1959     move-result-wide v3
1961     sub-long v1, v3, v9
1963     const-string v4, "bulkinsert"
1965     const/4 v5, 0x0
1967     move-object v0, p0
1969     move-object v3, p1
1971     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
1972     :try_end_37
1973     .catchall {:try_start_1f .. :try_end_37} :catchall_41
1974     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_37} :catch_3b
1976     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1978     :goto_3a
1979     return v8
1981     :catch_3b
1982     move-exception v6
1984     const/4 v8, 0x0
1986     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1988     goto :goto_3a
1990     :catchall_41
1991     move-exception v0
1993     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1995     throw v0
1996 .end method
1998 .method public final call(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
1999     .registers 10
2001     if-nez p1, :cond_b
2003     new-instance v2, Ljava/lang/NullPointerException;
2005     const-string/jumbo v3, "uri == null"
2007     invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
2009     throw v2
2011     :cond_b
2012     if-nez p2, :cond_16
2014     new-instance v2, Ljava/lang/NullPointerException;
2016     const-string/jumbo v3, "method == null"
2018     invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
2020     throw v2
2022     :cond_16
2023     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2025     move-result-object v1
2027     if-nez v1, :cond_35
2029     new-instance v2, Ljava/lang/IllegalArgumentException;
2031     new-instance v3, Ljava/lang/StringBuilder;
2033     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
2035     const-string v4, "Unknown URI "
2037     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2039     move-result-object v3
2041     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2043     move-result-object v3
2045     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2047     move-result-object v3
2049     invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
2051     throw v2
2053     :cond_35
2054     :try_start_35
2055     iget-object v2, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
2057     invoke-interface {v1, v2, p2, p3, p4}, Landroid/content/IContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
2058     :try_end_3a
2059     .catchall {:try_start_35 .. :try_end_3a} :catchall_45
2060     .catch Landroid/os/RemoteException; {:try_start_35 .. :try_end_3a} :catch_3f
2062     move-result-object v2
2064     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2066     :goto_3e
2067     return-object v2
2069     :catch_3f
2070     move-exception v0
2072     const/4 v2, 0x0
2074     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2076     goto :goto_3e
2078     :catchall_45
2079     move-exception v2
2081     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2083     throw v2
2084 .end method
2086 .method public cancelSync(Landroid/net/Uri;)V
2087     .registers 4
2088     .annotation runtime Ljava/lang/Deprecated;
2089     .end annotation
2091     const/4 v1, 0x0
2093     if-eqz p1, :cond_b
2095     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
2097     move-result-object v0
2099     :goto_7
2100     invoke-static {v1, v0}, Landroid/content/ContentResolver;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V
2102     return-void
2104     :cond_b
2105     move-object v0, v1
2107     goto :goto_7
2108 .end method
2110 .method public final delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
2111     .registers 15
2113     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2115     move-result-object v7
2117     if-nez v7, :cond_1f
2119     new-instance v0, Ljava/lang/IllegalArgumentException;
2121     new-instance v3, Ljava/lang/StringBuilder;
2123     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
2125     const-string v4, "Unknown URL "
2127     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2129     move-result-object v3
2131     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2133     move-result-object v3
2135     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2137     move-result-object v3
2139     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
2141     throw v0
2143     :cond_1f
2144     :try_start_1f
2145     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2147     move-result-wide v9
2149     iget-object v0, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
2151     invoke-interface {v7, v0, p1, p2, p3}, Landroid/content/IContentProvider;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
2153     move-result v8
2155     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2157     move-result-wide v3
2159     sub-long v1, v3, v9
2161     const-string v4, "delete"
2163     move-object v0, p0
2165     move-object v3, p1
2167     move-object v5, p2
2169     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
2170     :try_end_37
2171     .catchall {:try_start_1f .. :try_end_37} :catchall_41
2172     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_37} :catch_3b
2174     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2176     :goto_3a
2177     return v8
2179     :catch_3b
2180     move-exception v6
2182     const/4 v8, -0x1
2184     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2186     goto :goto_3a
2188     :catchall_41
2189     move-exception v0
2191     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2193     throw v0
2194 .end method
2196 .method public getPackageName()Ljava/lang/String;
2197     .registers 2
2199     iget-object v0, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
2201     return-object v0
2202 .end method
2204 .method public getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
2205     .registers 13
2206     .annotation system Ldalvik/annotation/Throws;
2207         value = {
2208             Ljava/io/FileNotFoundException;
2209         }
2210     .end annotation
2212     const/4 v10, 0x1
2214     const/4 v9, 0x0
2216     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
2218     move-result-object v0
2220     invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
2222     move-result v8
2224     if-eqz v8, :cond_25
2226     new-instance v8, Ljava/io/FileNotFoundException;
2228     new-instance v9, Ljava/lang/StringBuilder;
2230     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2232     const-string v10, "No authority: "
2234     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2236     move-result-object v9
2238     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2240     move-result-object v9
2242     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2244     move-result-object v9
2246     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2248     throw v8
2250     :cond_25
2251     :try_start_25
2252     iget-object v8, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
2254     invoke-virtual {v8}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
2256     move-result-object v8
2258     invoke-virtual {v8, v0}, Landroid/content/pm/PackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;
2259     :try_end_2e
2260     .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_25 .. :try_end_2e} :catch_4e
2262     move-result-object v6
2264     invoke-virtual {p1}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
2266     move-result-object v5
2268     if-nez v5, :cond_68
2270     new-instance v8, Ljava/io/FileNotFoundException;
2272     new-instance v9, Ljava/lang/StringBuilder;
2274     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2276     const-string v10, "No path: "
2278     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2280     move-result-object v9
2282     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2284     move-result-object v9
2286     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2288     move-result-object v9
2290     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2292     throw v8
2294     :catch_4e
2295     move-exception v2
2297     new-instance v8, Ljava/io/FileNotFoundException;
2299     new-instance v9, Ljava/lang/StringBuilder;
2301     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2303     const-string v10, "No package found for authority: "
2305     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2307     move-result-object v9
2309     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2311     move-result-object v9
2313     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2315     move-result-object v9
2317     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2319     throw v8
2321     :cond_68
2322     invoke-interface {v5}, Ljava/util/List;->size()I
2324     move-result v4
2326     if-ne v4, v10, :cond_ae
2328     const/4 v8, 0x0
2330     :try_start_6f
2331     invoke-interface {v5, v8}, Ljava/util/List;->get(I)Ljava/lang/Object;
2333     move-result-object v8
2335     check-cast v8, Ljava/lang/String;
2337     invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2338     :try_end_78
2339     .catch Ljava/lang/NumberFormatException; {:try_start_6f .. :try_end_78} :catch_94
2341     move-result v3
2343     :goto_79
2344     if-nez v3, :cond_db
2346     new-instance v8, Ljava/io/FileNotFoundException;
2348     new-instance v9, Ljava/lang/StringBuilder;
2350     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2352     const-string v10, "No resource found for: "
2354     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2356     move-result-object v9
2358     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2360     move-result-object v9
2362     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2364     move-result-object v9
2366     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2368     throw v8
2370     :catch_94
2371     move-exception v1
2373     new-instance v8, Ljava/io/FileNotFoundException;
2375     new-instance v9, Ljava/lang/StringBuilder;
2377     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2379     const-string v10, "Single path segment is not a resource ID: "
2381     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2383     move-result-object v9
2385     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2387     move-result-object v9
2389     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2391     move-result-object v9
2393     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2395     throw v8
2397     :cond_ae
2398     const/4 v8, 0x2
2400     if-ne v4, v8, :cond_c2
2402     invoke-interface {v5, v10}, Ljava/util/List;->get(I)Ljava/lang/Object;
2404     move-result-object v8
2406     check-cast v8, Ljava/lang/String;
2408     invoke-interface {v5, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
2410     move-result-object v9
2412     check-cast v9, Ljava/lang/String;
2414     invoke-virtual {v6, v8, v9, v0}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
2416     move-result v3
2418     goto :goto_79
2420     :cond_c2
2421     new-instance v8, Ljava/io/FileNotFoundException;
2423     new-instance v9, Ljava/lang/StringBuilder;
2425     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2427     const-string v10, "More than two path segments: "
2429     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2431     move-result-object v9
2433     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2435     move-result-object v9
2437     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2439     move-result-object v9
2441     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2443     throw v8
2445     :cond_db
2446     new-instance v7, Landroid/content/ContentResolver$OpenResourceIdResult;
2448     invoke-direct {v7, p0}, Landroid/content/ContentResolver$OpenResourceIdResult;-><init>(Landroid/content/ContentResolver;)V
2450     iput-object v6, v7, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
2452     iput v3, v7, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
2454     return-object v7
2455 .end method
2457 .method public getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
2458     .registers 6
2460     const/4 v2, 0x0
2462     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2464     move-result-object v1
2466     if-nez v1, :cond_8
2468     :goto_7
2469     return-object v2
2471     :cond_8
2472     :try_start_8
2473     invoke-interface {v1, p1, p2}, Landroid/content/IContentProvider;->getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
2474     :try_end_b
2475     .catchall {:try_start_8 .. :try_end_b} :catchall_15
2476     .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_b} :catch_10
2478     move-result-object v2
2480     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2482     goto :goto_7
2484     :catch_10
2485     move-exception v0
2487     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2489     goto :goto_7
2491     :catchall_15
2492     move-exception v2
2494     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2496     throw v2
2497 .end method
2499 .method public final getType(Landroid/net/Uri;)Ljava/lang/String;
2500     .registers 8
2502     const/4 v2, 0x0
2504     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireExistingProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2506     move-result-object v1
2508     if-eqz v1, :cond_4a
2510     :try_start_7
2511     invoke-interface {v1, p1}, Landroid/content/IContentProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
2512     :try_end_a
2513     .catchall {:try_start_7 .. :try_end_a} :catchall_45
2514     .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_a} :catch_f
2515     .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_a} :catch_14
2517     move-result-object v2
2519     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2521     :cond_e
2522     :goto_e
2523     return-object v2
2525     :catch_f
2526     move-exception v0
2528     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2530     goto :goto_e
2532     :catch_14
2533     move-exception v0
2535     :try_start_15
2536     const-string v3, "ContentResolver"
2538     new-instance v4, Ljava/lang/StringBuilder;
2540     invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2542     const-string v5, "Failed to get type for: "
2544     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2546     move-result-object v4
2548     invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2550     move-result-object v4
2552     const-string v5, " ("
2554     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2556     move-result-object v4
2558     invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
2560     move-result-object v5
2562     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2564     move-result-object v4
2566     const-string v5, ")"
2568     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2570     move-result-object v4
2572     invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2574     move-result-object v4
2576     invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
2577     :try_end_41
2578     .catchall {:try_start_15 .. :try_end_41} :catchall_45
2580     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2582     goto :goto_e
2584     :catchall_45
2585     move-exception v3
2587     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2589     throw v3
2591     :cond_4a
2592     const-string v3, "content"
2594     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
2596     move-result-object v4
2598     invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2600     move-result v3
2602     if-eqz v3, :cond_e
2604     :try_start_56
2605     invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2607     move-result-object v3
2609     invoke-static {}, Landroid/os/UserHandle;->myUserId()I
2611     move-result v4
2613     invoke-interface {v3, p1, v4}, Landroid/app/IActivityManager;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
2614     :try_end_61
2615     .catch Landroid/os/RemoteException; {:try_start_56 .. :try_end_61} :catch_63
2616     .catch Ljava/lang/Exception; {:try_start_56 .. :try_end_61} :catch_65
2618     move-result-object v2
2620     goto :goto_e
2622     :catch_63
2623     move-exception v0
2625     goto :goto_e
2627     :catch_65
2628     move-exception v0
2630     const-string v3, "ContentResolver"
2632     new-instance v4, Ljava/lang/StringBuilder;
2634     invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2636     const-string v5, "Failed to get type for: "
2638     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2640     move-result-object v4
2642     invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2644     move-result-object v4
2646     const-string v5, " ("
2648     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2650     move-result-object v4
2652     invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
2654     move-result-object v5
2656     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2658     move-result-object v4
2660     const-string v5, ")"
2662     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2664     move-result-object v4
2666     invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2668     move-result-object v4
2670     invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
2672     goto/16 :goto_e
2673 .end method
2675 .method public final insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
2676     .registers 15
2678     const/4 v11, 0x0
2680     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2682     move-result-object v8
2684     if-nez v8, :cond_20
2686     new-instance v0, Ljava/lang/IllegalArgumentException;
2688     new-instance v3, Ljava/lang/StringBuilder;
2690     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
2692     const-string v4, "Unknown URL "
2694     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2696     move-result-object v3
2698     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2700     move-result-object v3
2702     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2704     move-result-object v3
2706     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
2708     throw v0
2710     :cond_20
2711     :try_start_20
2712     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2714     move-result-wide v9
2716     iget-object v0, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
2718     invoke-interface {v8, v0, p1, p2}, Landroid/content/IContentProvider;->insert(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
2720     move-result-object v6
2722     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2724     move-result-wide v3
2726     sub-long v1, v3, v9
2728     const-string v4, "insert"
2730     const/4 v5, 0x0
2732     move-object v0, p0
2734     move-object v3, p1
2736     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
2737     :try_end_38
2738     .catchall {:try_start_20 .. :try_end_38} :catchall_42
2739     .catch Landroid/os/RemoteException; {:try_start_20 .. :try_end_38} :catch_3c
2741     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2743     :goto_3b
2744     return-object v6
2746     :catch_3c
2747     move-exception v7
2749     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2751     move-object v6, v11
2753     goto :goto_3b
2755     :catchall_42
2756     move-exception v0
2758     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2760     throw v0
2761 .end method
2763 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;)V
2764     .registers 4
2766     const/4 v0, 0x1
2768     invoke-virtual {p0, p1, p2, v0}, Landroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
2770     return-void
2771 .end method
2773 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
2774     .registers 5
2776     invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
2778     move-result v0
2780     invoke-virtual {p0, p1, p2, p3, v0}, Landroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;ZI)V
2782     return-void
2783 .end method
2785 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;ZI)V
2786     .registers 11
2788     :try_start_0
2789     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
2791     move-result-object v0
2793     if-nez p2, :cond_17
2795     const/4 v2, 0x0
2797     :goto_7
2798     if-eqz p2, :cond_1c
2800     invoke-virtual {p2}, Landroid/database/ContentObserver;->deliverSelfNotifications()Z
2802     move-result v1
2804     if-eqz v1, :cond_1c
2806     const/4 v3, 0x1
2808     :goto_10
2809     move-object v1, p1
2811     move v4, p3
2813     move v5, p4
2815     invoke-interface/range {v0 .. v5}, Landroid/content/IContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZZI)V
2817     :goto_16
2818     return-void
2820     :cond_17
2821     invoke-virtual {p2}, Landroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
2822     :try_end_1a
2823     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_1a} :catch_1e
2825     move-result-object v2
2827     goto :goto_7
2829     :cond_1c
2830     const/4 v3, 0x0
2832     goto :goto_10
2834     :catch_1e
2835     move-exception v0
2837     goto :goto_16
2838 .end method
2840 .method public final openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2841     .registers 16
2842     .annotation system Ldalvik/annotation/Throws;
2843         value = {
2844             Ljava/io/FileNotFoundException;
2845         }
2846     .end annotation
2848     const/4 v0, 0x0
2850     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
2852     move-result-object v10
2854     const-string v2, "android.resource"
2856     invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2858     move-result v2
2860     if-eqz v2, :cond_56
2862     const-string/jumbo v0, "r"
2864     invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2866     move-result v0
2868     if-nez v0, :cond_2f
2870     new-instance v0, Ljava/io/FileNotFoundException;
2872     new-instance v2, Ljava/lang/StringBuilder;
2874     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2876     const-string v3, "Can\'t write resources: "
2878     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2880     move-result-object v2
2882     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2884     move-result-object v2
2886     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2888     move-result-object v2
2890     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2892     throw v0
2894     :cond_2f
2895     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
2897     move-result-object v9
2899     :try_start_33
2900     iget-object v0, v9, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
2902     iget v2, v9, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
2904     invoke-virtual {v0, v2}, Landroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;
2905     :try_end_3a
2906     .catch Landroid/content/res/Resources$NotFoundException; {:try_start_33 .. :try_end_3a} :catch_3c
2908     move-result-object v0
2910     :cond_3b
2911     :goto_3b
2912     return-object v0
2914     :catch_3c
2915     move-exception v7
2917     new-instance v0, Ljava/io/FileNotFoundException;
2919     new-instance v2, Ljava/lang/StringBuilder;
2921     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2923     const-string v3, "Resource does not exist: "
2925     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2927     move-result-object v2
2929     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2931     move-result-object v2
2933     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2935     move-result-object v2
2937     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2939     throw v0
2941     :cond_56
2942     const-string v2, "file"
2944     invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2946     move-result v2
2948     if-eqz v2, :cond_79
2950     new-instance v0, Ljava/io/File;
2952     invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
2954     move-result-object v2
2956     invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2958     invoke-static {p1, p2}, Landroid/content/ContentResolver;->modeToMode(Landroid/net/Uri;Ljava/lang/String;)I
2960     move-result v2
2962     invoke-static {v0, v2}, Landroid/os/ParcelFileDescriptor;->open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
2964     move-result-object v1
2966     new-instance v0, Landroid/content/res/AssetFileDescriptor;
2968     const-wide/16 v2, 0x0
2970     const-wide/16 v4, -0x1
2972     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
2974     goto :goto_3b
2976     :cond_79
2977     const-string/jumbo v2, "r"
2979     invoke-virtual {v2, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2981     move-result v2
2983     if-eqz v2, :cond_89
2985     const-string v2, "*/*"
2987     invoke-virtual {p0, p1, v2, v0}, Landroid/content/ContentResolver;->openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
2989     move-result-object v0
2991     goto :goto_3b
2993     :cond_89
2994     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2996     move-result-object v12
2998     if-nez v12, :cond_a8
3000     new-instance v0, Ljava/io/FileNotFoundException;
3002     new-instance v2, Ljava/lang/StringBuilder;
3004     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3006     const-string v3, "No content provider: "
3008     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3010     move-result-object v2
3012     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3014     move-result-object v2
3016     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3018     move-result-object v2
3020     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3022     throw v0
3024     :cond_a8
3025     const/4 v11, 0x0
3027     const/4 v8, 0x0
3029     :try_start_aa
3030     iget-object v2, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
3032     invoke-interface {v12, v2, p1, p2}, Landroid/content/IContentProvider;->openAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3033     :try_end_af
3034     .catchall {:try_start_aa .. :try_end_af} :catchall_fb
3035     .catch Landroid/os/DeadObjectException; {:try_start_aa .. :try_end_af} :catch_be
3036     .catch Landroid/os/RemoteException; {:try_start_aa .. :try_end_af} :catch_e1
3037     .catch Ljava/io/FileNotFoundException; {:try_start_aa .. :try_end_af} :catch_147
3039     move-result-object v8
3041     if-nez v8, :cond_11b
3043     if-eqz v11, :cond_b7
3045     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3047     :cond_b7
3048     if-eqz v12, :cond_3b
3050     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3052     goto/16 :goto_3b
3054     :catch_be
3055     move-exception v6
3057     :try_start_bf
3058     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
3060     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3062     move-result-object v11
3064     if-nez v11, :cond_107
3066     new-instance v0, Ljava/io/FileNotFoundException;
3068     new-instance v2, Ljava/lang/StringBuilder;
3070     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3072     const-string v3, "No content provider: "
3074     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3076     move-result-object v2
3078     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3080     move-result-object v2
3082     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3084     move-result-object v2
3086     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3088     throw v0
3089     :try_end_e1
3090     .catchall {:try_start_bf .. :try_end_e1} :catchall_fb
3091     .catch Landroid/os/RemoteException; {:try_start_bf .. :try_end_e1} :catch_e1
3092     .catch Ljava/io/FileNotFoundException; {:try_start_bf .. :try_end_e1} :catch_147
3094     :catch_e1
3095     move-exception v6
3097     :try_start_e2
3098     new-instance v0, Ljava/io/FileNotFoundException;
3100     new-instance v2, Ljava/lang/StringBuilder;
3102     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3104     const-string v3, "Failed opening content provider: "
3106     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3108     move-result-object v2
3110     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3112     move-result-object v2
3114     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3116     move-result-object v2
3118     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3120     throw v0
3121     :try_end_fb
3122     .catchall {:try_start_e2 .. :try_end_fb} :catchall_fb
3124     :catchall_fb
3125     move-exception v0
3127     if-eqz v11, :cond_101
3129     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3131     :cond_101
3132     if-eqz v12, :cond_106
3134     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3136     :cond_106
3137     throw v0
3139     :cond_107
3140     :try_start_107
3141     iget-object v2, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
3143     invoke-interface {v11, v2, p1, p2}, Landroid/content/IContentProvider;->openAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3144     :try_end_10c
3145     .catchall {:try_start_107 .. :try_end_10c} :catchall_fb
3146     .catch Landroid/os/RemoteException; {:try_start_107 .. :try_end_10c} :catch_e1
3147     .catch Ljava/io/FileNotFoundException; {:try_start_107 .. :try_end_10c} :catch_147
3149     move-result-object v8
3151     if-nez v8, :cond_11b
3153     if-eqz v11, :cond_114
3155     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3157     :cond_114
3158     if-eqz v12, :cond_3b
3160     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3162     goto/16 :goto_3b
3164     :cond_11b
3165     if-nez v11, :cond_121
3167     :try_start_11d
3168     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3170     move-result-object v11
3172     :cond_121
3173     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3175     new-instance v1, Landroid/content/ContentResolver$ParcelFileDescriptorInner;
3177     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
3179     move-result-object v0
3181     invoke-direct {v1, p0, v0, v11}, Landroid/content/ContentResolver$ParcelFileDescriptorInner;-><init>(Landroid/content/ContentResolver;Landroid/os/ParcelFileDescriptor;Landroid/content/IContentProvider;)V
3183     const/4 v11, 0x0
3185     new-instance v0, Landroid/content/res/AssetFileDescriptor;
3187     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
3189     move-result-wide v2
3191     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
3193     move-result-wide v4
3195     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
3196     :try_end_13b
3197     .catchall {:try_start_11d .. :try_end_13b} :catchall_fb
3198     .catch Landroid/os/RemoteException; {:try_start_11d .. :try_end_13b} :catch_e1
3199     .catch Ljava/io/FileNotFoundException; {:try_start_11d .. :try_end_13b} :catch_147
3201     if-eqz v11, :cond_140
3203     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3205     :cond_140
3206     if-eqz v12, :cond_3b
3208     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3210     goto/16 :goto_3b
3212     :catch_147
3213     move-exception v6
3215     :try_start_148
3216     throw v6
3217     :try_end_149
3218     .catchall {:try_start_148 .. :try_end_149} :catchall_fb
3219 .end method
3221 .method public final openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
3222     .registers 8
3223     .annotation system Ldalvik/annotation/Throws;
3224         value = {
3225             Ljava/io/FileNotFoundException;
3226         }
3227     .end annotation
3229     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3231     move-result-object v0
3233     if-nez v0, :cond_8
3235     const/4 v1, 0x0
3237     :goto_7
3238     return-object v1
3240     :cond_8
3241     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
3243     move-result-wide v1
3245     const-wide/16 v3, 0x0
3247     cmp-long v1, v1, v3
3249     if-gez v1, :cond_17
3251     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
3253     move-result-object v1
3255     goto :goto_7
3257     :cond_17
3258     :try_start_17
3259     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->close()V
3260     :try_end_1a
3261     .catch Ljava/io/IOException; {:try_start_17 .. :try_end_1a} :catch_22
3263     :goto_1a
3264     new-instance v1, Ljava/io/FileNotFoundException;
3266     const-string v2, "Not a whole file"
3268     invoke-direct {v1, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3270     throw v1
3272     :catch_22
3273     move-exception v1
3275     goto :goto_1a
3276 .end method
3278 .method public final openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
3279     .registers 11
3280     .annotation system Ldalvik/annotation/Throws;
3281         value = {
3282             Ljava/io/FileNotFoundException;
3283         }
3284     .end annotation
3286     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
3288     move-result-object v4
3290     const-string v6, "android.resource"
3292     invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3294     move-result v6
3296     if-eqz v6, :cond_33
3298     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
3300     move-result-object v3
3302     :try_start_10
3303     iget-object v6, v3, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
3305     iget v7, v3, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
3307     invoke-virtual {v6, v7}, Landroid/content/res/Resources;->openRawResource(I)Ljava/io/InputStream;
3308     :try_end_17
3309     .catch Landroid/content/res/Resources$NotFoundException; {:try_start_10 .. :try_end_17} :catch_19
3311     move-result-object v5
3313     :goto_18
3314     return-object v5
3316     :catch_19
3317     move-exception v1
3319     new-instance v6, Ljava/io/FileNotFoundException;
3321     new-instance v7, Ljava/lang/StringBuilder;
3323     invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
3325     const-string v8, "Resource does not exist: "
3327     invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3329     move-result-object v7
3331     invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3333     move-result-object v7
3335     invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3337     move-result-object v7
3339     invoke-direct {v6, v7}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3341     throw v6
3343     :cond_33
3344     const-string v6, "file"
3346     invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3348     move-result v6
3350     if-eqz v6, :cond_45
3352     new-instance v5, Ljava/io/FileInputStream;
3354     invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
3356     move-result-object v6
3358     invoke-direct {v5, v6}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
3360     goto :goto_18
3362     :cond_45
3363     const-string/jumbo v6, "r"
3365     invoke-virtual {p0, p1, v6}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3367     move-result-object v2
3369     if-eqz v2, :cond_54
3371     :try_start_4e
3372     invoke-virtual {v2}, Landroid/content/res/AssetFileDescriptor;->createInputStream()Ljava/io/FileInputStream;
3373     :try_end_51
3374     .catch Ljava/io/IOException; {:try_start_4e .. :try_end_51} :catch_56
3376     move-result-object v6
3378     :goto_52
3379     move-object v5, v6
3381     goto :goto_18
3383     :cond_54
3384     const/4 v6, 0x0
3386     goto :goto_52
3388     :catch_56
3389     move-exception v0
3391     new-instance v6, Ljava/io/FileNotFoundException;
3393     const-string v7, "Unable to create stream"
3395     invoke-direct {v6, v7}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3397     throw v6
3398 .end method
3400 .method public final openOutputStream(Landroid/net/Uri;)Ljava/io/OutputStream;
3401     .registers 3
3402     .annotation system Ldalvik/annotation/Throws;
3403         value = {
3404             Ljava/io/FileNotFoundException;
3405         }
3406     .end annotation
3408     const-string/jumbo v0, "w"
3410     invoke-virtual {p0, p1, v0}, Landroid/content/ContentResolver;->openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;
3412     move-result-object v0
3414     return-object v0
3415 .end method
3417 .method public final openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;
3418     .registers 7
3419     .annotation system Ldalvik/annotation/Throws;
3420         value = {
3421             Ljava/io/FileNotFoundException;
3422         }
3423     .end annotation
3425     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3427     move-result-object v1
3429     if-eqz v1, :cond_b
3431     :try_start_6
3432     invoke-virtual {v1}, Landroid/content/res/AssetFileDescriptor;->createOutputStream()Ljava/io/FileOutputStream;
3433     :try_end_9
3434     .catch Ljava/io/IOException; {:try_start_6 .. :try_end_9} :catch_d
3436     move-result-object v2
3438     :goto_a
3439     return-object v2
3441     :cond_b
3442     const/4 v2, 0x0
3444     goto :goto_a
3446     :catch_d
3447     move-exception v0
3449     new-instance v2, Ljava/io/FileNotFoundException;
3451     const-string v3, "Unable to create stream"
3453     invoke-direct {v2, v3}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3455     throw v2
3456 .end method
3458 .method public final openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3459     .registers 14
3460     .annotation system Ldalvik/annotation/Throws;
3461         value = {
3462             Ljava/io/FileNotFoundException;
3463         }
3464     .end annotation
3466     const/4 v0, 0x0
3468     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3470     move-result-object v9
3472     if-nez v9, :cond_20
3474     new-instance v0, Ljava/io/FileNotFoundException;
3476     new-instance v2, Ljava/lang/StringBuilder;
3478     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3480     const-string v3, "No content provider: "
3482     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3484     move-result-object v2
3486     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3488     move-result-object v2
3490     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3492     move-result-object v2
3494     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3496     throw v0
3498     :cond_20
3499     const/4 v8, 0x0
3501     const/4 v7, 0x0
3503     :try_start_22
3504     iget-object v2, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
3506     invoke-interface {v9, v2, p1, p2, p3}, Landroid/content/IContentProvider;->openTypedAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3507     :try_end_27
3508     .catchall {:try_start_22 .. :try_end_27} :catchall_72
3509     .catch Landroid/os/DeadObjectException; {:try_start_22 .. :try_end_27} :catch_35
3510     .catch Landroid/os/RemoteException; {:try_start_22 .. :try_end_27} :catch_58
3511     .catch Ljava/io/FileNotFoundException; {:try_start_22 .. :try_end_27} :catch_bd
3513     move-result-object v7
3515     if-nez v7, :cond_91
3517     if-eqz v8, :cond_2f
3519     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3521     :cond_2f
3522     if-eqz v9, :cond_34
3524     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3526     :cond_34
3527     :goto_34
3528     return-object v0
3530     :catch_35
3531     move-exception v6
3533     :try_start_36
3534     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
3536     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3538     move-result-object v8
3540     if-nez v8, :cond_7e
3542     new-instance v0, Ljava/io/FileNotFoundException;
3544     new-instance v2, Ljava/lang/StringBuilder;
3546     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3548     const-string v3, "No content provider: "
3550     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3552     move-result-object v2
3554     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3556     move-result-object v2
3558     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3560     move-result-object v2
3562     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3564     throw v0
3565     :try_end_58
3566     .catchall {:try_start_36 .. :try_end_58} :catchall_72
3567     .catch Landroid/os/RemoteException; {:try_start_36 .. :try_end_58} :catch_58
3568     .catch Ljava/io/FileNotFoundException; {:try_start_36 .. :try_end_58} :catch_bd
3570     :catch_58
3571     move-exception v6
3573     :try_start_59
3574     new-instance v0, Ljava/io/FileNotFoundException;
3576     new-instance v2, Ljava/lang/StringBuilder;
3578     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3580     const-string v3, "Failed opening content provider: "
3582     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3584     move-result-object v2
3586     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3588     move-result-object v2
3590     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3592     move-result-object v2
3594     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3596     throw v0
3597     :try_end_72
3598     .catchall {:try_start_59 .. :try_end_72} :catchall_72
3600     :catchall_72
3601     move-exception v0
3603     if-eqz v8, :cond_78
3605     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3607     :cond_78
3608     if-eqz v9, :cond_7d
3610     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3612     :cond_7d
3613     throw v0
3615     :cond_7e
3616     :try_start_7e
3617     iget-object v2, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
3619     invoke-interface {v8, v2, p1, p2, p3}, Landroid/content/IContentProvider;->openTypedAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3620     :try_end_83
3621     .catchall {:try_start_7e .. :try_end_83} :catchall_72
3622     .catch Landroid/os/RemoteException; {:try_start_7e .. :try_end_83} :catch_58
3623     .catch Ljava/io/FileNotFoundException; {:try_start_7e .. :try_end_83} :catch_bd
3625     move-result-object v7
3627     if-nez v7, :cond_91
3629     if-eqz v8, :cond_8b
3631     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3633     :cond_8b
3634     if-eqz v9, :cond_34
3636     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3638     goto :goto_34
3640     :cond_91
3641     if-nez v8, :cond_97
3643     :try_start_93
3644     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3646     move-result-object v8
3648     :cond_97
3649     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3651     new-instance v1, Landroid/content/ContentResolver$ParcelFileDescriptorInner;
3653     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
3655     move-result-object v0
3657     invoke-direct {v1, p0, v0, v8}, Landroid/content/ContentResolver$ParcelFileDescriptorInner;-><init>(Landroid/content/ContentResolver;Landroid/os/ParcelFileDescriptor;Landroid/content/IContentProvider;)V
3659     const/4 v8, 0x0
3661     new-instance v0, Landroid/content/res/AssetFileDescriptor;
3663     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
3665     move-result-wide v2
3667     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
3669     move-result-wide v4
3671     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
3672     :try_end_b1
3673     .catchall {:try_start_93 .. :try_end_b1} :catchall_72
3674     .catch Landroid/os/RemoteException; {:try_start_93 .. :try_end_b1} :catch_58
3675     .catch Ljava/io/FileNotFoundException; {:try_start_93 .. :try_end_b1} :catch_bd
3677     if-eqz v8, :cond_b6
3679     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3681     :cond_b6
3682     if-eqz v9, :cond_34
3684     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3686     goto/16 :goto_34
3688     :catch_bd
3689     move-exception v6
3691     :try_start_be
3692     throw v6
3693     :try_end_bf
3694     .catchall {:try_start_be .. :try_end_bf} :catchall_72
3695 .end method
3697 .method public final query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3698     .registers 13
3700     const/4 v6, 0x0
3702     move-object v0, p0
3704     move-object v1, p1
3706     move-object v2, p2
3708     move-object v3, p3
3710     move-object v4, p4
3712     move-object v5, p5
3714     invoke-virtual/range {v0 .. v6}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
3716     move-result-object v0
3718     return-object v0
3719 .end method
3721 .method public final query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
3722     .registers 31
3724     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3726     move-result-object v3
3728     if-nez v3, :cond_9
3730     const/16 v23, 0x0
3732     :cond_8
3733     :goto_8
3734     return-object v23
3736     :cond_9
3737     const/4 v11, 0x0
3739     const/16 v20, 0x0
3741     :try_start_c
3742     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3744     move-result-wide v21
3746     const/4 v10, 0x0
3748     if-eqz p6, :cond_1f
3750     invoke-virtual/range {p6 .. p6}, Landroid/os/CancellationSignal;->throwIfCanceled()V
3752     invoke-interface {v3}, Landroid/content/IContentProvider;->createCancellationSignal()Landroid/os/ICancellationSignal;
3754     move-result-object v10
3756     move-object/from16 v0, p6
3758     invoke-virtual {v0, v10}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
3759     :try_end_1f
3760     .catchall {:try_start_c .. :try_end_1f} :catchall_d9
3761     .catch Landroid/os/RemoteException; {:try_start_c .. :try_end_1f} :catch_c1
3763     :cond_1f
3764     :try_start_1f
3765     move-object/from16 v0, p0
3767     iget-object v4, v0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
3769     move-object/from16 v5, p1
3771     move-object/from16 v6, p2
3773     move-object/from16 v7, p3
3775     move-object/from16 v8, p4
3777     move-object/from16 v9, p5
3779     invoke-interface/range {v3 .. v10}, Landroid/content/IContentProvider;->query(Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
3780     :try_end_30
3781     .catchall {:try_start_1f .. :try_end_30} :catchall_d9
3782     .catch Landroid/os/DeadObjectException; {:try_start_1f .. :try_end_30} :catch_49
3783     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_30} :catch_c1
3785     move-result-object v20
3787     :goto_31
3788     if-nez v20, :cond_80
3790     const/16 v23, 0x0
3792     if-eqz v20, :cond_3a
3794     invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
3796     :cond_3a
3797     if-eqz v3, :cond_41
3799     move-object/from16 v0, p0
3801     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3803     :cond_41
3804     if-eqz v11, :cond_8
3806     move-object/from16 v0, p0
3808     invoke-virtual {v0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3810     goto :goto_8
3812     :catch_49
3813     move-exception v19
3815     :try_start_4a
3816     move-object/from16 v0, p0
3818     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
3820     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3821     :try_end_52
3822     .catchall {:try_start_4a .. :try_end_52} :catchall_d9
3823     .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_52} :catch_c1
3825     move-result-object v11
3827     if-nez v11, :cond_6b
3829     const/16 v23, 0x0
3831     if-eqz v20, :cond_5c
3833     invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
3835     :cond_5c
3836     if-eqz v3, :cond_63
3838     move-object/from16 v0, p0
3840     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3842     :cond_63
3843     if-eqz v11, :cond_8
3845     move-object/from16 v0, p0
3847     invoke-virtual {v0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3849     goto :goto_8
3851     :cond_6b
3852     :try_start_6b
3853     move-object/from16 v0, p0
3855     iget-object v12, v0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
3857     move-object/from16 v13, p1
3859     move-object/from16 v14, p2
3861     move-object/from16 v15, p3
3863     move-object/from16 v16, p4
3865     move-object/from16 v17, p5
3867     move-object/from16 v18, v10
3869     invoke-interface/range {v11 .. v18}, Landroid/content/IContentProvider;->query(Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
3871     move-result-object v20
3873     goto :goto_31
3875     :cond_80
3876     invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->getCount()I
3878     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3880     move-result-wide v4
3882     sub-long v13, v4, v21
3884     move-object/from16 v12, p0
3886     move-object/from16 v15, p1
3888     move-object/from16 v16, p2
3890     move-object/from16 v17, p3
3892     move-object/from16 v18, p5
3894     invoke-direct/range {v12 .. v18}, Landroid/content/ContentResolver;->maybeLogQueryToEventLog(JLandroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3896     new-instance v23, Landroid/content/ContentResolver$CursorWrapperInner;
3898     if-eqz v11, :cond_bc
3900     move-object v4, v11
3902     :goto_9b
3903     move-object/from16 v0, v23
3905     move-object/from16 v1, p0
3907     move-object/from16 v2, v20
3909     invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
3910     :try_end_a4
3911     .catchall {:try_start_6b .. :try_end_a4} :catchall_d9
3912     .catch Landroid/os/RemoteException; {:try_start_6b .. :try_end_a4} :catch_c1
3914     const/4 v11, 0x0
3916     const/16 v20, 0x0
3918     if-eqz v20, :cond_ac
3920     invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
3922     :cond_ac
3923     if-eqz v3, :cond_b3
3925     move-object/from16 v0, p0
3927     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3929     :cond_b3
3930     if-eqz v11, :cond_8
3932     move-object/from16 v0, p0
3934     invoke-virtual {v0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3936     goto/16 :goto_8
3938     :cond_bc
3939     :try_start_bc
3940     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3941     :try_end_bf
3942     .catchall {:try_start_bc .. :try_end_bf} :catchall_d9
3943     .catch Landroid/os/RemoteException; {:try_start_bc .. :try_end_bf} :catch_c1
3945     move-result-object v4
3947     goto :goto_9b
3949     :catch_c1
3950     move-exception v19
3952     const/16 v23, 0x0
3954     if-eqz v20, :cond_c9
3956     invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
3958     :cond_c9
3959     if-eqz v3, :cond_d0
3961     move-object/from16 v0, p0
3963     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3965     :cond_d0
3966     if-eqz v11, :cond_8
3968     move-object/from16 v0, p0
3970     invoke-virtual {v0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3972     goto/16 :goto_8
3974     :catchall_d9
3975     move-exception v4
3977     if-eqz v20, :cond_df
3979     invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
3981     :cond_df
3982     if-eqz v3, :cond_e6
3984     move-object/from16 v0, p0
3986     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3988     :cond_e6
3989     if-eqz v11, :cond_ed
3991     move-object/from16 v0, p0
3993     invoke-virtual {v0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3995     :cond_ed
3996     throw v4
3997 .end method
3999 .method public final registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
4000     .registers 5
4002     invoke-static {}, Landroid/os/UserHandle;->myUserId()I
4004     move-result v0
4006     invoke-virtual {p0, p1, p2, p3, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
4008     return-void
4009 .end method
4011 .method public final registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
4012     .registers 7
4014     :try_start_0
4015     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
4017     move-result-object v0
4019     invoke-virtual {p3}, Landroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
4021     move-result-object v1
4023     invoke-interface {v0, p1, p2, v1, p4}, Landroid/content/IContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;I)V
4024     :try_end_b
4025     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_b} :catch_c
4027     :goto_b
4028     return-void
4030     :catch_c
4031     move-exception v0
4033     goto :goto_b
4034 .end method
4036 .method public abstract releaseProvider(Landroid/content/IContentProvider;)Z
4037 .end method
4039 .method public abstract releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4040 .end method
4042 .method public startSync(Landroid/net/Uri;Landroid/os/Bundle;)V
4043     .registers 6
4044     .annotation runtime Ljava/lang/Deprecated;
4045     .end annotation
4047     const/4 v0, 0x0
4049     if-eqz p2, :cond_1b
4051     const-string v2, "account"
4053     invoke-virtual {p2, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
4055     move-result-object v1
4057     invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
4059     move-result v2
4061     if-nez v2, :cond_16
4063     new-instance v0, Landroid/accounts/Account;
4065     const-string v2, "com.google"
4067     invoke-direct {v0, v1, v2}, Landroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;)V
4069     :cond_16
4070     const-string v2, "account"
4072     invoke-virtual {p2, v2}, Landroid/os/Bundle;->remove(Ljava/lang/String;)V
4074     :cond_1b
4075     if-eqz p1, :cond_25
4077     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
4079     move-result-object v2
4081     :goto_21
4082     invoke-static {v0, v2, p2}, Landroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
4084     return-void
4086     :cond_25
4087     const/4 v2, 0x0
4089     goto :goto_21
4090 .end method
4092 .method public final unregisterContentObserver(Landroid/database/ContentObserver;)V
4093     .registers 4
4095     :try_start_0
4096     invoke-virtual {p1}, Landroid/database/ContentObserver;->releaseContentObserver()Landroid/database/IContentObserver;
4098     move-result-object v0
4100     if-eqz v0, :cond_d
4102     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
4104     move-result-object v1
4106     invoke-interface {v1, v0}, Landroid/content/IContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
4107     :try_end_d
4108     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_d} :catch_e
4110     :cond_d
4111     :goto_d
4112     return-void
4114     :catch_e
4115     move-exception v1
4117     goto :goto_d
4118 .end method
4120 .method public abstract unstableProviderDied(Landroid/content/IContentProvider;)V
4121 .end method
4123 .method public final update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
4124     .registers 16
4126     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
4128     move-result-object v0
4130     if-nez v0, :cond_1f
4132     new-instance v1, Ljava/lang/IllegalArgumentException;
4134     new-instance v4, Ljava/lang/StringBuilder;
4136     invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4138     const-string v5, "Unknown URI "
4140     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4142     move-result-object v4
4144     invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4146     move-result-object v4
4148     invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4150     move-result-object v4
4152     invoke-direct {v1, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
4154     throw v1
4156     :cond_1f
4157     :try_start_1f
4158     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
4160     move-result-wide v9
4162     iget-object v1, p0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
4164     move-object v2, p1
4166     move-object v3, p2
4168     move-object v4, p3
4170     move-object v5, p4
4172     invoke-interface/range {v0 .. v5}, Landroid/content/IContentProvider;->update(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
4174     move-result v8
4176     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
4178     move-result-wide v4
4180     sub-long v2, v4, v9
4182     const-string/jumbo v5, "update"
4184     move-object v1, p0
4186     move-object v4, p1
4188     move-object v6, p3
4190     invoke-direct/range {v1 .. v6}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
4191     :try_end_3c
4192     .catchall {:try_start_1f .. :try_end_3c} :catchall_46
4193     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_3c} :catch_40
4195     invoke-virtual {p0, v0}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
4197     :goto_3f
4198     return v8
4200     :catch_40
4201     move-exception v7
4203     const/4 v8, -0x1
4205     invoke-virtual {p0, v0}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
4207     goto :goto_3f
4209     :catchall_46
4210     move-exception v1
4212     invoke-virtual {p0, v0}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
4214     throw v1
4215 .end method