Add CEILING variable for compatibility check
[auto-patcher.git] / patches / pd2.0 / jellybean / aosp-ever / provisionals / system / framework / framework.jar.out / smali / android / content / ContentResolver.smali
blob2cbe66d4cd559517c6bb871534565c0eb90acd7d
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-interface {v3, p1}, Landroid/app/IActivityManager;->getProviderMimeType(Landroid/net/Uri;)Ljava/lang/String;
2406     :try_end_5d
2407     .catch Landroid/os/RemoteException; {:try_start_56 .. :try_end_5d} :catch_5f
2408     .catch Ljava/lang/Exception; {:try_start_56 .. :try_end_5d} :catch_61
2410     move-result-object v2
2412     goto :goto_e
2414     :catch_5f
2415     move-exception v0
2417     goto :goto_e
2419     :catch_61
2420     move-exception v0
2422     const-string v3, "ContentResolver"
2424     new-instance v4, Ljava/lang/StringBuilder;
2426     invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2428     const-string v5, "Failed to get type for: "
2430     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2432     move-result-object v4
2434     invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2436     move-result-object v4
2438     const-string v5, " ("
2440     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2442     move-result-object v4
2444     invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
2446     move-result-object v5
2448     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2450     move-result-object v4
2452     const-string v5, ")"
2454     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2456     move-result-object v4
2458     invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2460     move-result-object v4
2462     invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
2464     goto :goto_e
2465 .end method
2467 .method public final insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
2468     .registers 15
2470     const/4 v11, 0x0
2472     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2474     move-result-object v8
2476     if-nez v8, :cond_20
2478     new-instance v0, Ljava/lang/IllegalArgumentException;
2480     new-instance v3, Ljava/lang/StringBuilder;
2482     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
2484     const-string v4, "Unknown URL "
2486     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2488     move-result-object v3
2490     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2492     move-result-object v3
2494     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2496     move-result-object v3
2498     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
2500     throw v0
2502     :cond_20
2503     :try_start_20
2504     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2506     move-result-wide v9
2508     invoke-interface {v8, p1, p2}, Landroid/content/IContentProvider;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
2510     move-result-object v6
2512     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2514     move-result-wide v3
2516     sub-long v1, v3, v9
2518     const-string v4, "insert"
2520     const/4 v5, 0x0
2522     move-object v0, p0
2524     move-object v3, p1
2526     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
2527     :try_end_36
2528     .catchall {:try_start_20 .. :try_end_36} :catchall_40
2529     .catch Landroid/os/RemoteException; {:try_start_20 .. :try_end_36} :catch_3a
2531     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2533     :goto_39
2534     return-object v6
2536     :catch_3a
2537     move-exception v7
2539     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2541     move-object v6, v11
2543     goto :goto_39
2545     :catchall_40
2546     move-exception v0
2548     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2550     throw v0
2551 .end method
2553 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;)V
2554     .registers 4
2556     const/4 v0, 0x1
2558     invoke-virtual {p0, p1, p2, v0}, Landroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
2560     return-void
2561 .end method
2563 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
2564     .registers 7
2566     :try_start_0
2567     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
2569     move-result-object v2
2571     if-nez p2, :cond_15
2573     const/4 v0, 0x0
2575     move-object v1, v0
2577     :goto_8
2578     if-eqz p2, :cond_1b
2580     invoke-virtual {p2}, Landroid/database/ContentObserver;->deliverSelfNotifications()Z
2582     move-result v0
2584     if-eqz v0, :cond_1b
2586     const/4 v0, 0x1
2588     :goto_11
2589     invoke-interface {v2, p1, v1, v0, p3}, Landroid/content/IContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZZ)V
2591     :goto_14
2592     return-void
2594     :cond_15
2595     invoke-virtual {p2}, Landroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
2596     :try_end_18
2597     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_18} :catch_1d
2599     move-result-object v0
2601     move-object v1, v0
2603     goto :goto_8
2605     :cond_1b
2606     const/4 v0, 0x0
2608     goto :goto_11
2610     :catch_1d
2611     move-exception v0
2613     goto :goto_14
2614 .end method
2616 .method public final openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2617     .registers 16
2618     .annotation system Ldalvik/annotation/Throws;
2619         value = {
2620             Ljava/io/FileNotFoundException;
2621         }
2622     .end annotation
2624     const/4 v0, 0x0
2626     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
2628     move-result-object v10
2630     const-string v2, "android.resource"
2632     invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2634     move-result v2
2636     if-eqz v2, :cond_56
2638     const-string/jumbo v0, "r"
2640     invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2642     move-result v0
2644     if-nez v0, :cond_2f
2646     new-instance v0, Ljava/io/FileNotFoundException;
2648     new-instance v2, Ljava/lang/StringBuilder;
2650     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2652     const-string v3, "Can\'t write resources: "
2654     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2656     move-result-object v2
2658     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2660     move-result-object v2
2662     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2664     move-result-object v2
2666     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2668     throw v0
2670     :cond_2f
2671     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
2673     move-result-object v9
2675     :try_start_33
2676     iget-object v0, v9, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
2678     iget v2, v9, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
2680     invoke-virtual {v0, v2}, Landroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;
2681     :try_end_3a
2682     .catch Landroid/content/res/Resources$NotFoundException; {:try_start_33 .. :try_end_3a} :catch_3c
2684     move-result-object v0
2686     :cond_3b
2687     :goto_3b
2688     return-object v0
2690     :catch_3c
2691     move-exception v7
2693     new-instance v0, Ljava/io/FileNotFoundException;
2695     new-instance v2, Ljava/lang/StringBuilder;
2697     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2699     const-string v3, "Resource does not exist: "
2701     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2703     move-result-object v2
2705     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2707     move-result-object v2
2709     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2711     move-result-object v2
2713     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2715     throw v0
2717     :cond_56
2718     const-string v2, "file"
2720     invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2722     move-result v2
2724     if-eqz v2, :cond_79
2726     new-instance v0, Ljava/io/File;
2728     invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
2730     move-result-object v2
2732     invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2734     invoke-static {p1, p2}, Landroid/content/ContentResolver;->modeToMode(Landroid/net/Uri;Ljava/lang/String;)I
2736     move-result v2
2738     invoke-static {v0, v2}, Landroid/os/ParcelFileDescriptor;->open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
2740     move-result-object v1
2742     new-instance v0, Landroid/content/res/AssetFileDescriptor;
2744     const-wide/16 v2, 0x0
2746     const-wide/16 v4, -0x1
2748     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
2750     goto :goto_3b
2752     :cond_79
2753     const-string/jumbo v2, "r"
2755     invoke-virtual {v2, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2757     move-result v2
2759     if-eqz v2, :cond_89
2761     const-string v2, "*/*"
2763     invoke-virtual {p0, p1, v2, v0}, Landroid/content/ContentResolver;->openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
2765     move-result-object v0
2767     goto :goto_3b
2769     :cond_89
2770     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2772     move-result-object v12
2774     if-nez v12, :cond_a8
2776     new-instance v0, Ljava/io/FileNotFoundException;
2778     new-instance v2, Ljava/lang/StringBuilder;
2780     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2782     const-string v3, "No content provider: "
2784     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2786     move-result-object v2
2788     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2790     move-result-object v2
2792     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2794     move-result-object v2
2796     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2798     throw v0
2800     :cond_a8
2801     const/4 v11, 0x0
2803     const/4 v8, 0x0
2805     :try_start_aa
2806     invoke-interface {v12, p1, p2}, Landroid/content/IContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2807     :try_end_ad
2808     .catchall {:try_start_aa .. :try_end_ad} :catchall_f8
2809     .catch Landroid/os/DeadObjectException; {:try_start_aa .. :try_end_ad} :catch_bb
2810     .catch Landroid/os/RemoteException; {:try_start_aa .. :try_end_ad} :catch_de
2811     .catch Ljava/io/FileNotFoundException; {:try_start_aa .. :try_end_ad} :catch_142
2813     move-result-object v8
2815     if-nez v8, :cond_116
2817     if-eqz v11, :cond_b5
2819     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2821     :cond_b5
2822     if-eqz v12, :cond_3b
2824     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2826     goto :goto_3b
2828     :catch_bb
2829     move-exception v6
2831     :try_start_bc
2832     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
2834     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2836     move-result-object v11
2838     if-nez v11, :cond_104
2840     new-instance v0, Ljava/io/FileNotFoundException;
2842     new-instance v2, Ljava/lang/StringBuilder;
2844     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2846     const-string v3, "No content provider: "
2848     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2850     move-result-object v2
2852     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2854     move-result-object v2
2856     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2858     move-result-object v2
2860     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2862     throw v0
2863     :try_end_de
2864     .catchall {:try_start_bc .. :try_end_de} :catchall_f8
2865     .catch Landroid/os/RemoteException; {:try_start_bc .. :try_end_de} :catch_de
2866     .catch Ljava/io/FileNotFoundException; {:try_start_bc .. :try_end_de} :catch_142
2868     :catch_de
2869     move-exception v6
2871     :try_start_df
2872     new-instance v0, Ljava/io/FileNotFoundException;
2874     new-instance v2, Ljava/lang/StringBuilder;
2876     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2878     const-string v3, "Failed opening content provider: "
2880     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2882     move-result-object v2
2884     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2886     move-result-object v2
2888     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2890     move-result-object v2
2892     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2894     throw v0
2895     :try_end_f8
2896     .catchall {:try_start_df .. :try_end_f8} :catchall_f8
2898     :catchall_f8
2899     move-exception v0
2901     if-eqz v11, :cond_fe
2903     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2905     :cond_fe
2906     if-eqz v12, :cond_103
2908     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2910     :cond_103
2911     throw v0
2913     :cond_104
2914     :try_start_104
2915     invoke-interface {v11, p1, p2}, Landroid/content/IContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2916     :try_end_107
2917     .catchall {:try_start_104 .. :try_end_107} :catchall_f8
2918     .catch Landroid/os/RemoteException; {:try_start_104 .. :try_end_107} :catch_de
2919     .catch Ljava/io/FileNotFoundException; {:try_start_104 .. :try_end_107} :catch_142
2921     move-result-object v8
2923     if-nez v8, :cond_116
2925     if-eqz v11, :cond_10f
2927     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2929     :cond_10f
2930     if-eqz v12, :cond_3b
2932     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2934     goto/16 :goto_3b
2936     :cond_116
2937     if-nez v11, :cond_11c
2939     :try_start_118
2940     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2942     move-result-object v11
2944     :cond_11c
2945     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2947     new-instance v1, Landroid/content/ContentResolver$ParcelFileDescriptorInner;
2949     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
2951     move-result-object v0
2953     invoke-direct {v1, p0, v0, v11}, Landroid/content/ContentResolver$ParcelFileDescriptorInner;-><init>(Landroid/content/ContentResolver;Landroid/os/ParcelFileDescriptor;Landroid/content/IContentProvider;)V
2955     const/4 v11, 0x0
2957     new-instance v0, Landroid/content/res/AssetFileDescriptor;
2959     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
2961     move-result-wide v2
2963     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
2965     move-result-wide v4
2967     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
2968     :try_end_136
2969     .catchall {:try_start_118 .. :try_end_136} :catchall_f8
2970     .catch Landroid/os/RemoteException; {:try_start_118 .. :try_end_136} :catch_de
2971     .catch Ljava/io/FileNotFoundException; {:try_start_118 .. :try_end_136} :catch_142
2973     if-eqz v11, :cond_13b
2975     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2977     :cond_13b
2978     if-eqz v12, :cond_3b
2980     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2982     goto/16 :goto_3b
2984     :catch_142
2985     move-exception v6
2987     :try_start_143
2988     throw v6
2989     :try_end_144
2990     .catchall {:try_start_143 .. :try_end_144} :catchall_f8
2991 .end method
2993 .method public final openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
2994     .registers 8
2995     .annotation system Ldalvik/annotation/Throws;
2996         value = {
2997             Ljava/io/FileNotFoundException;
2998         }
2999     .end annotation
3001     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3003     move-result-object v0
3005     if-nez v0, :cond_8
3007     const/4 v1, 0x0
3009     :goto_7
3010     return-object v1
3012     :cond_8
3013     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
3015     move-result-wide v1
3017     const-wide/16 v3, 0x0
3019     cmp-long v1, v1, v3
3021     if-gez v1, :cond_17
3023     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
3025     move-result-object v1
3027     goto :goto_7
3029     :cond_17
3030     :try_start_17
3031     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->close()V
3032     :try_end_1a
3033     .catch Ljava/io/IOException; {:try_start_17 .. :try_end_1a} :catch_22
3035     :goto_1a
3036     new-instance v1, Ljava/io/FileNotFoundException;
3038     const-string v2, "Not a whole file"
3040     invoke-direct {v1, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3042     throw v1
3044     :catch_22
3045     move-exception v1
3047     goto :goto_1a
3048 .end method
3050 .method public final openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
3051     .registers 11
3052     .annotation system Ldalvik/annotation/Throws;
3053         value = {
3054             Ljava/io/FileNotFoundException;
3055         }
3056     .end annotation
3058     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
3060     move-result-object v4
3062     const-string v6, "android.resource"
3064     invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3066     move-result v6
3068     if-eqz v6, :cond_33
3070     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
3072     move-result-object v3
3074     :try_start_10
3075     iget-object v6, v3, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
3077     iget v7, v3, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
3079     invoke-virtual {v6, v7}, Landroid/content/res/Resources;->openRawResource(I)Ljava/io/InputStream;
3080     :try_end_17
3081     .catch Landroid/content/res/Resources$NotFoundException; {:try_start_10 .. :try_end_17} :catch_19
3083     move-result-object v5
3085     :goto_18
3086     return-object v5
3088     :catch_19
3089     move-exception v1
3091     new-instance v6, Ljava/io/FileNotFoundException;
3093     new-instance v7, Ljava/lang/StringBuilder;
3095     invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
3097     const-string v8, "Resource does not exist: "
3099     invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3101     move-result-object v7
3103     invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3105     move-result-object v7
3107     invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3109     move-result-object v7
3111     invoke-direct {v6, v7}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3113     throw v6
3115     :cond_33
3116     const-string v6, "file"
3118     invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3120     move-result v6
3122     if-eqz v6, :cond_45
3124     new-instance v5, Ljava/io/FileInputStream;
3126     invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
3128     move-result-object v6
3130     invoke-direct {v5, v6}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
3132     goto :goto_18
3134     :cond_45
3135     const-string/jumbo v6, "r"
3137     invoke-virtual {p0, p1, v6}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3139     move-result-object v2
3141     if-eqz v2, :cond_54
3143     :try_start_4e
3144     invoke-virtual {v2}, Landroid/content/res/AssetFileDescriptor;->createInputStream()Ljava/io/FileInputStream;
3145     :try_end_51
3146     .catch Ljava/io/IOException; {:try_start_4e .. :try_end_51} :catch_56
3148     move-result-object v6
3150     :goto_52
3151     move-object v5, v6
3153     goto :goto_18
3155     :cond_54
3156     const/4 v6, 0x0
3158     goto :goto_52
3160     :catch_56
3161     move-exception v0
3163     new-instance v6, Ljava/io/FileNotFoundException;
3165     const-string v7, "Unable to create stream"
3167     invoke-direct {v6, v7}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3169     throw v6
3170 .end method
3172 .method public final openOutputStream(Landroid/net/Uri;)Ljava/io/OutputStream;
3173     .registers 3
3174     .annotation system Ldalvik/annotation/Throws;
3175         value = {
3176             Ljava/io/FileNotFoundException;
3177         }
3178     .end annotation
3180     const-string/jumbo v0, "w"
3182     invoke-virtual {p0, p1, v0}, Landroid/content/ContentResolver;->openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;
3184     move-result-object v0
3186     return-object v0
3187 .end method
3189 .method public final openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;
3190     .registers 7
3191     .annotation system Ldalvik/annotation/Throws;
3192         value = {
3193             Ljava/io/FileNotFoundException;
3194         }
3195     .end annotation
3197     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3199     move-result-object v1
3201     if-eqz v1, :cond_b
3203     :try_start_6
3204     invoke-virtual {v1}, Landroid/content/res/AssetFileDescriptor;->createOutputStream()Ljava/io/FileOutputStream;
3205     :try_end_9
3206     .catch Ljava/io/IOException; {:try_start_6 .. :try_end_9} :catch_d
3208     move-result-object v2
3210     :goto_a
3211     return-object v2
3213     :cond_b
3214     const/4 v2, 0x0
3216     goto :goto_a
3218     :catch_d
3219     move-exception v0
3221     new-instance v2, Ljava/io/FileNotFoundException;
3223     const-string v3, "Unable to create stream"
3225     invoke-direct {v2, v3}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3227     throw v2
3228 .end method
3230 .method public final openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3231     .registers 14
3232     .annotation system Ldalvik/annotation/Throws;
3233         value = {
3234             Ljava/io/FileNotFoundException;
3235         }
3236     .end annotation
3238     const/4 v0, 0x0
3240     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3242     move-result-object v9
3244     if-nez v9, :cond_20
3246     new-instance v0, Ljava/io/FileNotFoundException;
3248     new-instance v2, Ljava/lang/StringBuilder;
3250     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3252     const-string v3, "No content provider: "
3254     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3256     move-result-object v2
3258     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3260     move-result-object v2
3262     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3264     move-result-object v2
3266     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3268     throw v0
3270     :cond_20
3271     const/4 v8, 0x0
3273     const/4 v7, 0x0
3275     :try_start_22
3276     invoke-interface {v9, p1, p2, p3}, Landroid/content/IContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3277     :try_end_25
3278     .catchall {:try_start_22 .. :try_end_25} :catchall_70
3279     .catch Landroid/os/DeadObjectException; {:try_start_22 .. :try_end_25} :catch_33
3280     .catch Landroid/os/RemoteException; {:try_start_22 .. :try_end_25} :catch_56
3281     .catch Ljava/io/FileNotFoundException; {:try_start_22 .. :try_end_25} :catch_b9
3283     move-result-object v7
3285     if-nez v7, :cond_8d
3287     if-eqz v8, :cond_2d
3289     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3291     :cond_2d
3292     if-eqz v9, :cond_32
3294     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3296     :cond_32
3297     :goto_32
3298     return-object v0
3300     :catch_33
3301     move-exception v6
3303     :try_start_34
3304     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
3306     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3308     move-result-object v8
3310     if-nez v8, :cond_7c
3312     new-instance v0, Ljava/io/FileNotFoundException;
3314     new-instance v2, Ljava/lang/StringBuilder;
3316     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3318     const-string v3, "No content provider: "
3320     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3322     move-result-object v2
3324     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3326     move-result-object v2
3328     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3330     move-result-object v2
3332     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3334     throw v0
3335     :try_end_56
3336     .catchall {:try_start_34 .. :try_end_56} :catchall_70
3337     .catch Landroid/os/RemoteException; {:try_start_34 .. :try_end_56} :catch_56
3338     .catch Ljava/io/FileNotFoundException; {:try_start_34 .. :try_end_56} :catch_b9
3340     :catch_56
3341     move-exception v6
3343     :try_start_57
3344     new-instance v0, Ljava/io/FileNotFoundException;
3346     new-instance v2, Ljava/lang/StringBuilder;
3348     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3350     const-string v3, "Failed opening content provider: "
3352     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3354     move-result-object v2
3356     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3358     move-result-object v2
3360     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3362     move-result-object v2
3364     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3366     throw v0
3367     :try_end_70
3368     .catchall {:try_start_57 .. :try_end_70} :catchall_70
3370     :catchall_70
3371     move-exception v0
3373     if-eqz v8, :cond_76
3375     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3377     :cond_76
3378     if-eqz v9, :cond_7b
3380     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3382     :cond_7b
3383     throw v0
3385     :cond_7c
3386     :try_start_7c
3387     invoke-interface {v8, p1, p2, p3}, Landroid/content/IContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3388     :try_end_7f
3389     .catchall {:try_start_7c .. :try_end_7f} :catchall_70
3390     .catch Landroid/os/RemoteException; {:try_start_7c .. :try_end_7f} :catch_56
3391     .catch Ljava/io/FileNotFoundException; {:try_start_7c .. :try_end_7f} :catch_b9
3393     move-result-object v7
3395     if-nez v7, :cond_8d
3397     if-eqz v8, :cond_87
3399     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3401     :cond_87
3402     if-eqz v9, :cond_32
3404     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3406     goto :goto_32
3408     :cond_8d
3409     if-nez v8, :cond_93
3411     :try_start_8f
3412     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3414     move-result-object v8
3416     :cond_93
3417     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3419     new-instance v1, Landroid/content/ContentResolver$ParcelFileDescriptorInner;
3421     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
3423     move-result-object v0
3425     invoke-direct {v1, p0, v0, v8}, Landroid/content/ContentResolver$ParcelFileDescriptorInner;-><init>(Landroid/content/ContentResolver;Landroid/os/ParcelFileDescriptor;Landroid/content/IContentProvider;)V
3427     const/4 v8, 0x0
3429     new-instance v0, Landroid/content/res/AssetFileDescriptor;
3431     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
3433     move-result-wide v2
3435     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
3437     move-result-wide v4
3439     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
3440     :try_end_ad
3441     .catchall {:try_start_8f .. :try_end_ad} :catchall_70
3442     .catch Landroid/os/RemoteException; {:try_start_8f .. :try_end_ad} :catch_56
3443     .catch Ljava/io/FileNotFoundException; {:try_start_8f .. :try_end_ad} :catch_b9
3445     if-eqz v8, :cond_b2
3447     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3449     :cond_b2
3450     if-eqz v9, :cond_32
3452     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3454     goto/16 :goto_32
3456     :catch_b9
3457     move-exception v6
3459     :try_start_ba
3460     throw v6
3461     :try_end_bb
3462     .catchall {:try_start_ba .. :try_end_bb} :catchall_70
3463 .end method
3465 .method public final query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3466     .registers 13
3468     const/4 v6, 0x0
3470     move-object v0, p0
3472     move-object v1, p1
3474     move-object v2, p2
3476     move-object v3, p3
3478     move-object v4, p4
3480     move-object v5, p5
3482     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;
3484     move-result-object v0
3486     return-object v0
3487 .end method
3489 .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;
3490     .registers 30
3492     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3494     move-result-object v3
3496     if-nez v3, :cond_9
3498     const/16 v22, 0x0
3500     :cond_8
3501     :goto_8
3502     return-object v22
3504     :cond_9
3505     const/4 v10, 0x0
3507     :try_start_a
3508     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3510     move-result-wide v20
3512     const/4 v9, 0x0
3514     if-eqz p6, :cond_1d
3516     invoke-virtual/range {p6 .. p6}, Landroid/os/CancellationSignal;->throwIfCanceled()V
3518     invoke-interface {v3}, Landroid/content/IContentProvider;->createCancellationSignal()Landroid/os/ICancellationSignal;
3520     move-result-object v9
3522     move-object/from16 v0, p6
3524     invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
3525     :try_end_1d
3526     .catchall {:try_start_a .. :try_end_1d} :catchall_d5
3527     .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_c2
3529     :cond_1d
3530     move-object/from16 v4, p1
3532     move-object/from16 v5, p2
3534     move-object/from16 v6, p3
3536     move-object/from16 v7, p4
3538     move-object/from16 v8, p5
3540     :try_start_27
3541     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;
3543     move-result-object v19
3545     move-object/from16 v0, p0
3547     iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
3549     move-object/from16 v0, p1
3551     move-object/from16 v1, p2
3553     move-object/from16 v2, v19
3555     invoke-static {v0, v1, v4, v2}, Landroid/privacy/surrogate/PrivacyContentResolver;->enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
3556     :try_end_38
3557     .catchall {:try_start_27 .. :try_end_38} :catchall_d5
3558     .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_38} :catch_4c
3559     .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_38} :catch_c2
3561     move-result-object v19
3563     :goto_39
3564     if-nez v19, :cond_88
3566     const/16 v22, 0x0
3568     if-eqz v3, :cond_44
3570     move-object/from16 v0, p0
3572     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3574     :cond_44
3575     if-eqz v10, :cond_8
3577     move-object/from16 v0, p0
3579     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3581     goto :goto_8
3583     :catch_4c
3584     move-exception v18
3586     :try_start_4d
3587     move-object/from16 v0, p0
3589     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
3591     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3592     :try_end_55
3593     .catchall {:try_start_4d .. :try_end_55} :catchall_d5
3594     .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_c2
3596     move-result-object v10
3598     if-nez v10, :cond_69
3600     const/16 v22, 0x0
3602     if-eqz v3, :cond_61
3604     move-object/from16 v0, p0
3606     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3608     :cond_61
3609     if-eqz v10, :cond_8
3611     move-object/from16 v0, p0
3613     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3615     goto :goto_8
3617     :cond_69
3618     move-object/from16 v11, p1
3620     move-object/from16 v12, p2
3622     move-object/from16 v13, p3
3624     move-object/from16 v14, p4
3626     move-object/from16 v15, p5
3628     move-object/from16 v16, v9
3630     :try_start_75
3631     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;
3633     move-result-object v19
3635     move-object/from16 v0, p0
3637     iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
3639     move-object/from16 v0, p1
3641     move-object/from16 v1, p2
3643     move-object/from16 v2, v19
3645     invoke-static {v0, v1, v4, v2}, Landroid/privacy/surrogate/PrivacyContentResolver;->enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
3647     move-result-object v19
3649     goto :goto_39
3651     :cond_88
3652     invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
3654     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3656     move-result-wide v4
3658     sub-long v12, v4, v20
3660     move-object/from16 v11, p0
3662     move-object/from16 v14, p1
3664     move-object/from16 v15, p2
3666     move-object/from16 v16, p3
3668     move-object/from16 v17, p5
3670     invoke-direct/range {v11 .. v17}, Landroid/content/ContentResolver;->maybeLogQueryToEventLog(JLandroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3672     new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
3674     if-eqz v10, :cond_bd
3676     move-object v4, v10
3678     :goto_a3
3679     move-object/from16 v0, v22
3681     move-object/from16 v1, p0
3683     move-object/from16 v2, v19
3685     invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
3686     :try_end_ac
3687     .catchall {:try_start_75 .. :try_end_ac} :catchall_d5
3688     .catch Landroid/os/RemoteException; {:try_start_75 .. :try_end_ac} :catch_c2
3690     const/4 v10, 0x0
3692     if-eqz v3, :cond_b4
3694     move-object/from16 v0, p0
3696     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3698     :cond_b4
3699     if-eqz v10, :cond_8
3701     move-object/from16 v0, p0
3703     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3705     goto/16 :goto_8
3707     :cond_bd
3708     :try_start_bd
3709     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3710     :try_end_c0
3711     .catchall {:try_start_bd .. :try_end_c0} :catchall_d5
3712     .catch Landroid/os/RemoteException; {:try_start_bd .. :try_end_c0} :catch_c2
3714     move-result-object v4
3716     goto :goto_a3
3718     :catch_c2
3719     move-exception v18
3721     const/16 v22, 0x0
3723     if-eqz v3, :cond_cc
3725     move-object/from16 v0, p0
3727     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3729     :cond_cc
3730     if-eqz v10, :cond_8
3732     move-object/from16 v0, p0
3734     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3736     goto/16 :goto_8
3738     :catchall_d5
3739     move-exception v4
3741     if-eqz v3, :cond_dd
3743     move-object/from16 v0, p0
3745     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3747     :cond_dd
3748     if-eqz v10, :cond_e4
3750     move-object/from16 v0, p0
3752     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3754     :cond_e4
3755     throw v4
3756 .end method
3758 .method public final registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
3759     .registers 6
3761     :try_start_0
3762     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
3764     move-result-object v0
3766     invoke-virtual {p3}, Landroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
3768     move-result-object v1
3770     invoke-interface {v0, p1, p2, v1}, Landroid/content/IContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;)V
3771     :try_end_b
3772     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_b} :catch_c
3774     :goto_b
3775     return-void
3777     :catch_c
3778     move-exception v0
3780     goto :goto_b
3781 .end method
3783 .method public abstract releaseProvider(Landroid/content/IContentProvider;)Z
3784 .end method
3786 .method public abstract releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3787 .end method
3789 .method public startSync(Landroid/net/Uri;Landroid/os/Bundle;)V
3790     .registers 6
3791     .annotation runtime Ljava/lang/Deprecated;
3792     .end annotation
3794     const/4 v0, 0x0
3796     if-eqz p2, :cond_1b
3798     const-string v2, "account"
3800     invoke-virtual {p2, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
3802     move-result-object v1
3804     invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
3806     move-result v2
3808     if-nez v2, :cond_16
3810     new-instance v0, Landroid/accounts/Account;
3812     const-string v2, "com.google"
3814     invoke-direct {v0, v1, v2}, Landroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;)V
3816     :cond_16
3817     const-string v2, "account"
3819     invoke-virtual {p2, v2}, Landroid/os/Bundle;->remove(Ljava/lang/String;)V
3821     :cond_1b
3822     if-eqz p1, :cond_25
3824     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
3826     move-result-object v2
3828     :goto_21
3829     invoke-static {v0, v2, p2}, Landroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
3831     return-void
3833     :cond_25
3834     const/4 v2, 0x0
3836     goto :goto_21
3837 .end method
3839 .method public final unregisterContentObserver(Landroid/database/ContentObserver;)V
3840     .registers 4
3842     :try_start_0
3843     invoke-virtual {p1}, Landroid/database/ContentObserver;->releaseContentObserver()Landroid/database/IContentObserver;
3845     move-result-object v0
3847     if-eqz v0, :cond_d
3849     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
3851     move-result-object v1
3853     invoke-interface {v1, v0}, Landroid/content/IContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
3854     :try_end_d
3855     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_d} :catch_e
3857     :cond_d
3858     :goto_d
3859     return-void
3861     :catch_e
3862     move-exception v1
3864     goto :goto_d
3865 .end method
3867 .method public abstract unstableProviderDied(Landroid/content/IContentProvider;)V
3868 .end method
3870 .method public final update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
3871     .registers 16
3873     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3875     move-result-object v7
3877     if-nez v7, :cond_1f
3879     new-instance v0, Ljava/lang/IllegalArgumentException;
3881     new-instance v3, Ljava/lang/StringBuilder;
3883     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
3885     const-string v4, "Unknown URI "
3887     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3889     move-result-object v3
3891     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3893     move-result-object v3
3895     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3897     move-result-object v3
3899     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
3901     throw v0
3903     :cond_1f
3904     :try_start_1f
3905     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3907     move-result-wide v9
3909     invoke-interface {v7, p1, p2, p3, p4}, Landroid/content/IContentProvider;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
3911     move-result v8
3913     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3915     move-result-wide v3
3917     sub-long v1, v3, v9
3919     const-string/jumbo v4, "update"
3921     move-object v0, p0
3923     move-object v3, p1
3925     move-object v5, p3
3927     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
3928     :try_end_36
3929     .catchall {:try_start_1f .. :try_end_36} :catchall_40
3930     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_36} :catch_3a
3932     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3934     :goto_39
3935     return v8
3937     :catch_3a
3938     move-exception v6
3940     const/4 v8, -0x1
3942     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3944     goto :goto_39
3946     :catchall_40
3947     move-exception v0
3949     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3951     throw v0
3952 .end method