Add SlimRom OpenPdroid; Hide folders+rearrange for ApG
[auto-patcher.git] / patches / openpdroid / 4.2 / .provisionals / system / framework / framework.jar.out / smali / android / content / ContentResolver.smali
blobecb5dbb2e8e07752d4cde67c3b273573c4513815
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 CONTENT_SERVICE_NAME:Ljava/lang/String; = "content"
19 .field public static final CURSOR_DIR_BASE_TYPE:Ljava/lang/String; = "vnd.android.cursor.dir"
21 .field public static final CURSOR_ITEM_BASE_TYPE:Ljava/lang/String; = "vnd.android.cursor.item"
23 .field public static final SCHEME_ANDROID_RESOURCE:Ljava/lang/String; = "android.resource"
25 .field public static final SCHEME_CONTENT:Ljava/lang/String; = "content"
27 .field public static final SCHEME_FILE:Ljava/lang/String; = "file"
29 .field private static final SLOW_THRESHOLD_MILLIS:I = 0x1f4
31 .field public static final SYNC_ERROR_AUTHENTICATION:I = 0x2
33 .field public static final SYNC_ERROR_CONFLICT:I = 0x5
35 .field public static final SYNC_ERROR_INTERNAL:I = 0x8
37 .field public static final SYNC_ERROR_IO:I = 0x3
39 .field public static final SYNC_ERROR_PARSE:I = 0x4
41 .field public static final SYNC_ERROR_SYNC_ALREADY_IN_PROGRESS:I = 0x1
43 .field public static final SYNC_ERROR_TOO_MANY_DELETIONS:I = 0x6
45 .field public static final SYNC_ERROR_TOO_MANY_RETRIES:I = 0x7
47 .field public static final SYNC_EXTRAS_ACCOUNT:Ljava/lang/String; = "account"
48     .annotation runtime Ljava/lang/Deprecated;
49     .end annotation
50 .end field
52 .field public static final SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS:Ljava/lang/String; = "discard_deletions"
54 .field public static final SYNC_EXTRAS_DO_NOT_RETRY:Ljava/lang/String; = "do_not_retry"
56 .field public static final SYNC_EXTRAS_EXPEDITED:Ljava/lang/String; = "expedited"
58 .field public static final SYNC_EXTRAS_FORCE:Ljava/lang/String; = "force"
59     .annotation runtime Ljava/lang/Deprecated;
60     .end annotation
61 .end field
63 .field public static final SYNC_EXTRAS_IGNORE_BACKOFF:Ljava/lang/String; = "ignore_backoff"
65 .field public static final SYNC_EXTRAS_IGNORE_SETTINGS:Ljava/lang/String; = "ignore_settings"
67 .field public static final SYNC_EXTRAS_INITIALIZE:Ljava/lang/String; = "initialize"
69 .field public static final SYNC_EXTRAS_MANUAL:Ljava/lang/String; = "force"
71 .field public static final SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS:Ljava/lang/String; = "deletions_override"
73 .field public static final SYNC_EXTRAS_UPLOAD:Ljava/lang/String; = "upload"
75 .field public static final SYNC_OBSERVER_TYPE_ACTIVE:I = 0x4
77 .field public static final SYNC_OBSERVER_TYPE_ALL:I = 0x7fffffff
79 .field public static final SYNC_OBSERVER_TYPE_PENDING:I = 0x2
81 .field public static final SYNC_OBSERVER_TYPE_SETTINGS:I = 0x1
83 .field public static final SYNC_OBSERVER_TYPE_STATUS:I = 0x8
85 .field private static final TAG:Ljava/lang/String; = "ContentResolver"
87 .field private static sContentService:Landroid/content/IContentService;
90 # instance fields
91 .field private final mContext:Landroid/content/Context;
93 .field private final mRandom:Ljava/util/Random;
96 # direct methods
97 .method public constructor <init>(Landroid/content/Context;)V
98     .registers 3
100     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
102     new-instance v0, Ljava/util/Random;
104     invoke-direct {v0}, Ljava/util/Random;-><init>()V
106     iput-object v0, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
108     iput-object p1, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
110     return-void
111 .end method
113 .method public static addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
114     .registers 11
116     const/4 v1, 0x0
118     invoke-static {p2}, Landroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
120     if-nez p0, :cond_e
122     new-instance v0, Ljava/lang/IllegalArgumentException;
124     const-string v1, "account must not be null"
126     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
128     throw v0
130     :cond_e
131     if-nez p1, :cond_18
133     new-instance v0, Ljava/lang/IllegalArgumentException;
135     const-string v1, "authority must not be null"
137     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
139     throw v0
141     :cond_18
142     const-string v0, "force"
144     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
146     move-result v0
148     if-nez v0, :cond_50
150     const-string v0, "do_not_retry"
152     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
154     move-result v0
156     if-nez v0, :cond_50
158     const-string v0, "ignore_backoff"
160     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
162     move-result v0
164     if-nez v0, :cond_50
166     const-string v0, "ignore_settings"
168     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
170     move-result v0
172     if-nez v0, :cond_50
174     const-string v0, "initialize"
176     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
178     move-result v0
180     if-nez v0, :cond_50
182     const-string v0, "force"
184     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
186     move-result v0
188     if-nez v0, :cond_50
190     const-string v0, "expedited"
192     invoke-virtual {p2, v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
194     move-result v0
196     if-eqz v0, :cond_58
198     :cond_50
199     new-instance v0, Ljava/lang/IllegalArgumentException;
201     const-string v1, "illegal extras were set"
203     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
205     throw v0
207     :cond_58
208     :try_start_58
209     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
211     move-result-object v0
213     move-object v1, p0
215     move-object v2, p1
217     move-object v3, p2
219     move-wide v4, p3
221     invoke-interface/range {v0 .. v5}, Landroid/content/IContentService;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
222     :try_end_63
223     .catch Landroid/os/RemoteException; {:try_start_58 .. :try_end_63} :catch_64
225     :goto_63
226     return-void
228     :catch_64
229     move-exception v0
231     goto :goto_63
232 .end method
234 .method public static addStatusChangeListener(ILandroid/content/SyncStatusObserver;)Ljava/lang/Object;
235     .registers 6
237     if-nez p1, :cond_b
239     new-instance v2, Ljava/lang/IllegalArgumentException;
241     const-string/jumbo v3, "you passed in a null callback"
243     invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
245     throw v2
247     :cond_b
248     :try_start_b
249     new-instance v1, Landroid/content/ContentResolver$1;
251     invoke-direct {v1, p1}, Landroid/content/ContentResolver$1;-><init>(Landroid/content/SyncStatusObserver;)V
253     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
255     move-result-object v2
257     invoke-interface {v2, p0, v1}, Landroid/content/IContentService;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
258     :try_end_17
259     .catch Landroid/os/RemoteException; {:try_start_b .. :try_end_17} :catch_18
261     return-object v1
263     :catch_18
264     move-exception v0
266     new-instance v2, Ljava/lang/RuntimeException;
268     const-string/jumbo v3, "the ContentService should always be reachable"
270     invoke-direct {v2, v3, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
272     throw v2
273 .end method
275 .method public static cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V
276     .registers 3
278     :try_start_0
279     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
281     move-result-object v0
283     invoke-interface {v0, p0, p1}, Landroid/content/IContentService;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V
284     :try_end_7
285     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_8
287     :goto_7
288     return-void
290     :catch_8
291     move-exception v0
293     goto :goto_7
294 .end method
296 .method public static getContentService()Landroid/content/IContentService;
297     .registers 2
299     sget-object v1, Landroid/content/ContentResolver;->sContentService:Landroid/content/IContentService;
301     if-eqz v1, :cond_7
303     sget-object v1, Landroid/content/ContentResolver;->sContentService:Landroid/content/IContentService;
305     :goto_6
306     return-object v1
308     :cond_7
309     const-string v1, "content"
311     invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
313     move-result-object v0
315     invoke-static {v0}, Landroid/content/IContentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IContentService;
317     move-result-object v1
319     sput-object v1, Landroid/content/ContentResolver;->sContentService:Landroid/content/IContentService;
321     sget-object v1, Landroid/content/ContentResolver;->sContentService:Landroid/content/IContentService;
323     goto :goto_6
324 .end method
326 .method public static getCurrentSync()Landroid/content/SyncInfo;
327     .registers 4
328     .annotation runtime Ljava/lang/Deprecated;
329     .end annotation
331     :try_start_0
332     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
334     move-result-object v2
336     invoke-interface {v2}, Landroid/content/IContentService;->getCurrentSyncs()Ljava/util/List;
338     move-result-object v1
340     invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
342     move-result v2
344     if-eqz v2, :cond_10
346     const/4 v2, 0x0
348     :goto_f
349     return-object v2
351     :cond_10
352     const/4 v2, 0x0
354     invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
356     move-result-object v2
358     check-cast v2, Landroid/content/SyncInfo;
359     :try_end_17
360     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_17} :catch_18
362     goto :goto_f
364     :catch_18
365     move-exception v0
367     new-instance v2, Ljava/lang/RuntimeException;
369     const-string/jumbo v3, "the ContentService should always be reachable"
371     invoke-direct {v2, v3, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
373     throw v2
374 .end method
376 .method public static getCurrentSyncs()Ljava/util/List;
377     .registers 3
378     .annotation system Ldalvik/annotation/Signature;
379         value = {
380             "()",
381             "Ljava/util/List",
382             "<",
383             "Landroid/content/SyncInfo;",
384             ">;"
385         }
386     .end annotation
388     :try_start_0
389     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
391     move-result-object v1
393     invoke-interface {v1}, Landroid/content/IContentService;->getCurrentSyncs()Ljava/util/List;
394     :try_end_7
395     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
397     move-result-object v1
399     return-object v1
401     :catch_9
402     move-exception v0
404     new-instance v1, Ljava/lang/RuntimeException;
406     const-string/jumbo v2, "the ContentService should always be reachable"
408     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
410     throw v1
411 .end method
413 .method public static getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
414     .registers 5
416     :try_start_0
417     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
419     move-result-object v1
421     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
422     :try_end_7
423     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
425     move-result v1
427     return v1
429     :catch_9
430     move-exception v0
432     new-instance v1, Ljava/lang/RuntimeException;
434     const-string/jumbo v2, "the ContentService should always be reachable"
436     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
438     throw v1
439 .end method
441 .method public static getMasterSyncAutomatically()Z
442     .registers 3
444     :try_start_0
445     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
447     move-result-object v1
449     invoke-interface {v1}, Landroid/content/IContentService;->getMasterSyncAutomatically()Z
450     :try_end_7
451     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
453     move-result v1
455     return v1
457     :catch_9
458     move-exception v0
460     new-instance v1, Ljava/lang/RuntimeException;
462     const-string/jumbo v2, "the ContentService should always be reachable"
464     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
466     throw v1
467 .end method
469 .method public static getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;
470     .registers 5
471     .annotation system Ldalvik/annotation/Signature;
472         value = {
473             "(",
474             "Landroid/accounts/Account;",
475             "Ljava/lang/String;",
476             ")",
477             "Ljava/util/List",
478             "<",
479             "Landroid/content/PeriodicSync;",
480             ">;"
481         }
482     .end annotation
484     if-nez p0, :cond_a
486     new-instance v1, Ljava/lang/IllegalArgumentException;
488     const-string v2, "account must not be null"
490     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
492     throw v1
494     :cond_a
495     if-nez p1, :cond_14
497     new-instance v1, Ljava/lang/IllegalArgumentException;
499     const-string v2, "authority must not be null"
501     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
503     throw v1
505     :cond_14
506     :try_start_14
507     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
509     move-result-object v1
511     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;
512     :try_end_1b
513     .catch Landroid/os/RemoteException; {:try_start_14 .. :try_end_1b} :catch_1d
515     move-result-object v1
517     return-object v1
519     :catch_1d
520     move-exception v0
522     new-instance v1, Ljava/lang/RuntimeException;
524     const-string/jumbo v2, "the ContentService should always be reachable"
526     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
528     throw v1
529 .end method
531 .method public static getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
532     .registers 3
534     :try_start_0
535     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
537     move-result-object v1
539     invoke-interface {v1}, Landroid/content/IContentService;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
540     :try_end_7
541     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
543     move-result-object v1
545     return-object v1
547     :catch_9
548     move-exception v0
550     new-instance v1, Ljava/lang/RuntimeException;
552     const-string/jumbo v2, "the ContentService should always be reachable"
554     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
556     throw v1
557 .end method
559 .method public static getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
560     .registers 5
562     :try_start_0
563     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
565     move-result-object v1
567     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
568     :try_end_7
569     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
571     move-result v1
573     return v1
575     :catch_9
576     move-exception v0
578     new-instance v1, Ljava/lang/RuntimeException;
580     const-string/jumbo v2, "the ContentService should always be reachable"
582     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
584     throw v1
585 .end method
587 .method public static getSyncStatus(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncStatusInfo;
588     .registers 5
590     :try_start_0
591     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
593     move-result-object v1
595     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->getSyncStatus(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncStatusInfo;
596     :try_end_7
597     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
599     move-result-object v1
601     return-object v1
603     :catch_9
604     move-exception v0
606     new-instance v1, Ljava/lang/RuntimeException;
608     const-string/jumbo v2, "the ContentService should always be reachable"
610     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
612     throw v1
613 .end method
615 .method public static isSyncActive(Landroid/accounts/Account;Ljava/lang/String;)Z
616     .registers 5
618     :try_start_0
619     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
621     move-result-object v1
623     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;)Z
624     :try_end_7
625     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
627     move-result v1
629     return v1
631     :catch_9
632     move-exception v0
634     new-instance v1, Ljava/lang/RuntimeException;
636     const-string/jumbo v2, "the ContentService should always be reachable"
638     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
640     throw v1
641 .end method
643 .method public static isSyncPending(Landroid/accounts/Account;Ljava/lang/String;)Z
644     .registers 5
646     :try_start_0
647     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
649     move-result-object v1
651     invoke-interface {v1, p0, p1}, Landroid/content/IContentService;->isSyncPending(Landroid/accounts/Account;Ljava/lang/String;)Z
652     :try_end_7
653     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_9
655     move-result v1
657     return v1
659     :catch_9
660     move-exception v0
662     new-instance v1, Ljava/lang/RuntimeException;
664     const-string/jumbo v2, "the ContentService should always be reachable"
666     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
668     throw v1
669 .end method
671 .method private maybeLogQueryToEventLog(JLandroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
672     .registers 15
674     const/16 v7, 0x64
676     invoke-direct {p0, p1, p2}, Landroid/content/ContentResolver;->samplePercentForDuration(J)I
678     move-result v3
680     if-ge v3, v7, :cond_18
682     iget-object v5, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
684     monitor-enter v5
686     :try_start_b
687     iget-object v4, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
689     const/16 v6, 0x64
691     invoke-virtual {v4, v6}, Ljava/util/Random;->nextInt(I)I
693     move-result v4
695     if-lt v4, v3, :cond_17
697     monitor-exit v5
699     :goto_16
700     return-void
702     :cond_17
703     monitor-exit v5
704     :try_end_18
705     .catchall {:try_start_b .. :try_end_18} :catchall_32
707     :cond_18
708     new-instance v2, Ljava/lang/StringBuilder;
710     invoke-direct {v2, v7}, Ljava/lang/StringBuilder;-><init>(I)V
712     if-eqz p4, :cond_35
714     const/4 v1, 0x0
716     :goto_20
717     array-length v4, p4
719     if-ge v1, v4, :cond_35
721     if-eqz v1, :cond_2a
723     const/16 v4, 0x2f
725     invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
727     :cond_2a
728     aget-object v4, p4, v1
730     invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
732     add-int/lit8 v1, v1, 0x1
734     goto :goto_20
736     :catchall_32
737     move-exception v4
739     :try_start_33
740     monitor-exit v5
741     :try_end_34
742     .catchall {:try_start_33 .. :try_end_34} :catchall_32
744     throw v4
746     :cond_35
747     invoke-static {}, Landroid/app/AppGlobals;->getInitialPackage()Ljava/lang/String;
749     move-result-object v0
751     const v4, 0xcb22
753     const/4 v5, 0x7
755     new-array v5, v5, [Ljava/lang/Object;
757     const/4 v6, 0x0
759     invoke-virtual {p3}, Landroid/net/Uri;->toString()Ljava/lang/String;
761     move-result-object v7
763     aput-object v7, v5, v6
765     const/4 v6, 0x1
767     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
769     move-result-object v7
771     aput-object v7, v5, v6
773     const/4 v6, 0x2
775     if-eqz p5, :cond_6e
777     :goto_50
778     aput-object p5, v5, v6
780     const/4 v6, 0x3
782     if-eqz p6, :cond_71
784     :goto_55
785     aput-object p6, v5, v6
787     const/4 v6, 0x4
789     invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
791     move-result-object v7
793     aput-object v7, v5, v6
795     const/4 v6, 0x5
797     if-eqz v0, :cond_74
799     :goto_61
800     aput-object v0, v5, v6
802     const/4 v6, 0x6
804     invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
806     move-result-object v7
808     aput-object v7, v5, v6
810     invoke-static {v4, v5}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
812     goto :goto_16
814     :cond_6e
815     const-string p5, ""
817     goto :goto_50
819     :cond_71
820     const-string p6, ""
822     goto :goto_55
824     :cond_74
825     const-string v0, ""
827     goto :goto_61
828 .end method
830 .method private maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
831     .registers 12
833     const/16 v2, 0x64
835     invoke-direct {p0, p1, p2}, Landroid/content/ContentResolver;->samplePercentForDuration(J)I
837     move-result v1
839     if-ge v1, v2, :cond_18
841     iget-object v3, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
843     monitor-enter v3
845     :try_start_b
846     iget-object v2, p0, Landroid/content/ContentResolver;->mRandom:Ljava/util/Random;
848     const/16 v4, 0x64
850     invoke-virtual {v2, v4}, Ljava/util/Random;->nextInt(I)I
852     move-result v2
854     if-lt v2, v1, :cond_17
856     monitor-exit v3
858     :goto_16
859     return-void
861     :cond_17
862     monitor-exit v3
863     :try_end_18
864     .catchall {:try_start_b .. :try_end_18} :catchall_48
866     :cond_18
867     invoke-static {}, Landroid/app/AppGlobals;->getInitialPackage()Ljava/lang/String;
869     move-result-object v0
871     const v2, 0xcb23
873     const/4 v3, 0x6
875     new-array v3, v3, [Ljava/lang/Object;
877     const/4 v4, 0x0
879     invoke-virtual {p3}, Landroid/net/Uri;->toString()Ljava/lang/String;
881     move-result-object v5
883     aput-object v5, v3, v4
885     const/4 v4, 0x1
887     aput-object p4, v3, v4
889     const/4 v4, 0x2
891     if-eqz p5, :cond_4b
893     :goto_2f
894     aput-object p5, v3, v4
896     const/4 v4, 0x3
898     invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
900     move-result-object v5
902     aput-object v5, v3, v4
904     const/4 v4, 0x4
906     if-eqz v0, :cond_4e
908     :goto_3b
909     aput-object v0, v3, v4
911     const/4 v4, 0x5
913     invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
915     move-result-object v5
917     aput-object v5, v3, v4
919     invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
921     goto :goto_16
923     :catchall_48
924     move-exception v2
926     :try_start_49
927     monitor-exit v3
928     :try_end_4a
929     .catchall {:try_start_49 .. :try_end_4a} :catchall_48
931     throw v2
933     :cond_4b
934     const-string p5, ""
936     goto :goto_2f
938     :cond_4e
939     const-string v0, ""
941     goto :goto_3b
942 .end method
944 .method public static modeToMode(Landroid/net/Uri;Ljava/lang/String;)I
945     .registers 6
946     .annotation system Ldalvik/annotation/Throws;
947         value = {
948             Ljava/io/FileNotFoundException;
949         }
950     .end annotation
952     const-string/jumbo v1, "r"
954     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
956     move-result v1
958     if-eqz v1, :cond_c
960     const/high16 v0, 0x1000
962     :goto_b
963     return v0
965     :cond_c
966     const-string/jumbo v1, "w"
968     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
970     move-result v1
972     if-nez v1, :cond_1e
974     const-string/jumbo v1, "wt"
976     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
978     move-result v1
980     if-eqz v1, :cond_21
982     :cond_1e
983     const/high16 v0, 0x2c00
985     goto :goto_b
987     :cond_21
988     const-string/jumbo v1, "wa"
990     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
992     move-result v1
994     if-eqz v1, :cond_2d
996     const/high16 v0, 0x2a00
998     goto :goto_b
1000     :cond_2d
1001     const-string/jumbo v1, "rw"
1003     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1005     move-result v1
1007     if-eqz v1, :cond_39
1009     const/high16 v0, 0x3800
1011     goto :goto_b
1013     :cond_39
1014     const-string/jumbo v1, "rwt"
1016     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1018     move-result v1
1020     if-eqz v1, :cond_45
1022     const/high16 v0, 0x3c00
1024     goto :goto_b
1026     :cond_45
1027     new-instance v1, Ljava/io/FileNotFoundException;
1029     new-instance v2, Ljava/lang/StringBuilder;
1031     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1033     const-string v3, "Bad mode for "
1035     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1037     move-result-object v2
1039     invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1041     move-result-object v2
1043     const-string v3, ": "
1045     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1047     move-result-object v2
1049     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1051     move-result-object v2
1053     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1055     move-result-object v2
1057     invoke-direct {v1, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
1059     throw v1
1060 .end method
1062 .method public static removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
1063     .registers 6
1065     invoke-static {p2}, Landroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
1067     if-nez p0, :cond_d
1069     new-instance v1, Ljava/lang/IllegalArgumentException;
1071     const-string v2, "account must not be null"
1073     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1075     throw v1
1077     :cond_d
1078     if-nez p1, :cond_17
1080     new-instance v1, Ljava/lang/IllegalArgumentException;
1082     const-string v2, "authority must not be null"
1084     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1086     throw v1
1088     :cond_17
1089     :try_start_17
1090     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1092     move-result-object v1
1094     invoke-interface {v1, p0, p1, p2}, Landroid/content/IContentService;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
1095     :try_end_1e
1096     .catch Landroid/os/RemoteException; {:try_start_17 .. :try_end_1e} :catch_1f
1098     return-void
1100     :catch_1f
1101     move-exception v0
1103     new-instance v1, Ljava/lang/RuntimeException;
1105     const-string/jumbo v2, "the ContentService should always be reachable"
1107     invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
1109     throw v1
1110 .end method
1112 .method public static removeStatusChangeListener(Ljava/lang/Object;)V
1113     .registers 3
1115     if-nez p0, :cond_b
1117     new-instance v0, Ljava/lang/IllegalArgumentException;
1119     const-string/jumbo v1, "you passed in a null handle"
1121     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1123     throw v0
1125     :cond_b
1126     :try_start_b
1127     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1129     move-result-object v0
1131     check-cast p0, Landroid/content/ISyncStatusObserver$Stub;
1133     invoke-interface {v0, p0}, Landroid/content/IContentService;->removeStatusChangeListener(Landroid/content/ISyncStatusObserver;)V
1134     :try_end_14
1135     .catch Landroid/os/RemoteException; {:try_start_b .. :try_end_14} :catch_15
1137     :goto_14
1138     return-void
1140     :catch_15
1141     move-exception v0
1143     goto :goto_14
1144 .end method
1146 .method public static requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
1147     .registers 4
1149     invoke-static {p2}, Landroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
1151     :try_start_3
1152     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1154     move-result-object v0
1156     invoke-interface {v0, p0, p1, p2}, Landroid/content/IContentService;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
1157     :try_end_a
1158     .catch Landroid/os/RemoteException; {:try_start_3 .. :try_end_a} :catch_b
1160     :goto_a
1161     return-void
1163     :catch_b
1164     move-exception v0
1166     goto :goto_a
1167 .end method
1169 .method private samplePercentForDuration(J)I
1170     .registers 7
1172     const-wide/16 v2, 0x1f4
1174     cmp-long v0, p1, v2
1176     if-ltz v0, :cond_9
1178     const/16 v0, 0x64
1180     :goto_8
1181     return v0
1183     :cond_9
1184     const-wide/16 v0, 0x64
1186     mul-long/2addr v0, p1
1188     div-long/2addr v0, v2
1190     long-to-int v0, v0
1192     add-int/lit8 v0, v0, 0x1
1194     goto :goto_8
1195 .end method
1197 .method public static setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
1198     .registers 4
1200     :try_start_0
1201     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1203     move-result-object v0
1205     invoke-interface {v0, p0, p1, p2}, Landroid/content/IContentService;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
1206     :try_end_7
1207     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_8
1209     :goto_7
1210     return-void
1212     :catch_8
1213     move-exception v0
1215     goto :goto_7
1216 .end method
1218 .method public static setMasterSyncAutomatically(Z)V
1219     .registers 2
1221     :try_start_0
1222     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1224     move-result-object v0
1226     invoke-interface {v0, p0}, Landroid/content/IContentService;->setMasterSyncAutomatically(Z)V
1227     :try_end_7
1228     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_8
1230     :goto_7
1231     return-void
1233     :catch_8
1234     move-exception v0
1236     goto :goto_7
1237 .end method
1239 .method public static setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
1240     .registers 4
1242     :try_start_0
1243     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
1245     move-result-object v0
1247     invoke-interface {v0, p0, p1, p2}, Landroid/content/IContentService;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
1248     :try_end_7
1249     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_7} :catch_8
1251     :goto_7
1252     return-void
1254     :catch_8
1255     move-exception v0
1257     goto :goto_7
1258 .end method
1260 .method public static validateSyncExtrasBundle(Landroid/os/Bundle;)V
1261     .registers 9
1263     :try_start_0
1264     invoke-virtual {p0}, Landroid/os/Bundle;->keySet()Ljava/util/Set;
1266     move-result-object v5
1268     invoke-interface {v5}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
1270     move-result-object v2
1272     :cond_8
1273     invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
1275     move-result v5
1277     if-eqz v5, :cond_63
1279     invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
1281     move-result-object v3
1283     check-cast v3, Ljava/lang/String;
1285     invoke-virtual {p0, v3}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;
1287     move-result-object v4
1289     if-eqz v4, :cond_8
1291     instance-of v5, v4, Ljava/lang/Long;
1293     if-nez v5, :cond_8
1295     instance-of v5, v4, Ljava/lang/Integer;
1297     if-nez v5, :cond_8
1299     instance-of v5, v4, Ljava/lang/Boolean;
1301     if-nez v5, :cond_8
1303     instance-of v5, v4, Ljava/lang/Float;
1305     if-nez v5, :cond_8
1307     instance-of v5, v4, Ljava/lang/Double;
1309     if-nez v5, :cond_8
1311     instance-of v5, v4, Ljava/lang/String;
1313     if-nez v5, :cond_8
1315     instance-of v5, v4, Landroid/accounts/Account;
1317     if-nez v5, :cond_8
1319     new-instance v5, Ljava/lang/IllegalArgumentException;
1321     new-instance v6, Ljava/lang/StringBuilder;
1323     invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
1325     const-string/jumbo v7, "unexpected value type: "
1327     invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1329     move-result-object v6
1331     invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
1333     move-result-object v7
1335     invoke-virtual {v7}, Ljava/lang/Class;->getName()Ljava/lang/String;
1337     move-result-object v7
1339     invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1341     move-result-object v6
1343     invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1345     move-result-object v6
1347     invoke-direct {v5, v6}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1349     throw v5
1350     :try_end_58
1351     .catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_58} :catch_58
1352     .catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_58} :catch_5a
1354     :catch_58
1355     move-exception v0
1357     throw v0
1359     :catch_5a
1360     move-exception v1
1362     new-instance v5, Ljava/lang/IllegalArgumentException;
1364     const-string v6, "error unparceling Bundle"
1366     invoke-direct {v5, v6, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
1368     throw v5
1370     :cond_63
1371     return-void
1372 .end method
1375 # virtual methods
1376 .method public final acquireContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
1377     .registers 5
1379     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1381     move-result-object v0
1383     if-eqz v0, :cond_d
1385     new-instance v1, Landroid/content/ContentProviderClient;
1387     const/4 v2, 0x1
1389     invoke-direct {v1, p0, v0, v2}, Landroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
1391     :goto_c
1392     return-object v1
1394     :cond_d
1395     const/4 v1, 0x0
1397     goto :goto_c
1398 .end method
1400 .method public final acquireContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
1401     .registers 5
1403     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
1405     move-result-object v0
1407     if-eqz v0, :cond_d
1409     new-instance v1, Landroid/content/ContentProviderClient;
1411     const/4 v2, 0x1
1413     invoke-direct {v1, p0, v0, v2}, Landroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
1415     :goto_c
1416     return-object v1
1418     :cond_d
1419     const/4 v1, 0x0
1421     goto :goto_c
1422 .end method
1424 .method protected acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1425     .registers 4
1427     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1429     move-result-object v0
1431     return-object v0
1432 .end method
1434 .method public final acquireExistingProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1435     .registers 6
1437     const/4 v1, 0x0
1439     const-string v2, "content"
1441     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
1443     move-result-object v3
1445     invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1447     move-result v2
1449     if-nez v2, :cond_e
1451     :cond_d
1452     :goto_d
1453     return-object v1
1455     :cond_e
1456     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1458     move-result-object v0
1460     if-eqz v0, :cond_d
1462     iget-object v1, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1464     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1466     move-result-object v2
1468     invoke-virtual {p0, v1, v2}, Landroid/content/ContentResolver;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1470     move-result-object v1
1472     goto :goto_d
1473 .end method
1475 .method protected abstract acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1476 .end method
1478 .method public final acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1479     .registers 6
1481     const/4 v1, 0x0
1483     const-string v2, "content"
1485     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
1487     move-result-object v3
1489     invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1491     move-result v2
1493     if-nez v2, :cond_e
1495     :cond_d
1496     :goto_d
1497     return-object v1
1499     :cond_e
1500     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1502     move-result-object v0
1504     if-eqz v0, :cond_d
1506     iget-object v1, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1508     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1510     move-result-object v2
1512     invoke-virtual {p0, v1, v2}, Landroid/content/ContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1514     move-result-object v1
1516     goto :goto_d
1517 .end method
1519 .method public final acquireProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
1520     .registers 3
1522     if-nez p1, :cond_4
1524     const/4 v0, 0x0
1526     :goto_3
1527     return-object v0
1529     :cond_4
1530     iget-object v0, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1532     invoke-virtual {p0, v0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1534     move-result-object v0
1536     goto :goto_3
1537 .end method
1539 .method public final acquireUnstableContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
1540     .registers 5
1542     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1544     move-result-object v0
1546     if-eqz v0, :cond_d
1548     new-instance v1, Landroid/content/ContentProviderClient;
1550     const/4 v2, 0x0
1552     invoke-direct {v1, p0, v0, v2}, Landroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
1554     :goto_c
1555     return-object v1
1557     :cond_d
1558     const/4 v1, 0x0
1560     goto :goto_c
1561 .end method
1563 .method public final acquireUnstableContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
1564     .registers 5
1566     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
1568     move-result-object v0
1570     if-eqz v0, :cond_d
1572     new-instance v1, Landroid/content/ContentProviderClient;
1574     const/4 v2, 0x0
1576     invoke-direct {v1, p0, v0, v2}, Landroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
1578     :goto_c
1579     return-object v1
1581     :cond_d
1582     const/4 v1, 0x0
1584     goto :goto_c
1585 .end method
1587 .method protected abstract acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1588 .end method
1590 .method public final acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1591     .registers 6
1593     const/4 v1, 0x0
1595     const-string v2, "content"
1597     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
1599     move-result-object v3
1601     invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1603     move-result v2
1605     if-nez v2, :cond_e
1607     :cond_d
1608     :goto_d
1609     return-object v1
1611     :cond_e
1612     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1614     move-result-object v0
1616     if-eqz v0, :cond_d
1618     iget-object v1, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1620     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1622     move-result-object v2
1624     invoke-virtual {p0, v1, v2}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1626     move-result-object v1
1628     goto :goto_d
1629 .end method
1631 .method public final acquireUnstableProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
1632     .registers 3
1634     if-nez p1, :cond_4
1636     const/4 v0, 0x0
1638     :goto_3
1639     return-object v0
1641     :cond_4
1642     iget-object v0, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
1644     invoke-virtual {p0, v0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
1646     move-result-object v0
1648     goto :goto_3
1649 .end method
1651 .method public applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
1652     .registers 7
1653     .annotation system Ldalvik/annotation/Signature;
1654         value = {
1655             "(",
1656             "Ljava/lang/String;",
1657             "Ljava/util/ArrayList",
1658             "<",
1659             "Landroid/content/ContentProviderOperation;",
1660             ">;)[",
1661             "Landroid/content/ContentProviderResult;"
1662         }
1663     .end annotation
1665     .annotation system Ldalvik/annotation/Throws;
1666         value = {
1667             Landroid/os/RemoteException;,
1668             Landroid/content/OperationApplicationException;
1669         }
1670     .end annotation
1672     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
1674     move-result-object v0
1676     if-nez v0, :cond_1f
1678     new-instance v1, Ljava/lang/IllegalArgumentException;
1680     new-instance v2, Ljava/lang/StringBuilder;
1682     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1684     const-string v3, "Unknown authority "
1686     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1688     move-result-object v2
1690     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1692     move-result-object v2
1694     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1696     move-result-object v2
1698     invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1700     throw v1
1702     :cond_1f
1703     :try_start_1f
1704     invoke-virtual {v0, p2}, Landroid/content/ContentProviderClient;->applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
1705     :try_end_22
1706     .catchall {:try_start_1f .. :try_end_22} :catchall_27
1708     move-result-object v1
1710     invoke-virtual {v0}, Landroid/content/ContentProviderClient;->release()Z
1712     return-object v1
1714     :catchall_27
1715     move-exception v1
1717     invoke-virtual {v0}, Landroid/content/ContentProviderClient;->release()Z
1719     throw v1
1720 .end method
1722 .method public final bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I
1723     .registers 14
1725     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1727     move-result-object v7
1729     if-nez v7, :cond_1f
1731     new-instance v0, Ljava/lang/IllegalArgumentException;
1733     new-instance v3, Ljava/lang/StringBuilder;
1735     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
1737     const-string v4, "Unknown URL "
1739     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1741     move-result-object v3
1743     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1745     move-result-object v3
1747     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1749     move-result-object v3
1751     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1753     throw v0
1755     :cond_1f
1756     :try_start_1f
1757     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
1759     move-result-wide v9
1761     invoke-interface {v7, p1, p2}, Landroid/content/IContentProvider;->bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I
1763     move-result v8
1765     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
1767     move-result-wide v3
1769     sub-long v1, v3, v9
1771     const-string v4, "bulkinsert"
1773     const/4 v5, 0x0
1775     move-object v0, p0
1777     move-object v3, p1
1779     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
1780     :try_end_35
1781     .catchall {:try_start_1f .. :try_end_35} :catchall_3f
1782     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_35} :catch_39
1784     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1786     :goto_38
1787     return v8
1789     :catch_39
1790     move-exception v6
1792     const/4 v8, 0x0
1794     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1796     goto :goto_38
1798     :catchall_3f
1799     move-exception v0
1801     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1803     throw v0
1804 .end method
1806 .method public final call(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
1807     .registers 10
1809     if-nez p1, :cond_b
1811     new-instance v2, Ljava/lang/NullPointerException;
1813     const-string/jumbo v3, "uri == null"
1815     invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
1817     throw v2
1819     :cond_b
1820     if-nez p2, :cond_16
1822     new-instance v2, Ljava/lang/NullPointerException;
1824     const-string/jumbo v3, "method == null"
1826     invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
1828     throw v2
1830     :cond_16
1831     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1833     move-result-object v1
1835     if-nez v1, :cond_35
1837     new-instance v2, Ljava/lang/IllegalArgumentException;
1839     new-instance v3, Ljava/lang/StringBuilder;
1841     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
1843     const-string v4, "Unknown URI "
1845     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1847     move-result-object v3
1849     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1851     move-result-object v3
1853     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1855     move-result-object v3
1857     invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1859     throw v2
1861     :cond_35
1862     :try_start_35
1863     invoke-interface {v1, p2, p3, p4}, Landroid/content/IContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
1864     :try_end_38
1865     .catchall {:try_start_35 .. :try_end_38} :catchall_43
1866     .catch Landroid/os/RemoteException; {:try_start_35 .. :try_end_38} :catch_3d
1868     move-result-object v2
1870     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1872     :goto_3c
1873     return-object v2
1875     :catch_3d
1876     move-exception v0
1878     const/4 v2, 0x0
1880     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1882     goto :goto_3c
1884     :catchall_43
1885     move-exception v2
1887     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1889     throw v2
1890 .end method
1892 .method public cancelSync(Landroid/net/Uri;)V
1893     .registers 4
1894     .annotation runtime Ljava/lang/Deprecated;
1895     .end annotation
1897     const/4 v1, 0x0
1899     if-eqz p1, :cond_b
1901     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1903     move-result-object v0
1905     :goto_7
1906     invoke-static {v1, v0}, Landroid/content/ContentResolver;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V
1908     return-void
1910     :cond_b
1911     move-object v0, v1
1913     goto :goto_7
1914 .end method
1916 .method public final delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
1917     .registers 15
1919     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1921     move-result-object v7
1923     if-nez v7, :cond_1f
1925     new-instance v0, Ljava/lang/IllegalArgumentException;
1927     new-instance v3, Ljava/lang/StringBuilder;
1929     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
1931     const-string v4, "Unknown URL "
1933     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1935     move-result-object v3
1937     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1939     move-result-object v3
1941     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1943     move-result-object v3
1945     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1947     throw v0
1949     :cond_1f
1950     :try_start_1f
1951     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
1953     move-result-wide v9
1955     invoke-interface {v7, p1, p2, p3}, Landroid/content/IContentProvider;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
1957     move-result v8
1959     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
1961     move-result-wide v3
1963     sub-long v1, v3, v9
1965     const-string v4, "delete"
1967     move-object v0, p0
1969     move-object v3, p1
1971     move-object v5, p2
1973     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
1974     :try_end_35
1975     .catchall {:try_start_1f .. :try_end_35} :catchall_3f
1976     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_35} :catch_39
1978     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1980     :goto_38
1981     return v8
1983     :catch_39
1984     move-exception v6
1986     const/4 v8, -0x1
1988     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1990     goto :goto_38
1992     :catchall_3f
1993     move-exception v0
1995     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1997     throw v0
1998 .end method
2000 .method public getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
2001     .registers 13
2002     .annotation system Ldalvik/annotation/Throws;
2003         value = {
2004             Ljava/io/FileNotFoundException;
2005         }
2006     .end annotation
2008     const/4 v10, 0x1
2010     const/4 v9, 0x0
2012     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
2014     move-result-object v0
2016     invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
2018     move-result v8
2020     if-eqz v8, :cond_25
2022     new-instance v8, Ljava/io/FileNotFoundException;
2024     new-instance v9, Ljava/lang/StringBuilder;
2026     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2028     const-string v10, "No authority: "
2030     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2032     move-result-object v9
2034     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2036     move-result-object v9
2038     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2040     move-result-object v9
2042     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2044     throw v8
2046     :cond_25
2047     :try_start_25
2048     iget-object v8, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
2050     invoke-virtual {v8}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
2052     move-result-object v8
2054     invoke-virtual {v8, v0}, Landroid/content/pm/PackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;
2055     :try_end_2e
2056     .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_25 .. :try_end_2e} :catch_4e
2058     move-result-object v6
2060     invoke-virtual {p1}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
2062     move-result-object v5
2064     if-nez v5, :cond_68
2066     new-instance v8, Ljava/io/FileNotFoundException;
2068     new-instance v9, Ljava/lang/StringBuilder;
2070     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2072     const-string v10, "No path: "
2074     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2076     move-result-object v9
2078     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2080     move-result-object v9
2082     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2084     move-result-object v9
2086     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2088     throw v8
2090     :catch_4e
2091     move-exception v2
2093     new-instance v8, Ljava/io/FileNotFoundException;
2095     new-instance v9, Ljava/lang/StringBuilder;
2097     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2099     const-string v10, "No package found for authority: "
2101     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2103     move-result-object v9
2105     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2107     move-result-object v9
2109     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2111     move-result-object v9
2113     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2115     throw v8
2117     :cond_68
2118     invoke-interface {v5}, Ljava/util/List;->size()I
2120     move-result v4
2122     if-ne v4, v10, :cond_ae
2124     const/4 v8, 0x0
2126     :try_start_6f
2127     invoke-interface {v5, v8}, Ljava/util/List;->get(I)Ljava/lang/Object;
2129     move-result-object v8
2131     check-cast v8, Ljava/lang/String;
2133     invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2134     :try_end_78
2135     .catch Ljava/lang/NumberFormatException; {:try_start_6f .. :try_end_78} :catch_94
2137     move-result v3
2139     :goto_79
2140     if-nez v3, :cond_db
2142     new-instance v8, Ljava/io/FileNotFoundException;
2144     new-instance v9, Ljava/lang/StringBuilder;
2146     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2148     const-string v10, "No resource found for: "
2150     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2152     move-result-object v9
2154     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2156     move-result-object v9
2158     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2160     move-result-object v9
2162     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2164     throw v8
2166     :catch_94
2167     move-exception v1
2169     new-instance v8, Ljava/io/FileNotFoundException;
2171     new-instance v9, Ljava/lang/StringBuilder;
2173     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2175     const-string v10, "Single path segment is not a resource ID: "
2177     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2179     move-result-object v9
2181     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2183     move-result-object v9
2185     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2187     move-result-object v9
2189     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2191     throw v8
2193     :cond_ae
2194     const/4 v8, 0x2
2196     if-ne v4, v8, :cond_c2
2198     invoke-interface {v5, v10}, Ljava/util/List;->get(I)Ljava/lang/Object;
2200     move-result-object v8
2202     check-cast v8, Ljava/lang/String;
2204     invoke-interface {v5, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
2206     move-result-object v9
2208     check-cast v9, Ljava/lang/String;
2210     invoke-virtual {v6, v8, v9, v0}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
2212     move-result v3
2214     goto :goto_79
2216     :cond_c2
2217     new-instance v8, Ljava/io/FileNotFoundException;
2219     new-instance v9, Ljava/lang/StringBuilder;
2221     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2223     const-string v10, "More than two path segments: "
2225     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2227     move-result-object v9
2229     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2231     move-result-object v9
2233     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2235     move-result-object v9
2237     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2239     throw v8
2241     :cond_db
2242     new-instance v7, Landroid/content/ContentResolver$OpenResourceIdResult;
2244     invoke-direct {v7, p0}, Landroid/content/ContentResolver$OpenResourceIdResult;-><init>(Landroid/content/ContentResolver;)V
2246     iput-object v6, v7, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
2248     iput v3, v7, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
2250     return-object v7
2251 .end method
2253 .method public getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
2254     .registers 6
2256     const/4 v2, 0x0
2258     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2260     move-result-object v1
2262     if-nez v1, :cond_8
2264     :goto_7
2265     return-object v2
2267     :cond_8
2268     :try_start_8
2269     invoke-interface {v1, p1, p2}, Landroid/content/IContentProvider;->getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
2270     :try_end_b
2271     .catchall {:try_start_8 .. :try_end_b} :catchall_15
2272     .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_b} :catch_10
2274     move-result-object v2
2276     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2278     goto :goto_7
2280     :catch_10
2281     move-exception v0
2283     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2285     goto :goto_7
2287     :catchall_15
2288     move-exception v2
2290     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2292     throw v2
2293 .end method
2295 .method public final getType(Landroid/net/Uri;)Ljava/lang/String;
2296     .registers 8
2298     const/4 v2, 0x0
2300     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireExistingProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2302     move-result-object v1
2304     if-eqz v1, :cond_4a
2306     :try_start_7
2307     invoke-interface {v1, p1}, Landroid/content/IContentProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
2308     :try_end_a
2309     .catchall {:try_start_7 .. :try_end_a} :catchall_45
2310     .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_a} :catch_f
2311     .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_a} :catch_14
2313     move-result-object v2
2315     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2317     :cond_e
2318     :goto_e
2319     return-object v2
2321     :catch_f
2322     move-exception v0
2324     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2326     goto :goto_e
2328     :catch_14
2329     move-exception v0
2331     :try_start_15
2332     const-string v3, "ContentResolver"
2334     new-instance v4, Ljava/lang/StringBuilder;
2336     invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2338     const-string v5, "Failed to get type for: "
2340     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2342     move-result-object v4
2344     invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2346     move-result-object v4
2348     const-string v5, " ("
2350     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2352     move-result-object v4
2354     invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
2356     move-result-object v5
2358     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2360     move-result-object v4
2362     const-string v5, ")"
2364     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2366     move-result-object v4
2368     invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2370     move-result-object v4
2372     invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
2373     :try_end_41
2374     .catchall {:try_start_15 .. :try_end_41} :catchall_45
2376     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2378     goto :goto_e
2380     :catchall_45
2381     move-exception v3
2383     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2385     throw v3
2387     :cond_4a
2388     const-string v3, "content"
2390     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
2392     move-result-object v4
2394     invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2396     move-result v3
2398     if-eqz v3, :cond_e
2400     :try_start_56
2401     invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2403     move-result-object v3
2405     invoke-static {}, Landroid/os/UserHandle;->myUserId()I
2407     move-result v4
2409     invoke-interface {v3, p1, v4}, Landroid/app/IActivityManager;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
2410     :try_end_61
2411     .catch Landroid/os/RemoteException; {:try_start_56 .. :try_end_61} :catch_63
2412     .catch Ljava/lang/Exception; {:try_start_56 .. :try_end_61} :catch_65
2414     move-result-object v2
2416     goto :goto_e
2418     :catch_63
2419     move-exception v0
2421     goto :goto_e
2423     :catch_65
2424     move-exception v0
2426     const-string v3, "ContentResolver"
2428     new-instance v4, Ljava/lang/StringBuilder;
2430     invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2432     const-string v5, "Failed to get type for: "
2434     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2436     move-result-object v4
2438     invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2440     move-result-object v4
2442     const-string v5, " ("
2444     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2446     move-result-object v4
2448     invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
2450     move-result-object v5
2452     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2454     move-result-object v4
2456     const-string v5, ")"
2458     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2460     move-result-object v4
2462     invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2464     move-result-object v4
2466     invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
2468     goto/16 :goto_e
2469 .end method
2471 .method public final insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
2472     .registers 15
2474     const/4 v11, 0x0
2476     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2478     move-result-object v8
2480     if-nez v8, :cond_20
2482     new-instance v0, Ljava/lang/IllegalArgumentException;
2484     new-instance v3, Ljava/lang/StringBuilder;
2486     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
2488     const-string v4, "Unknown URL "
2490     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2492     move-result-object v3
2494     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2496     move-result-object v3
2498     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2500     move-result-object v3
2502     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
2504     throw v0
2506     :cond_20
2507     :try_start_20
2508     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2510     move-result-wide v9
2512     invoke-interface {v8, p1, p2}, Landroid/content/IContentProvider;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
2514     move-result-object v6
2516     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2518     move-result-wide v3
2520     sub-long v1, v3, v9
2522     const-string v4, "insert"
2524     const/4 v5, 0x0
2526     move-object v0, p0
2528     move-object v3, p1
2530     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
2531     :try_end_36
2532     .catchall {:try_start_20 .. :try_end_36} :catchall_40
2533     .catch Landroid/os/RemoteException; {:try_start_20 .. :try_end_36} :catch_3a
2535     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2537     :goto_39
2538     return-object v6
2540     :catch_3a
2541     move-exception v7
2543     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2545     move-object v6, v11
2547     goto :goto_39
2549     :catchall_40
2550     move-exception v0
2552     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2554     throw v0
2555 .end method
2557 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;)V
2558     .registers 4
2560     const/4 v0, 0x1
2562     invoke-virtual {p0, p1, p2, v0}, Landroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
2564     return-void
2565 .end method
2567 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
2568     .registers 5
2570     invoke-static {}, Landroid/os/UserHandle;->getCallingUserId()I
2572     move-result v0
2574     invoke-virtual {p0, p1, p2, p3, v0}, Landroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;ZI)V
2576     return-void
2577 .end method
2579 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;ZI)V
2580     .registers 11
2582     :try_start_0
2583     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
2585     move-result-object v0
2587     if-nez p2, :cond_17
2589     const/4 v2, 0x0
2591     :goto_7
2592     if-eqz p2, :cond_1c
2594     invoke-virtual {p2}, Landroid/database/ContentObserver;->deliverSelfNotifications()Z
2596     move-result v1
2598     if-eqz v1, :cond_1c
2600     const/4 v3, 0x1
2602     :goto_10
2603     move-object v1, p1
2605     move v4, p3
2607     move v5, p4
2609     invoke-interface/range {v0 .. v5}, Landroid/content/IContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZZI)V
2611     :goto_16
2612     return-void
2614     :cond_17
2615     invoke-virtual {p2}, Landroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
2616     :try_end_1a
2617     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_1a} :catch_1e
2619     move-result-object v2
2621     goto :goto_7
2623     :cond_1c
2624     const/4 v3, 0x0
2626     goto :goto_10
2628     :catch_1e
2629     move-exception v0
2631     goto :goto_16
2632 .end method
2634 .method public final openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2635     .registers 16
2636     .annotation system Ldalvik/annotation/Throws;
2637         value = {
2638             Ljava/io/FileNotFoundException;
2639         }
2640     .end annotation
2642     const/4 v0, 0x0
2644     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
2646     move-result-object v10
2648     const-string v2, "android.resource"
2650     invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2652     move-result v2
2654     if-eqz v2, :cond_56
2656     const-string/jumbo v0, "r"
2658     invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2660     move-result v0
2662     if-nez v0, :cond_2f
2664     new-instance v0, Ljava/io/FileNotFoundException;
2666     new-instance v2, Ljava/lang/StringBuilder;
2668     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2670     const-string v3, "Can\'t write resources: "
2672     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2674     move-result-object v2
2676     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2678     move-result-object v2
2680     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2682     move-result-object v2
2684     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2686     throw v0
2688     :cond_2f
2689     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
2691     move-result-object v9
2693     :try_start_33
2694     iget-object v0, v9, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
2696     iget v2, v9, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
2698     invoke-virtual {v0, v2}, Landroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;
2699     :try_end_3a
2700     .catch Landroid/content/res/Resources$NotFoundException; {:try_start_33 .. :try_end_3a} :catch_3c
2702     move-result-object v0
2704     :cond_3b
2705     :goto_3b
2706     return-object v0
2708     :catch_3c
2709     move-exception v7
2711     new-instance v0, Ljava/io/FileNotFoundException;
2713     new-instance v2, Ljava/lang/StringBuilder;
2715     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2717     const-string v3, "Resource does not exist: "
2719     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2721     move-result-object v2
2723     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2725     move-result-object v2
2727     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2729     move-result-object v2
2731     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2733     throw v0
2735     :cond_56
2736     const-string v2, "file"
2738     invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2740     move-result v2
2742     if-eqz v2, :cond_79
2744     new-instance v0, Ljava/io/File;
2746     invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
2748     move-result-object v2
2750     invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2752     invoke-static {p1, p2}, Landroid/content/ContentResolver;->modeToMode(Landroid/net/Uri;Ljava/lang/String;)I
2754     move-result v2
2756     invoke-static {v0, v2}, Landroid/os/ParcelFileDescriptor;->open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
2758     move-result-object v1
2760     new-instance v0, Landroid/content/res/AssetFileDescriptor;
2762     const-wide/16 v2, 0x0
2764     const-wide/16 v4, -0x1
2766     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
2768     goto :goto_3b
2770     :cond_79
2771     const-string/jumbo v2, "r"
2773     invoke-virtual {v2, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2775     move-result v2
2777     if-eqz v2, :cond_89
2779     const-string v2, "*/*"
2781     invoke-virtual {p0, p1, v2, v0}, Landroid/content/ContentResolver;->openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
2783     move-result-object v0
2785     goto :goto_3b
2787     :cond_89
2788     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2790     move-result-object v12
2792     if-nez v12, :cond_a8
2794     new-instance v0, Ljava/io/FileNotFoundException;
2796     new-instance v2, Ljava/lang/StringBuilder;
2798     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2800     const-string v3, "No content provider: "
2802     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2804     move-result-object v2
2806     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2808     move-result-object v2
2810     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2812     move-result-object v2
2814     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2816     throw v0
2818     :cond_a8
2819     const/4 v11, 0x0
2821     const/4 v8, 0x0
2823     :try_start_aa
2824     invoke-interface {v12, p1, p2}, Landroid/content/IContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2825     :try_end_ad
2826     .catchall {:try_start_aa .. :try_end_ad} :catchall_f8
2827     .catch Landroid/os/DeadObjectException; {:try_start_aa .. :try_end_ad} :catch_bb
2828     .catch Landroid/os/RemoteException; {:try_start_aa .. :try_end_ad} :catch_de
2829     .catch Ljava/io/FileNotFoundException; {:try_start_aa .. :try_end_ad} :catch_142
2831     move-result-object v8
2833     if-nez v8, :cond_116
2835     if-eqz v11, :cond_b5
2837     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2839     :cond_b5
2840     if-eqz v12, :cond_3b
2842     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2844     goto :goto_3b
2846     :catch_bb
2847     move-exception v6
2849     :try_start_bc
2850     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
2852     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2854     move-result-object v11
2856     if-nez v11, :cond_104
2858     new-instance v0, Ljava/io/FileNotFoundException;
2860     new-instance v2, Ljava/lang/StringBuilder;
2862     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2864     const-string v3, "No content provider: "
2866     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2868     move-result-object v2
2870     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2872     move-result-object v2
2874     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2876     move-result-object v2
2878     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2880     throw v0
2881     :try_end_de
2882     .catchall {:try_start_bc .. :try_end_de} :catchall_f8
2883     .catch Landroid/os/RemoteException; {:try_start_bc .. :try_end_de} :catch_de
2884     .catch Ljava/io/FileNotFoundException; {:try_start_bc .. :try_end_de} :catch_142
2886     :catch_de
2887     move-exception v6
2889     :try_start_df
2890     new-instance v0, Ljava/io/FileNotFoundException;
2892     new-instance v2, Ljava/lang/StringBuilder;
2894     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2896     const-string v3, "Failed opening content provider: "
2898     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2900     move-result-object v2
2902     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2904     move-result-object v2
2906     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2908     move-result-object v2
2910     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2912     throw v0
2913     :try_end_f8
2914     .catchall {:try_start_df .. :try_end_f8} :catchall_f8
2916     :catchall_f8
2917     move-exception v0
2919     if-eqz v11, :cond_fe
2921     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2923     :cond_fe
2924     if-eqz v12, :cond_103
2926     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2928     :cond_103
2929     throw v0
2931     :cond_104
2932     :try_start_104
2933     invoke-interface {v11, p1, p2}, Landroid/content/IContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2934     :try_end_107
2935     .catchall {:try_start_104 .. :try_end_107} :catchall_f8
2936     .catch Landroid/os/RemoteException; {:try_start_104 .. :try_end_107} :catch_de
2937     .catch Ljava/io/FileNotFoundException; {:try_start_104 .. :try_end_107} :catch_142
2939     move-result-object v8
2941     if-nez v8, :cond_116
2943     if-eqz v11, :cond_10f
2945     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2947     :cond_10f
2948     if-eqz v12, :cond_3b
2950     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2952     goto/16 :goto_3b
2954     :cond_116
2955     if-nez v11, :cond_11c
2957     :try_start_118
2958     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2960     move-result-object v11
2962     :cond_11c
2963     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2965     new-instance v1, Landroid/content/ContentResolver$ParcelFileDescriptorInner;
2967     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
2969     move-result-object v0
2971     invoke-direct {v1, p0, v0, v11}, Landroid/content/ContentResolver$ParcelFileDescriptorInner;-><init>(Landroid/content/ContentResolver;Landroid/os/ParcelFileDescriptor;Landroid/content/IContentProvider;)V
2973     const/4 v11, 0x0
2975     new-instance v0, Landroid/content/res/AssetFileDescriptor;
2977     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
2979     move-result-wide v2
2981     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
2983     move-result-wide v4
2985     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
2986     :try_end_136
2987     .catchall {:try_start_118 .. :try_end_136} :catchall_f8
2988     .catch Landroid/os/RemoteException; {:try_start_118 .. :try_end_136} :catch_de
2989     .catch Ljava/io/FileNotFoundException; {:try_start_118 .. :try_end_136} :catch_142
2991     if-eqz v11, :cond_13b
2993     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2995     :cond_13b
2996     if-eqz v12, :cond_3b
2998     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3000     goto/16 :goto_3b
3002     :catch_142
3003     move-exception v6
3005     :try_start_143
3006     throw v6
3007     :try_end_144
3008     .catchall {:try_start_143 .. :try_end_144} :catchall_f8
3009 .end method
3011 .method public final openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
3012     .registers 8
3013     .annotation system Ldalvik/annotation/Throws;
3014         value = {
3015             Ljava/io/FileNotFoundException;
3016         }
3017     .end annotation
3019     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3021     move-result-object v0
3023     if-nez v0, :cond_8
3025     const/4 v1, 0x0
3027     :goto_7
3028     return-object v1
3030     :cond_8
3031     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
3033     move-result-wide v1
3035     const-wide/16 v3, 0x0
3037     cmp-long v1, v1, v3
3039     if-gez v1, :cond_17
3041     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
3043     move-result-object v1
3045     goto :goto_7
3047     :cond_17
3048     :try_start_17
3049     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->close()V
3050     :try_end_1a
3051     .catch Ljava/io/IOException; {:try_start_17 .. :try_end_1a} :catch_22
3053     :goto_1a
3054     new-instance v1, Ljava/io/FileNotFoundException;
3056     const-string v2, "Not a whole file"
3058     invoke-direct {v1, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3060     throw v1
3062     :catch_22
3063     move-exception v1
3065     goto :goto_1a
3066 .end method
3068 .method public final openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
3069     .registers 11
3070     .annotation system Ldalvik/annotation/Throws;
3071         value = {
3072             Ljava/io/FileNotFoundException;
3073         }
3074     .end annotation
3076     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
3078     move-result-object v4
3080     const-string v6, "android.resource"
3082     invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3084     move-result v6
3086     if-eqz v6, :cond_33
3088     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
3090     move-result-object v3
3092     :try_start_10
3093     iget-object v6, v3, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
3095     iget v7, v3, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
3097     invoke-virtual {v6, v7}, Landroid/content/res/Resources;->openRawResource(I)Ljava/io/InputStream;
3098     :try_end_17
3099     .catch Landroid/content/res/Resources$NotFoundException; {:try_start_10 .. :try_end_17} :catch_19
3101     move-result-object v5
3103     :goto_18
3104     return-object v5
3106     :catch_19
3107     move-exception v1
3109     new-instance v6, Ljava/io/FileNotFoundException;
3111     new-instance v7, Ljava/lang/StringBuilder;
3113     invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
3115     const-string v8, "Resource does not exist: "
3117     invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3119     move-result-object v7
3121     invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3123     move-result-object v7
3125     invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3127     move-result-object v7
3129     invoke-direct {v6, v7}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3131     throw v6
3133     :cond_33
3134     const-string v6, "file"
3136     invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3138     move-result v6
3140     if-eqz v6, :cond_45
3142     new-instance v5, Ljava/io/FileInputStream;
3144     invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
3146     move-result-object v6
3148     invoke-direct {v5, v6}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
3150     goto :goto_18
3152     :cond_45
3153     const-string/jumbo v6, "r"
3155     invoke-virtual {p0, p1, v6}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3157     move-result-object v2
3159     if-eqz v2, :cond_54
3161     :try_start_4e
3162     invoke-virtual {v2}, Landroid/content/res/AssetFileDescriptor;->createInputStream()Ljava/io/FileInputStream;
3163     :try_end_51
3164     .catch Ljava/io/IOException; {:try_start_4e .. :try_end_51} :catch_56
3166     move-result-object v6
3168     :goto_52
3169     move-object v5, v6
3171     goto :goto_18
3173     :cond_54
3174     const/4 v6, 0x0
3176     goto :goto_52
3178     :catch_56
3179     move-exception v0
3181     new-instance v6, Ljava/io/FileNotFoundException;
3183     const-string v7, "Unable to create stream"
3185     invoke-direct {v6, v7}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3187     throw v6
3188 .end method
3190 .method public final openOutputStream(Landroid/net/Uri;)Ljava/io/OutputStream;
3191     .registers 3
3192     .annotation system Ldalvik/annotation/Throws;
3193         value = {
3194             Ljava/io/FileNotFoundException;
3195         }
3196     .end annotation
3198     const-string/jumbo v0, "w"
3200     invoke-virtual {p0, p1, v0}, Landroid/content/ContentResolver;->openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;
3202     move-result-object v0
3204     return-object v0
3205 .end method
3207 .method public final openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;
3208     .registers 7
3209     .annotation system Ldalvik/annotation/Throws;
3210         value = {
3211             Ljava/io/FileNotFoundException;
3212         }
3213     .end annotation
3215     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3217     move-result-object v1
3219     if-eqz v1, :cond_b
3221     :try_start_6
3222     invoke-virtual {v1}, Landroid/content/res/AssetFileDescriptor;->createOutputStream()Ljava/io/FileOutputStream;
3223     :try_end_9
3224     .catch Ljava/io/IOException; {:try_start_6 .. :try_end_9} :catch_d
3226     move-result-object v2
3228     :goto_a
3229     return-object v2
3231     :cond_b
3232     const/4 v2, 0x0
3234     goto :goto_a
3236     :catch_d
3237     move-exception v0
3239     new-instance v2, Ljava/io/FileNotFoundException;
3241     const-string v3, "Unable to create stream"
3243     invoke-direct {v2, v3}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3245     throw v2
3246 .end method
3248 .method public final openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3249     .registers 14
3250     .annotation system Ldalvik/annotation/Throws;
3251         value = {
3252             Ljava/io/FileNotFoundException;
3253         }
3254     .end annotation
3256     const/4 v0, 0x0
3258     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3260     move-result-object v9
3262     if-nez v9, :cond_20
3264     new-instance v0, Ljava/io/FileNotFoundException;
3266     new-instance v2, Ljava/lang/StringBuilder;
3268     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3270     const-string v3, "No content provider: "
3272     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3274     move-result-object v2
3276     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3278     move-result-object v2
3280     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3282     move-result-object v2
3284     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3286     throw v0
3288     :cond_20
3289     const/4 v8, 0x0
3291     const/4 v7, 0x0
3293     :try_start_22
3294     invoke-interface {v9, p1, p2, p3}, Landroid/content/IContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3295     :try_end_25
3296     .catchall {:try_start_22 .. :try_end_25} :catchall_70
3297     .catch Landroid/os/DeadObjectException; {:try_start_22 .. :try_end_25} :catch_33
3298     .catch Landroid/os/RemoteException; {:try_start_22 .. :try_end_25} :catch_56
3299     .catch Ljava/io/FileNotFoundException; {:try_start_22 .. :try_end_25} :catch_b9
3301     move-result-object v7
3303     if-nez v7, :cond_8d
3305     if-eqz v8, :cond_2d
3307     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3309     :cond_2d
3310     if-eqz v9, :cond_32
3312     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3314     :cond_32
3315     :goto_32
3316     return-object v0
3318     :catch_33
3319     move-exception v6
3321     :try_start_34
3322     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
3324     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3326     move-result-object v8
3328     if-nez v8, :cond_7c
3330     new-instance v0, Ljava/io/FileNotFoundException;
3332     new-instance v2, Ljava/lang/StringBuilder;
3334     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3336     const-string v3, "No content provider: "
3338     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3340     move-result-object v2
3342     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3344     move-result-object v2
3346     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3348     move-result-object v2
3350     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3352     throw v0
3353     :try_end_56
3354     .catchall {:try_start_34 .. :try_end_56} :catchall_70
3355     .catch Landroid/os/RemoteException; {:try_start_34 .. :try_end_56} :catch_56
3356     .catch Ljava/io/FileNotFoundException; {:try_start_34 .. :try_end_56} :catch_b9
3358     :catch_56
3359     move-exception v6
3361     :try_start_57
3362     new-instance v0, Ljava/io/FileNotFoundException;
3364     new-instance v2, Ljava/lang/StringBuilder;
3366     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3368     const-string v3, "Failed opening content provider: "
3370     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3372     move-result-object v2
3374     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3376     move-result-object v2
3378     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3380     move-result-object v2
3382     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3384     throw v0
3385     :try_end_70
3386     .catchall {:try_start_57 .. :try_end_70} :catchall_70
3388     :catchall_70
3389     move-exception v0
3391     if-eqz v8, :cond_76
3393     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3395     :cond_76
3396     if-eqz v9, :cond_7b
3398     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3400     :cond_7b
3401     throw v0
3403     :cond_7c
3404     :try_start_7c
3405     invoke-interface {v8, p1, p2, p3}, Landroid/content/IContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3406     :try_end_7f
3407     .catchall {:try_start_7c .. :try_end_7f} :catchall_70
3408     .catch Landroid/os/RemoteException; {:try_start_7c .. :try_end_7f} :catch_56
3409     .catch Ljava/io/FileNotFoundException; {:try_start_7c .. :try_end_7f} :catch_b9
3411     move-result-object v7
3413     if-nez v7, :cond_8d
3415     if-eqz v8, :cond_87
3417     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3419     :cond_87
3420     if-eqz v9, :cond_32
3422     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3424     goto :goto_32
3426     :cond_8d
3427     if-nez v8, :cond_93
3429     :try_start_8f
3430     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3432     move-result-object v8
3434     :cond_93
3435     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3437     new-instance v1, Landroid/content/ContentResolver$ParcelFileDescriptorInner;
3439     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
3441     move-result-object v0
3443     invoke-direct {v1, p0, v0, v8}, Landroid/content/ContentResolver$ParcelFileDescriptorInner;-><init>(Landroid/content/ContentResolver;Landroid/os/ParcelFileDescriptor;Landroid/content/IContentProvider;)V
3445     const/4 v8, 0x0
3447     new-instance v0, Landroid/content/res/AssetFileDescriptor;
3449     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
3451     move-result-wide v2
3453     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
3455     move-result-wide v4
3457     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
3458     :try_end_ad
3459     .catchall {:try_start_8f .. :try_end_ad} :catchall_70
3460     .catch Landroid/os/RemoteException; {:try_start_8f .. :try_end_ad} :catch_56
3461     .catch Ljava/io/FileNotFoundException; {:try_start_8f .. :try_end_ad} :catch_b9
3463     if-eqz v8, :cond_b2
3465     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3467     :cond_b2
3468     if-eqz v9, :cond_32
3470     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3472     goto/16 :goto_32
3474     :catch_b9
3475     move-exception v6
3477     :try_start_ba
3478     throw v6
3479     :try_end_bb
3480     .catchall {:try_start_ba .. :try_end_bb} :catchall_70
3481 .end method
3483 .method public final query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3484     .registers 13
3486     const/4 v6, 0x0
3488     move-object v0, p0
3490     move-object v1, p1
3492     move-object v2, p2
3494     move-object v3, p3
3496     move-object v4, p4
3498     move-object v5, p5
3500     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;
3502     move-result-object v0
3504     return-object v0
3505 .end method
3507 .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;
3508     .registers 30
3510     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3512     move-result-object v3
3514     if-nez v3, :cond_9
3516     const/16 v22, 0x0
3518     :cond_8
3519     :goto_8
3520     return-object v22
3522     :cond_9
3523     const/4 v10, 0x0
3525     :try_start_a
3526     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3528     move-result-wide v20
3530     const/4 v9, 0x0
3532     if-eqz p6, :cond_1d
3534     invoke-virtual/range {p6 .. p6}, Landroid/os/CancellationSignal;->throwIfCanceled()V
3536     invoke-interface {v3}, Landroid/content/IContentProvider;->createCancellationSignal()Landroid/os/ICancellationSignal;
3538     move-result-object v9
3540     move-object/from16 v0, p6
3542     invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
3543     :try_end_1d
3544     .catchall {:try_start_a .. :try_end_1d} :catchall_b9
3545     .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a6
3547     :cond_1d
3548     move-object/from16 v4, p1
3550     move-object/from16 v5, p2
3552     move-object/from16 v6, p3
3554     move-object/from16 v7, p4
3556     move-object/from16 v8, p5
3558     :try_start_27
3559     invoke-interface/range {v3 .. v9}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
3560     :try_end_2a
3561     .catchall {:try_start_27 .. :try_end_2a} :catchall_b9
3562     .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
3563     .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a6
3565     move-result-object v19
3567     :goto_2b
3568     if-nez v19, :cond_6c
3570     const/16 v22, 0x0
3572     if-eqz v3, :cond_36
3574     move-object/from16 v0, p0
3576     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3578     :cond_36
3579     if-eqz v10, :cond_8
3581     move-object/from16 v0, p0
3583     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3585     goto :goto_8
3587     :catch_3e
3588     move-exception v18
3590     :try_start_3f
3591     move-object/from16 v0, p0
3593     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
3595     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3596     :try_end_47
3597     .catchall {:try_start_3f .. :try_end_47} :catchall_b9
3598     .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_a6
3600     move-result-object v10
3602     if-nez v10, :cond_5b
3604     const/16 v22, 0x0
3606     if-eqz v3, :cond_53
3608     move-object/from16 v0, p0
3610     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3612     :cond_53
3613     if-eqz v10, :cond_8
3615     move-object/from16 v0, p0
3617     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3619     goto :goto_8
3621     :cond_5b
3622     move-object/from16 v11, p1
3624     move-object/from16 v12, p2
3626     move-object/from16 v13, p3
3628     move-object/from16 v14, p4
3630     move-object/from16 v15, p5
3632     move-object/from16 v16, v9
3634     :try_start_67
3635     invoke-interface/range {v10 .. v16}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
3637     move-result-object v19
3639     goto :goto_2b
3641     :cond_6c
3642     invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
3644     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3646     move-result-wide v4
3648     sub-long v12, v4, v20
3650     move-object/from16 v11, p0
3652     move-object/from16 v14, p1
3654     move-object/from16 v15, p2
3656     move-object/from16 v16, p3
3658     move-object/from16 v17, p5
3660     invoke-direct/range {v11 .. v17}, Landroid/content/ContentResolver;->maybeLogQueryToEventLog(JLandroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3662     new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
3664     if-eqz v10, :cond_a1
3666     move-object v4, v10
3668     :goto_87
3669     move-object/from16 v0, v22
3671     move-object/from16 v1, p0
3673     move-object/from16 v2, v19
3675     invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
3676     :try_end_90
3677     .catchall {:try_start_67 .. :try_end_90} :catchall_b9
3678     .catch Landroid/os/RemoteException; {:try_start_67 .. :try_end_90} :catch_a6
3680     const/4 v10, 0x0
3682     if-eqz v3, :cond_98
3684     move-object/from16 v0, p0
3686     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3688     :cond_98
3689     if-eqz v10, :cond_8
3691     move-object/from16 v0, p0
3693     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3695     goto/16 :goto_8
3697     :cond_a1
3698     :try_start_a1
3699     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3700     :try_end_a4
3701     .catchall {:try_start_a1 .. :try_end_a4} :catchall_b9
3702     .catch Landroid/os/RemoteException; {:try_start_a1 .. :try_end_a4} :catch_a6
3704     move-result-object v4
3706     goto :goto_87
3708     :catch_a6
3709     move-exception v18
3711     const/16 v22, 0x0
3713     if-eqz v3, :cond_b0
3715     move-object/from16 v0, p0
3717     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3719     :cond_b0
3720     if-eqz v10, :cond_8
3722     move-object/from16 v0, p0
3724     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3726     goto/16 :goto_8
3728     :catchall_b9
3729     move-exception v4
3731     if-eqz v3, :cond_c1
3733     move-object/from16 v0, p0
3735     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3737     :cond_c1
3738     if-eqz v10, :cond_c8
3740     move-object/from16 v0, p0
3742     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3744     :cond_c8
3745     throw v4
3746 .end method
3748 .method public final registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
3749     .registers 5
3751     invoke-static {}, Landroid/os/UserHandle;->myUserId()I
3753     move-result v0
3755     invoke-virtual {p0, p1, p2, p3, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
3757     return-void
3758 .end method
3760 .method public final registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
3761     .registers 7
3763     :try_start_0
3764     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
3766     move-result-object v0
3768     invoke-virtual {p3}, Landroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
3770     move-result-object v1
3772     invoke-interface {v0, p1, p2, v1, p4}, Landroid/content/IContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;I)V
3773     :try_end_b
3774     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_b} :catch_c
3776     :goto_b
3777     return-void
3779     :catch_c
3780     move-exception v0
3782     goto :goto_b
3783 .end method
3785 .method public abstract releaseProvider(Landroid/content/IContentProvider;)Z
3786 .end method
3788 .method public abstract releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3789 .end method
3791 .method public startSync(Landroid/net/Uri;Landroid/os/Bundle;)V
3792     .registers 6
3793     .annotation runtime Ljava/lang/Deprecated;
3794     .end annotation
3796     const/4 v0, 0x0
3798     if-eqz p2, :cond_1b
3800     const-string v2, "account"
3802     invoke-virtual {p2, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
3804     move-result-object v1
3806     invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
3808     move-result v2
3810     if-nez v2, :cond_16
3812     new-instance v0, Landroid/accounts/Account;
3814     const-string v2, "com.google"
3816     invoke-direct {v0, v1, v2}, Landroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;)V
3818     :cond_16
3819     const-string v2, "account"
3821     invoke-virtual {p2, v2}, Landroid/os/Bundle;->remove(Ljava/lang/String;)V
3823     :cond_1b
3824     if-eqz p1, :cond_25
3826     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
3828     move-result-object v2
3830     :goto_21
3831     invoke-static {v0, v2, p2}, Landroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
3833     return-void
3835     :cond_25
3836     const/4 v2, 0x0
3838     goto :goto_21
3839 .end method
3841 .method public final unregisterContentObserver(Landroid/database/ContentObserver;)V
3842     .registers 4
3844     :try_start_0
3845     invoke-virtual {p1}, Landroid/database/ContentObserver;->releaseContentObserver()Landroid/database/IContentObserver;
3847     move-result-object v0
3849     if-eqz v0, :cond_d
3851     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
3853     move-result-object v1
3855     invoke-interface {v1, v0}, Landroid/content/IContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
3856     :try_end_d
3857     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_d} :catch_e
3859     :cond_d
3860     :goto_d
3861     return-void
3863     :catch_e
3864     move-exception v1
3866     goto :goto_d
3867 .end method
3869 .method public abstract unstableProviderDied(Landroid/content/IContentProvider;)V
3870 .end method
3872 .method public final update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
3873     .registers 16
3875     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3877     move-result-object v7
3879     if-nez v7, :cond_1f
3881     new-instance v0, Ljava/lang/IllegalArgumentException;
3883     new-instance v3, Ljava/lang/StringBuilder;
3885     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
3887     const-string v4, "Unknown URI "
3889     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3891     move-result-object v3
3893     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3895     move-result-object v3
3897     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3899     move-result-object v3
3901     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
3903     throw v0
3905     :cond_1f
3906     :try_start_1f
3907     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3909     move-result-wide v9
3911     invoke-interface {v7, p1, p2, p3, p4}, Landroid/content/IContentProvider;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
3913     move-result v8
3915     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3917     move-result-wide v3
3919     sub-long v1, v3, v9
3921     const-string/jumbo v4, "update"
3923     move-object v0, p0
3925     move-object v3, p1
3927     move-object v5, p3
3929     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
3930     :try_end_36
3931     .catchall {:try_start_1f .. :try_end_36} :catchall_40
3932     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_36} :catch_3a
3934     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3936     :goto_39
3937     return v8
3939     :catch_3a
3940     move-exception v6
3942     const/4 v8, -0x1
3944     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3946     goto :goto_39
3948     :catchall_40
3949     move-exception v0
3951     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3953     throw v0
3954 .end method