Merge branch 'master' of https://github.com/mateor/auto-patcher
[auto-patcher.git] / patches / openpdroid / 4.1 / provisionals / system / framework / framework.jar.out / smali / android / content / ContentResolver.smali
blobee2648f3103b7d61f04634d173d28dd66fde377c
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_3c
1782     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_35} :catch_39
1784     :goto_35
1785     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1787     return v8
1789     :catch_39
1790     move-exception v6
1792     const/4 v8, 0x0
1794     goto :goto_35
1796     :catchall_3c
1797     move-exception v0
1799     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1801     throw v0
1802 .end method
1804 .method public final call(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
1805     .registers 10
1807     if-nez p1, :cond_b
1809     new-instance v2, Ljava/lang/NullPointerException;
1811     const-string/jumbo v3, "uri == null"
1813     invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
1815     throw v2
1817     :cond_b
1818     if-nez p2, :cond_16
1820     new-instance v2, Ljava/lang/NullPointerException;
1822     const-string/jumbo v3, "method == null"
1824     invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
1826     throw v2
1828     :cond_16
1829     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1831     move-result-object v1
1833     if-nez v1, :cond_35
1835     new-instance v2, Ljava/lang/IllegalArgumentException;
1837     new-instance v3, Ljava/lang/StringBuilder;
1839     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
1841     const-string v4, "Unknown URI "
1843     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1845     move-result-object v3
1847     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1849     move-result-object v3
1851     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1853     move-result-object v3
1855     invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1857     throw v2
1859     :cond_35
1860     :try_start_35
1861     invoke-interface {v1, p2, p3, p4}, Landroid/content/IContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
1862     :try_end_38
1863     .catchall {:try_start_35 .. :try_end_38} :catchall_40
1864     .catch Landroid/os/RemoteException; {:try_start_35 .. :try_end_38} :catch_3d
1866     move-result-object v2
1868     :goto_39
1869     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1871     return-object v2
1873     :catch_3d
1874     move-exception v0
1876     const/4 v2, 0x0
1878     goto :goto_39
1880     :catchall_40
1881     move-exception v2
1883     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1885     throw v2
1886 .end method
1888 .method public cancelSync(Landroid/net/Uri;)V
1889     .registers 4
1890     .annotation runtime Ljava/lang/Deprecated;
1891     .end annotation
1893     const/4 v1, 0x0
1895     if-eqz p1, :cond_b
1897     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
1899     move-result-object v0
1901     :goto_7
1902     invoke-static {v1, v0}, Landroid/content/ContentResolver;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V
1904     return-void
1906     :cond_b
1907     move-object v0, v1
1909     goto :goto_7
1910 .end method
1912 .method public final delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
1913     .registers 15
1915     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
1917     move-result-object v7
1919     if-nez v7, :cond_1f
1921     new-instance v0, Ljava/lang/IllegalArgumentException;
1923     new-instance v3, Ljava/lang/StringBuilder;
1925     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
1927     const-string v4, "Unknown URL "
1929     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1931     move-result-object v3
1933     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1935     move-result-object v3
1937     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1939     move-result-object v3
1941     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
1943     throw v0
1945     :cond_1f
1946     :try_start_1f
1947     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
1949     move-result-wide v9
1951     invoke-interface {v7, p1, p2, p3}, Landroid/content/IContentProvider;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
1953     move-result v8
1955     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
1957     move-result-wide v3
1959     sub-long v1, v3, v9
1961     const-string v4, "delete"
1963     move-object v0, p0
1965     move-object v3, p1
1967     move-object v5, p2
1969     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
1970     :try_end_35
1971     .catchall {:try_start_1f .. :try_end_35} :catchall_3c
1972     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_35} :catch_39
1974     :goto_35
1975     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1977     return v8
1979     :catch_39
1980     move-exception v6
1982     const/4 v8, -0x1
1984     goto :goto_35
1986     :catchall_3c
1987     move-exception v0
1989     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
1991     throw v0
1992 .end method
1994 .method public getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
1995     .registers 13
1996     .annotation system Ldalvik/annotation/Throws;
1997         value = {
1998             Ljava/io/FileNotFoundException;
1999         }
2000     .end annotation
2002     const/4 v10, 0x1
2004     const/4 v9, 0x0
2006     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
2008     move-result-object v0
2010     invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
2012     move-result v8
2014     if-eqz v8, :cond_25
2016     new-instance v8, Ljava/io/FileNotFoundException;
2018     new-instance v9, Ljava/lang/StringBuilder;
2020     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2022     const-string v10, "No authority: "
2024     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2026     move-result-object v9
2028     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2030     move-result-object v9
2032     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2034     move-result-object v9
2036     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2038     throw v8
2040     :cond_25
2041     :try_start_25
2042     iget-object v8, p0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
2044     invoke-virtual {v8}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
2046     move-result-object v8
2048     invoke-virtual {v8, v0}, Landroid/content/pm/PackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;
2049     :try_end_2e
2050     .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_25 .. :try_end_2e} :catch_4e
2052     move-result-object v6
2054     invoke-virtual {p1}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
2056     move-result-object v5
2058     if-nez v5, :cond_68
2060     new-instance v8, Ljava/io/FileNotFoundException;
2062     new-instance v9, Ljava/lang/StringBuilder;
2064     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2066     const-string v10, "No path: "
2068     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2070     move-result-object v9
2072     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2074     move-result-object v9
2076     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2078     move-result-object v9
2080     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2082     throw v8
2084     :catch_4e
2085     move-exception v2
2087     new-instance v8, Ljava/io/FileNotFoundException;
2089     new-instance v9, Ljava/lang/StringBuilder;
2091     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2093     const-string v10, "No package found for authority: "
2095     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2097     move-result-object v9
2099     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2101     move-result-object v9
2103     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2105     move-result-object v9
2107     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2109     throw v8
2111     :cond_68
2112     invoke-interface {v5}, Ljava/util/List;->size()I
2114     move-result v4
2116     if-ne v4, v10, :cond_ae
2118     const/4 v8, 0x0
2120     :try_start_6f
2121     invoke-interface {v5, v8}, Ljava/util/List;->get(I)Ljava/lang/Object;
2123     move-result-object v8
2125     check-cast v8, Ljava/lang/String;
2127     invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2128     :try_end_78
2129     .catch Ljava/lang/NumberFormatException; {:try_start_6f .. :try_end_78} :catch_94
2131     move-result v3
2133     :goto_79
2134     if-nez v3, :cond_db
2136     new-instance v8, Ljava/io/FileNotFoundException;
2138     new-instance v9, Ljava/lang/StringBuilder;
2140     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2142     const-string v10, "No resource found for: "
2144     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2146     move-result-object v9
2148     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2150     move-result-object v9
2152     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2154     move-result-object v9
2156     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2158     throw v8
2160     :catch_94
2161     move-exception v1
2163     new-instance v8, Ljava/io/FileNotFoundException;
2165     new-instance v9, Ljava/lang/StringBuilder;
2167     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2169     const-string v10, "Single path segment is not a resource ID: "
2171     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2173     move-result-object v9
2175     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2177     move-result-object v9
2179     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2181     move-result-object v9
2183     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2185     throw v8
2187     :cond_ae
2188     const/4 v8, 0x2
2190     if-ne v4, v8, :cond_c2
2192     invoke-interface {v5, v10}, Ljava/util/List;->get(I)Ljava/lang/Object;
2194     move-result-object v8
2196     check-cast v8, Ljava/lang/String;
2198     invoke-interface {v5, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
2200     move-result-object v9
2202     check-cast v9, Ljava/lang/String;
2204     invoke-virtual {v6, v8, v9, v0}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
2206     move-result v3
2208     goto :goto_79
2210     :cond_c2
2211     new-instance v8, Ljava/io/FileNotFoundException;
2213     new-instance v9, Ljava/lang/StringBuilder;
2215     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
2217     const-string v10, "More than two path segments: "
2219     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2221     move-result-object v9
2223     invoke-virtual {v9, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2225     move-result-object v9
2227     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2229     move-result-object v9
2231     invoke-direct {v8, v9}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2233     throw v8
2235     :cond_db
2236     new-instance v7, Landroid/content/ContentResolver$OpenResourceIdResult;
2238     invoke-direct {v7, p0}, Landroid/content/ContentResolver$OpenResourceIdResult;-><init>(Landroid/content/ContentResolver;)V
2240     iput-object v6, v7, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
2242     iput v3, v7, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
2244     return-object v7
2245 .end method
2247 .method public getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
2248     .registers 6
2250     const/4 v2, 0x0
2252     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2254     move-result-object v1
2256     if-nez v1, :cond_8
2258     :goto_7
2259     return-object v2
2261     :cond_8
2262     :try_start_8
2263     invoke-interface {v1, p1, p2}, Landroid/content/IContentProvider;->getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
2264     :try_end_b
2265     .catchall {:try_start_8 .. :try_end_b} :catchall_12
2266     .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_b} :catch_10
2268     move-result-object v2
2270     :goto_c
2271     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2273     goto :goto_7
2275     :catch_10
2276     move-exception v0
2278     goto :goto_c
2280     :catchall_12
2281     move-exception v2
2283     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2285     throw v2
2286 .end method
2288 .method public final getType(Landroid/net/Uri;)Ljava/lang/String;
2289     .registers 8
2291     const/4 v2, 0x0
2293     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireExistingProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2295     move-result-object v1
2297     if-eqz v1, :cond_44
2299     :try_start_7
2300     invoke-interface {v1, p1}, Landroid/content/IContentProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
2301     :try_end_a
2302     .catchall {:try_start_7 .. :try_end_a} :catchall_3f
2303     .catch Landroid/os/RemoteException; {:try_start_7 .. :try_end_a} :catch_f
2304     .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_a} :catch_11
2306     move-result-object v2
2308     :goto_b
2309     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2311     :cond_e
2312     :goto_e
2313     return-object v2
2315     :catch_f
2316     move-exception v0
2318     goto :goto_b
2320     :catch_11
2321     move-exception v0
2323     :try_start_12
2324     const-string v3, "ContentResolver"
2326     new-instance v4, Ljava/lang/StringBuilder;
2328     invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2330     const-string v5, "Failed to get type for: "
2332     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2334     move-result-object v4
2336     invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2338     move-result-object v4
2340     const-string v5, " ("
2342     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2344     move-result-object v4
2346     invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
2348     move-result-object v5
2350     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2352     move-result-object v4
2354     const-string v5, ")"
2356     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2358     move-result-object v4
2360     invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2362     move-result-object v4
2364     invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
2365     :try_end_3e
2366     .catchall {:try_start_12 .. :try_end_3e} :catchall_3f
2368     goto :goto_b
2370     :catchall_3f
2371     move-exception v3
2373     invoke-virtual {p0, v1}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2375     throw v3
2377     :cond_44
2378     const-string v3, "content"
2380     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
2382     move-result-object v4
2384     invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2386     move-result v3
2388     if-eqz v3, :cond_e
2390     :try_start_50
2391     invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2393     move-result-object v3
2395     invoke-interface {v3, p1}, Landroid/app/IActivityManager;->getProviderMimeType(Landroid/net/Uri;)Ljava/lang/String;
2396     :try_end_57
2397     .catch Landroid/os/RemoteException; {:try_start_50 .. :try_end_57} :catch_59
2398     .catch Ljava/lang/Exception; {:try_start_50 .. :try_end_57} :catch_5b
2400     move-result-object v2
2402     goto :goto_e
2404     :catch_59
2405     move-exception v0
2407     goto :goto_e
2409     :catch_5b
2410     move-exception v0
2412     const-string v3, "ContentResolver"
2414     new-instance v4, Ljava/lang/StringBuilder;
2416     invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2418     const-string v5, "Failed to get type for: "
2420     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2422     move-result-object v4
2424     invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2426     move-result-object v4
2428     const-string v5, " ("
2430     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2432     move-result-object v4
2434     invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
2436     move-result-object v5
2438     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2440     move-result-object v4
2442     const-string v5, ")"
2444     invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2446     move-result-object v4
2448     invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2450     move-result-object v4
2452     invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
2454     goto :goto_e
2455 .end method
2457 .method public final insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
2458     .registers 15
2460     const/4 v11, 0x0
2462     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2464     move-result-object v8
2466     if-nez v8, :cond_20
2468     new-instance v0, Ljava/lang/IllegalArgumentException;
2470     new-instance v3, Ljava/lang/StringBuilder;
2472     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
2474     const-string v4, "Unknown URL "
2476     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2478     move-result-object v3
2480     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2482     move-result-object v3
2484     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2486     move-result-object v3
2488     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
2490     throw v0
2492     :cond_20
2493     :try_start_20
2494     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2496     move-result-wide v9
2498     invoke-interface {v8, p1, p2}, Landroid/content/IContentProvider;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
2500     move-result-object v6
2502     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2504     move-result-wide v3
2506     sub-long v1, v3, v9
2508     const-string v4, "insert"
2510     const/4 v5, 0x0
2512     move-object v0, p0
2514     move-object v3, p1
2516     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
2517     :try_end_36
2518     .catchall {:try_start_20 .. :try_end_36} :catchall_40
2519     .catch Landroid/os/RemoteException; {:try_start_20 .. :try_end_36} :catch_3a
2521     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2523     :goto_39
2524     return-object v6
2526     :catch_3a
2527     move-exception v7
2529     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2531     move-object v6, v11
2533     goto :goto_39
2535     :catchall_40
2536     move-exception v0
2538     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2540     throw v0
2541 .end method
2543 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;)V
2544     .registers 4
2546     const/4 v0, 0x1
2548     invoke-virtual {p0, p1, p2, v0}, Landroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
2550     return-void
2551 .end method
2553 .method public notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
2554     .registers 7
2556     :try_start_0
2557     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
2559     move-result-object v2
2561     if-nez p2, :cond_15
2563     const/4 v0, 0x0
2565     move-object v1, v0
2567     :goto_8
2568     if-eqz p2, :cond_1b
2570     invoke-virtual {p2}, Landroid/database/ContentObserver;->deliverSelfNotifications()Z
2572     move-result v0
2574     if-eqz v0, :cond_1b
2576     const/4 v0, 0x1
2578     :goto_11
2579     invoke-interface {v2, p1, v1, v0, p3}, Landroid/content/IContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZZ)V
2581     :goto_14
2582     return-void
2584     :cond_15
2585     invoke-virtual {p2}, Landroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
2586     :try_end_18
2587     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_18} :catch_1d
2589     move-result-object v0
2591     move-object v1, v0
2593     goto :goto_8
2595     :cond_1b
2596     const/4 v0, 0x0
2598     goto :goto_11
2600     :catch_1d
2601     move-exception v0
2603     goto :goto_14
2604 .end method
2606 .method public final openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2607     .registers 16
2608     .annotation system Ldalvik/annotation/Throws;
2609         value = {
2610             Ljava/io/FileNotFoundException;
2611         }
2612     .end annotation
2614     const/4 v0, 0x0
2616     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
2618     move-result-object v10
2620     const-string v2, "android.resource"
2622     invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2624     move-result v2
2626     if-eqz v2, :cond_56
2628     const-string/jumbo v0, "r"
2630     invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2632     move-result v0
2634     if-nez v0, :cond_2f
2636     new-instance v0, Ljava/io/FileNotFoundException;
2638     new-instance v2, Ljava/lang/StringBuilder;
2640     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2642     const-string v3, "Can\'t write resources: "
2644     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2646     move-result-object v2
2648     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2650     move-result-object v2
2652     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2654     move-result-object v2
2656     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2658     throw v0
2660     :cond_2f
2661     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
2663     move-result-object v9
2665     :try_start_33
2666     iget-object v0, v9, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
2668     iget v2, v9, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
2670     invoke-virtual {v0, v2}, Landroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;
2671     :try_end_3a
2672     .catch Landroid/content/res/Resources$NotFoundException; {:try_start_33 .. :try_end_3a} :catch_3c
2674     move-result-object v0
2676     :cond_3b
2677     :goto_3b
2678     return-object v0
2680     :catch_3c
2681     move-exception v7
2683     new-instance v0, Ljava/io/FileNotFoundException;
2685     new-instance v2, Ljava/lang/StringBuilder;
2687     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2689     const-string v3, "Resource does not exist: "
2691     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2693     move-result-object v2
2695     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2697     move-result-object v2
2699     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2701     move-result-object v2
2703     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2705     throw v0
2707     :cond_56
2708     const-string v2, "file"
2710     invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2712     move-result v2
2714     if-eqz v2, :cond_79
2716     new-instance v0, Ljava/io/File;
2718     invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
2720     move-result-object v2
2722     invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
2724     invoke-static {p1, p2}, Landroid/content/ContentResolver;->modeToMode(Landroid/net/Uri;Ljava/lang/String;)I
2726     move-result v2
2728     invoke-static {v0, v2}, Landroid/os/ParcelFileDescriptor;->open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
2730     move-result-object v1
2732     new-instance v0, Landroid/content/res/AssetFileDescriptor;
2734     const-wide/16 v2, 0x0
2736     const-wide/16 v4, -0x1
2738     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
2740     goto :goto_3b
2742     :cond_79
2743     const-string/jumbo v2, "r"
2745     invoke-virtual {v2, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2747     move-result v2
2749     if-eqz v2, :cond_89
2751     const-string v2, "*/*"
2753     invoke-virtual {p0, p1, v2, v0}, Landroid/content/ContentResolver;->openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
2755     move-result-object v0
2757     goto :goto_3b
2759     :cond_89
2760     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2762     move-result-object v12
2764     if-nez v12, :cond_a8
2766     new-instance v0, Ljava/io/FileNotFoundException;
2768     new-instance v2, Ljava/lang/StringBuilder;
2770     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2772     const-string v3, "No content provider: "
2774     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2776     move-result-object v2
2778     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2780     move-result-object v2
2782     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2784     move-result-object v2
2786     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2788     throw v0
2790     :cond_a8
2791     const/4 v11, 0x0
2793     const/4 v8, 0x0
2795     :try_start_aa
2796     invoke-interface {v12, p1, p2}, Landroid/content/IContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2797     :try_end_ad
2798     .catchall {:try_start_aa .. :try_end_ad} :catchall_f8
2799     .catch Landroid/os/DeadObjectException; {:try_start_aa .. :try_end_ad} :catch_bb
2800     .catch Landroid/os/RemoteException; {:try_start_aa .. :try_end_ad} :catch_de
2801     .catch Ljava/io/FileNotFoundException; {:try_start_aa .. :try_end_ad} :catch_13b
2803     move-result-object v8
2805     if-nez v8, :cond_112
2807     if-eqz v11, :cond_b5
2809     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2811     :cond_b5
2812     if-eqz v12, :cond_3b
2814     :goto_b7
2815     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2817     goto :goto_3b
2819     :catch_bb
2820     move-exception v6
2822     :try_start_bc
2823     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
2825     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2827     move-result-object v11
2829     if-nez v11, :cond_104
2831     new-instance v0, Ljava/io/FileNotFoundException;
2833     new-instance v2, Ljava/lang/StringBuilder;
2835     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2837     const-string v3, "No content provider: "
2839     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2841     move-result-object v2
2843     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2845     move-result-object v2
2847     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2849     move-result-object v2
2851     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2853     throw v0
2854     :try_end_de
2855     .catchall {:try_start_bc .. :try_end_de} :catchall_f8
2856     .catch Landroid/os/RemoteException; {:try_start_bc .. :try_end_de} :catch_de
2857     .catch Ljava/io/FileNotFoundException; {:try_start_bc .. :try_end_de} :catch_13b
2859     :catch_de
2860     move-exception v6
2862     :try_start_df
2863     new-instance v0, Ljava/io/FileNotFoundException;
2865     new-instance v2, Ljava/lang/StringBuilder;
2867     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
2869     const-string v3, "Failed opening content provider: "
2871     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2873     move-result-object v2
2875     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2877     move-result-object v2
2879     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2881     move-result-object v2
2883     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
2885     throw v0
2886     :try_end_f8
2887     .catchall {:try_start_df .. :try_end_f8} :catchall_f8
2889     :catchall_f8
2890     move-exception v0
2892     if-eqz v11, :cond_fe
2894     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2896     :cond_fe
2897     if-eqz v12, :cond_103
2899     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2901     :cond_103
2902     throw v0
2904     :cond_104
2905     :try_start_104
2906     invoke-interface {v11, p1, p2}, Landroid/content/IContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2907     :try_end_107
2908     .catchall {:try_start_104 .. :try_end_107} :catchall_f8
2909     .catch Landroid/os/RemoteException; {:try_start_104 .. :try_end_107} :catch_de
2910     .catch Ljava/io/FileNotFoundException; {:try_start_104 .. :try_end_107} :catch_13b
2912     move-result-object v8
2914     if-nez v8, :cond_112
2916     if-eqz v11, :cond_10f
2918     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2920     :cond_10f
2921     if-eqz v12, :cond_3b
2923     goto :goto_b7
2925     :cond_112
2926     if-nez v11, :cond_118
2928     :try_start_114
2929     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2931     move-result-object v11
2933     :cond_118
2934     invoke-virtual {p0, v12}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2936     new-instance v1, Landroid/content/ContentResolver$ParcelFileDescriptorInner;
2938     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
2940     move-result-object v0
2942     invoke-direct {v1, p0, v0, v11}, Landroid/content/ContentResolver$ParcelFileDescriptorInner;-><init>(Landroid/content/ContentResolver;Landroid/os/ParcelFileDescriptor;Landroid/content/IContentProvider;)V
2944     const/4 v11, 0x0
2946     new-instance v0, Landroid/content/res/AssetFileDescriptor;
2948     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
2950     move-result-wide v2
2952     invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
2954     move-result-wide v4
2956     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
2957     :try_end_132
2958     .catchall {:try_start_114 .. :try_end_132} :catchall_f8
2959     .catch Landroid/os/RemoteException; {:try_start_114 .. :try_end_132} :catch_de
2960     .catch Ljava/io/FileNotFoundException; {:try_start_114 .. :try_end_132} :catch_13b
2962     if-eqz v11, :cond_137
2964     invoke-virtual {p0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2966     :cond_137
2967     if-eqz v12, :cond_3b
2969     goto/16 :goto_b7
2971     :catch_13b
2972     move-exception v6
2974     :try_start_13c
2975     throw v6
2976     :try_end_13d
2977     .catchall {:try_start_13c .. :try_end_13d} :catchall_f8
2978 .end method
2980 .method public final openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
2981     .registers 8
2982     .annotation system Ldalvik/annotation/Throws;
2983         value = {
2984             Ljava/io/FileNotFoundException;
2985         }
2986     .end annotation
2988     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
2990     move-result-object v0
2992     if-nez v0, :cond_8
2994     const/4 v1, 0x0
2996     :goto_7
2997     return-object v1
2999     :cond_8
3000     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
3002     move-result-wide v1
3004     const-wide/16 v3, 0x0
3006     cmp-long v1, v1, v3
3008     if-gez v1, :cond_17
3010     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
3012     move-result-object v1
3014     goto :goto_7
3016     :cond_17
3017     :try_start_17
3018     invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->close()V
3019     :try_end_1a
3020     .catch Ljava/io/IOException; {:try_start_17 .. :try_end_1a} :catch_22
3022     :goto_1a
3023     new-instance v1, Ljava/io/FileNotFoundException;
3025     const-string v2, "Not a whole file"
3027     invoke-direct {v1, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3029     throw v1
3031     :catch_22
3032     move-exception v1
3034     goto :goto_1a
3035 .end method
3037 .method public final openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
3038     .registers 11
3039     .annotation system Ldalvik/annotation/Throws;
3040         value = {
3041             Ljava/io/FileNotFoundException;
3042         }
3043     .end annotation
3045     invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
3047     move-result-object v4
3049     const-string v6, "android.resource"
3051     invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3053     move-result v6
3055     if-eqz v6, :cond_33
3057     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
3059     move-result-object v3
3061     :try_start_10
3062     iget-object v6, v3, Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
3064     iget v7, v3, Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
3066     invoke-virtual {v6, v7}, Landroid/content/res/Resources;->openRawResource(I)Ljava/io/InputStream;
3067     :try_end_17
3068     .catch Landroid/content/res/Resources$NotFoundException; {:try_start_10 .. :try_end_17} :catch_19
3070     move-result-object v5
3072     :goto_18
3073     return-object v5
3075     :catch_19
3076     move-exception v1
3078     new-instance v6, Ljava/io/FileNotFoundException;
3080     new-instance v7, Ljava/lang/StringBuilder;
3082     invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
3084     const-string v8, "Resource does not exist: "
3086     invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3088     move-result-object v7
3090     invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3092     move-result-object v7
3094     invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3096     move-result-object v7
3098     invoke-direct {v6, v7}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3100     throw v6
3102     :cond_33
3103     const-string v6, "file"
3105     invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3107     move-result v6
3109     if-eqz v6, :cond_45
3111     new-instance v5, Ljava/io/FileInputStream;
3113     invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
3115     move-result-object v6
3117     invoke-direct {v5, v6}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
3119     goto :goto_18
3121     :cond_45
3122     const-string/jumbo v6, "r"
3124     invoke-virtual {p0, p1, v6}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3126     move-result-object v2
3128     if-eqz v2, :cond_54
3130     :try_start_4e
3131     invoke-virtual {v2}, Landroid/content/res/AssetFileDescriptor;->createInputStream()Ljava/io/FileInputStream;
3132     :try_end_51
3133     .catch Ljava/io/IOException; {:try_start_4e .. :try_end_51} :catch_56
3135     move-result-object v6
3137     :goto_52
3138     move-object v5, v6
3140     goto :goto_18
3142     :cond_54
3143     const/4 v6, 0x0
3145     goto :goto_52
3147     :catch_56
3148     move-exception v0
3150     new-instance v6, Ljava/io/FileNotFoundException;
3152     const-string v7, "Unable to create stream"
3154     invoke-direct {v6, v7}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3156     throw v6
3157 .end method
3159 .method public final openOutputStream(Landroid/net/Uri;)Ljava/io/OutputStream;
3160     .registers 3
3161     .annotation system Ldalvik/annotation/Throws;
3162         value = {
3163             Ljava/io/FileNotFoundException;
3164         }
3165     .end annotation
3167     const-string/jumbo v0, "w"
3169     invoke-virtual {p0, p1, v0}, Landroid/content/ContentResolver;->openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;
3171     move-result-object v0
3173     return-object v0
3174 .end method
3176 .method public final openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;
3177     .registers 7
3178     .annotation system Ldalvik/annotation/Throws;
3179         value = {
3180             Ljava/io/FileNotFoundException;
3181         }
3182     .end annotation
3184     invoke-virtual {p0, p1, p2}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
3186     move-result-object v1
3188     if-eqz v1, :cond_b
3190     :try_start_6
3191     invoke-virtual {v1}, Landroid/content/res/AssetFileDescriptor;->createOutputStream()Ljava/io/FileOutputStream;
3192     :try_end_9
3193     .catch Ljava/io/IOException; {:try_start_6 .. :try_end_9} :catch_d
3195     move-result-object v2
3197     :goto_a
3198     return-object v2
3200     :cond_b
3201     const/4 v2, 0x0
3203     goto :goto_a
3205     :catch_d
3206     move-exception v0
3208     new-instance v2, Ljava/io/FileNotFoundException;
3210     const-string v3, "Unable to create stream"
3212     invoke-direct {v2, v3}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3214     throw v2
3215 .end method
3217 .method public final openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3218     .registers 14
3219     .annotation system Ldalvik/annotation/Throws;
3220         value = {
3221             Ljava/io/FileNotFoundException;
3222         }
3223     .end annotation
3225     const/4 v0, 0x0
3227     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3229     move-result-object v9
3231     if-nez v9, :cond_20
3233     new-instance v0, Ljava/io/FileNotFoundException;
3235     new-instance v2, Ljava/lang/StringBuilder;
3237     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3239     const-string v3, "No content provider: "
3241     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3243     move-result-object v2
3245     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3247     move-result-object v2
3249     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3251     move-result-object v2
3253     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3255     throw v0
3257     :cond_20
3258     const/4 v8, 0x0
3260     const/4 v7, 0x0
3262     :try_start_22
3263     invoke-interface {v9, p1, p2, p3}, Landroid/content/IContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3264     :try_end_25
3265     .catchall {:try_start_22 .. :try_end_25} :catchall_70
3266     .catch Landroid/os/DeadObjectException; {:try_start_22 .. :try_end_25} :catch_33
3267     .catch Landroid/os/RemoteException; {:try_start_22 .. :try_end_25} :catch_56
3268     .catch Ljava/io/FileNotFoundException; {:try_start_22 .. :try_end_25} :catch_b3
3270     move-result-object v7
3272     if-nez v7, :cond_8a
3274     if-eqz v8, :cond_2d
3276     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3278     :cond_2d
3279     if-eqz v9, :cond_32
3281     :goto_2f
3282     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3284     :cond_32
3285     return-object v0
3287     :catch_33
3288     move-exception v6
3290     :try_start_34
3291     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
3293     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3295     move-result-object v8
3297     if-nez v8, :cond_7c
3299     new-instance v0, Ljava/io/FileNotFoundException;
3301     new-instance v2, Ljava/lang/StringBuilder;
3303     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3305     const-string v3, "No content provider: "
3307     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3309     move-result-object v2
3311     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3313     move-result-object v2
3315     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3317     move-result-object v2
3319     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3321     throw v0
3322     :try_end_56
3323     .catchall {:try_start_34 .. :try_end_56} :catchall_70
3324     .catch Landroid/os/RemoteException; {:try_start_34 .. :try_end_56} :catch_56
3325     .catch Ljava/io/FileNotFoundException; {:try_start_34 .. :try_end_56} :catch_b3
3327     :catch_56
3328     move-exception v6
3330     :try_start_57
3331     new-instance v0, Ljava/io/FileNotFoundException;
3333     new-instance v2, Ljava/lang/StringBuilder;
3335     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3337     const-string v3, "Failed opening content provider: "
3339     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3341     move-result-object v2
3343     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3345     move-result-object v2
3347     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3349     move-result-object v2
3351     invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
3353     throw v0
3354     :try_end_70
3355     .catchall {:try_start_57 .. :try_end_70} :catchall_70
3357     :catchall_70
3358     move-exception v0
3360     if-eqz v8, :cond_76
3362     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3364     :cond_76
3365     if-eqz v9, :cond_7b
3367     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3369     :cond_7b
3370     throw v0
3372     :cond_7c
3373     :try_start_7c
3374     invoke-interface {v8, p1, p2, p3}, Landroid/content/IContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
3375     :try_end_7f
3376     .catchall {:try_start_7c .. :try_end_7f} :catchall_70
3377     .catch Landroid/os/RemoteException; {:try_start_7c .. :try_end_7f} :catch_56
3378     .catch Ljava/io/FileNotFoundException; {:try_start_7c .. :try_end_7f} :catch_b3
3380     move-result-object v7
3382     if-nez v7, :cond_8a
3384     if-eqz v8, :cond_87
3386     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3388     :cond_87
3389     if-eqz v9, :cond_32
3391     goto :goto_2f
3393     :cond_8a
3394     if-nez v8, :cond_90
3396     :try_start_8c
3397     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3399     move-result-object v8
3401     :cond_90
3402     invoke-virtual {p0, v9}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3404     new-instance v1, Landroid/content/ContentResolver$ParcelFileDescriptorInner;
3406     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
3408     move-result-object v0
3410     invoke-direct {v1, p0, v0, v8}, Landroid/content/ContentResolver$ParcelFileDescriptorInner;-><init>(Landroid/content/ContentResolver;Landroid/os/ParcelFileDescriptor;Landroid/content/IContentProvider;)V
3412     const/4 v8, 0x0
3414     new-instance v0, Landroid/content/res/AssetFileDescriptor;
3416     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
3418     move-result-wide v2
3420     invoke-virtual {v7}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
3422     move-result-wide v4
3424     invoke-direct/range {v0 .. v5}, Landroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
3425     :try_end_aa
3426     .catchall {:try_start_8c .. :try_end_aa} :catchall_70
3427     .catch Landroid/os/RemoteException; {:try_start_8c .. :try_end_aa} :catch_56
3428     .catch Ljava/io/FileNotFoundException; {:try_start_8c .. :try_end_aa} :catch_b3
3430     if-eqz v8, :cond_af
3432     invoke-virtual {p0, v8}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3434     :cond_af
3435     if-eqz v9, :cond_32
3437     goto/16 :goto_2f
3439     :catch_b3
3440     move-exception v6
3442     :try_start_b4
3443     throw v6
3444     :try_end_b5
3445     .catchall {:try_start_b4 .. :try_end_b5} :catchall_70
3446 .end method
3448 .method public final query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
3449     .registers 13
3451     const/4 v6, 0x0
3453     move-object v0, p0
3455     move-object v1, p1
3457     move-object v2, p2
3459     move-object v3, p3
3461     move-object v4, p4
3463     move-object v5, p5
3465     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;
3467     move-result-object v0
3469     return-object v0
3470 .end method
3472 .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;
3473     .registers 30
3475     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3477     move-result-object v3
3479     if-nez v3, :cond_9
3481     const/16 v22, 0x0
3483     :cond_8
3484     :goto_8
3485     return-object v22
3487     :cond_9
3488     const/4 v10, 0x0
3490     :try_start_a
3491     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3493     move-result-wide v20
3495     const/4 v9, 0x0
3497     if-eqz p6, :cond_1d
3499     invoke-virtual/range {p6 .. p6}, Landroid/os/CancellationSignal;->throwIfCanceled()V
3501     invoke-interface {v3}, Landroid/content/IContentProvider;->createCancellationSignal()Landroid/os/ICancellationSignal;
3503     move-result-object v9
3505     move-object/from16 v0, p6
3507     invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
3508     :try_end_1d
3509     .catchall {:try_start_a .. :try_end_1d} :catchall_c4
3510     .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_b7
3512     :cond_1d
3513     move-object/from16 v4, p1
3515     move-object/from16 v5, p2
3517     move-object/from16 v6, p3
3519     move-object/from16 v7, p4
3521     move-object/from16 v8, p5
3523     :try_start_27
3524     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;
3526     move-result-object v19
3528     move-object/from16 v0, p0
3530     iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
3532     move-object/from16 v0, p1
3534     move-object/from16 v1, p2
3536     move-object/from16 v2, v19
3538     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;
3539     :try_end_38
3540     .catchall {:try_start_27 .. :try_end_38} :catchall_c4
3541     .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_38} :catch_4c
3542     .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_38} :catch_b7
3544     move-result-object v19
3546     :goto_39
3547     if-nez v19, :cond_83
3549     const/16 v22, 0x0
3551     if-eqz v3, :cond_44
3553     move-object/from16 v0, p0
3555     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3557     :cond_44
3558     if-eqz v10, :cond_8
3560     :goto_46
3561     move-object/from16 v0, p0
3563     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3565     goto :goto_8
3567     :catch_4c
3568     move-exception v18
3570     :try_start_4d
3571     move-object/from16 v0, p0
3573     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
3575     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3576     :try_end_55
3577     .catchall {:try_start_4d .. :try_end_55} :catchall_c4
3578     .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_b7
3580     move-result-object v10
3582     if-nez v10, :cond_64
3584     const/16 v22, 0x0
3586     if-eqz v3, :cond_61
3588     move-object/from16 v0, p0
3590     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3592     :cond_61
3593     if-eqz v10, :cond_8
3595     goto :goto_46
3597     :cond_64
3598     move-object/from16 v11, p1
3600     move-object/from16 v12, p2
3602     move-object/from16 v13, p3
3604     move-object/from16 v14, p4
3606     move-object/from16 v15, p5
3608     move-object/from16 v16, v9
3610     :try_start_70
3611     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;
3613     move-result-object v19
3615     move-object/from16 v0, p0
3617     iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
3619     move-object/from16 v0, p1
3621     move-object/from16 v1, p2
3623     move-object/from16 v2, v19
3625     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;
3627     move-result-object v19
3629     goto :goto_39
3631     :cond_83
3632     invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
3634     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3636     move-result-wide v4
3638     sub-long v12, v4, v20
3640     move-object/from16 v11, p0
3642     move-object/from16 v14, p1
3644     move-object/from16 v15, p2
3646     move-object/from16 v16, p3
3648     move-object/from16 v17, p5
3650     invoke-direct/range {v11 .. v17}, Landroid/content/ContentResolver;->maybeLogQueryToEventLog(JLandroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3652     new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
3654     if-eqz v10, :cond_b2
3656     move-object v4, v10
3658     :goto_9e
3659     move-object/from16 v0, v22
3661     move-object/from16 v1, p0
3663     move-object/from16 v2, v19
3665     invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
3666     :try_end_a7
3667     .catchall {:try_start_70 .. :try_end_a7} :catchall_c4
3668     .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_a7} :catch_b7
3670     const/4 v10, 0x0
3672     if-eqz v3, :cond_af
3674     move-object/from16 v0, p0
3676     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3678     :cond_af
3679     if-eqz v10, :cond_8
3681     goto :goto_46
3683     :cond_b2
3684     :try_start_b2
3685     invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3686     :try_end_b5
3687     .catchall {:try_start_b2 .. :try_end_b5} :catchall_c4
3688     .catch Landroid/os/RemoteException; {:try_start_b2 .. :try_end_b5} :catch_b7
3690     move-result-object v4
3692     goto :goto_9e
3694     :catch_b7
3695     move-exception v18
3697     const/16 v22, 0x0
3699     if-eqz v3, :cond_c1
3701     move-object/from16 v0, p0
3703     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3705     :cond_c1
3706     if-eqz v10, :cond_8
3708     goto :goto_46
3710     :catchall_c4
3711     move-exception v4
3713     if-eqz v3, :cond_cc
3715     move-object/from16 v0, p0
3717     invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3719     :cond_cc
3720     if-eqz v10, :cond_d3
3722     move-object/from16 v0, p0
3724     invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3726     :cond_d3
3727     throw v4
3728 .end method
3730 .method public final registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
3731     .registers 6
3733     :try_start_0
3734     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
3736     move-result-object v0
3738     invoke-virtual {p3}, Landroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
3740     move-result-object v1
3742     invoke-interface {v0, p1, p2, v1}, Landroid/content/IContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;)V
3743     :try_end_b
3744     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_b} :catch_c
3746     :goto_b
3747     return-void
3749     :catch_c
3750     move-exception v0
3752     goto :goto_b
3753 .end method
3755 .method public abstract releaseProvider(Landroid/content/IContentProvider;)Z
3756 .end method
3758 .method public abstract releaseUnstableProvider(Landroid/content/IContentProvider;)Z
3759 .end method
3761 .method public startSync(Landroid/net/Uri;Landroid/os/Bundle;)V
3762     .registers 6
3763     .annotation runtime Ljava/lang/Deprecated;
3764     .end annotation
3766     const/4 v0, 0x0
3768     if-eqz p2, :cond_1b
3770     const-string v2, "account"
3772     invoke-virtual {p2, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
3774     move-result-object v1
3776     invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
3778     move-result v2
3780     if-nez v2, :cond_16
3782     new-instance v0, Landroid/accounts/Account;
3784     const-string v2, "com.google"
3786     invoke-direct {v0, v1, v2}, Landroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;)V
3788     :cond_16
3789     const-string v2, "account"
3791     invoke-virtual {p2, v2}, Landroid/os/Bundle;->remove(Ljava/lang/String;)V
3793     :cond_1b
3794     if-eqz p1, :cond_25
3796     invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
3798     move-result-object v2
3800     :goto_21
3801     invoke-static {v0, v2, p2}, Landroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
3803     return-void
3805     :cond_25
3806     const/4 v2, 0x0
3808     goto :goto_21
3809 .end method
3811 .method public final unregisterContentObserver(Landroid/database/ContentObserver;)V
3812     .registers 4
3814     :try_start_0
3815     invoke-virtual {p1}, Landroid/database/ContentObserver;->releaseContentObserver()Landroid/database/IContentObserver;
3817     move-result-object v0
3819     if-eqz v0, :cond_d
3821     invoke-static {}, Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
3823     move-result-object v1
3825     invoke-interface {v1, v0}, Landroid/content/IContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
3826     :try_end_d
3827     .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_d} :catch_e
3829     :cond_d
3830     :goto_d
3831     return-void
3833     :catch_e
3834     move-exception v1
3836     goto :goto_d
3837 .end method
3839 .method public abstract unstableProviderDied(Landroid/content/IContentProvider;)V
3840 .end method
3842 .method public final update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
3843     .registers 16
3845     invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
3847     move-result-object v7
3849     if-nez v7, :cond_1f
3851     new-instance v0, Ljava/lang/IllegalArgumentException;
3853     new-instance v3, Ljava/lang/StringBuilder;
3855     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
3857     const-string v4, "Unknown URI "
3859     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3861     move-result-object v3
3863     invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3865     move-result-object v3
3867     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3869     move-result-object v3
3871     invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
3873     throw v0
3875     :cond_1f
3876     :try_start_1f
3877     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3879     move-result-wide v9
3881     invoke-interface {v7, p1, p2, p3, p4}, Landroid/content/IContentProvider;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
3883     move-result v8
3885     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
3887     move-result-wide v3
3889     sub-long v1, v3, v9
3891     const-string/jumbo v4, "update"
3893     move-object v0, p0
3895     move-object v3, p1
3897     move-object v5, p3
3899     invoke-direct/range {v0 .. v5}, Landroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
3900     :try_end_36
3901     .catchall {:try_start_1f .. :try_end_36} :catchall_3d
3902     .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_36} :catch_3a
3904     :goto_36
3905     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3907     return v8
3909     :catch_3a
3910     move-exception v6
3912     const/4 v8, -0x1
3914     goto :goto_36
3916     :catchall_3d
3917     move-exception v0
3919     invoke-virtual {p0, v7}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
3921     throw v0
3922 .end method