PluginContentResolver.smali
.class public Lorg/acdd/android/proxy/PluginContentResolver;
.super Landroid/content/ContentResolver;
.source "PluginContentResolver.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "Provider_Runtime"
.field private static sAcquireExistingProvider:Ljava/lang/reflect/Method;
.field private static sAcquireProvider:Ljava/lang/reflect/Method;
.field private static sAcquireUnstableProvider:Ljava/lang/reflect/Method;
# instance fields
.field private mBase:Landroid/content/ContentResolver;
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
.line 30
:try_start_0
const-class v0, Landroid/content/ContentResolver;
const-string v1, "acquireProvider"
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
const/4 v3, 0x1
const-class v4, Ljava/lang/String;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lorg/acdd/android/proxy/PluginContentResolver;->sAcquireProvider:Ljava/lang/reflect/Method;
.line 32
sget-object v0, Lorg/acdd/android/proxy/PluginContentResolver;->sAcquireProvider:Ljava/lang/reflect/Method;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 33
const-class v0, Landroid/content/ContentResolver;
const-string v1, "acquireExistingProvider"
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
const/4 v3, 0x1
const-class v4, Ljava/lang/String;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lorg/acdd/android/proxy/PluginContentResolver;->sAcquireExistingProvider:Ljava/lang/reflect/Method;
.line 35
sget-object v0, Lorg/acdd/android/proxy/PluginContentResolver;->sAcquireExistingProvider:Ljava/lang/reflect/Method;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 36
const-class v0, Landroid/content/ContentResolver;
const-string v1, "acquireUnstableProvider"
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
const/4 v3, 0x1
const-class v4, Ljava/lang/String;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lorg/acdd/android/proxy/PluginContentResolver;->sAcquireUnstableProvider:Ljava/lang/reflect/Method;
.line 38
sget-object v0, Lorg/acdd/android/proxy/PluginContentResolver;->sAcquireUnstableProvider:Ljava/lang/reflect/Method;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
:try_end_57
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_57} :catch_58
.line 42
:goto_57
return-void
.line 39
:catch_58
move-exception v0
goto :goto_57
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 45
invoke-direct {p0, p1}, Landroid/content/ContentResolver;-><init>(Landroid/content/Context;)V
.line 46
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
iput-object v0, p0, Lorg/acdd/android/proxy/PluginContentResolver;->mBase:Landroid/content/ContentResolver;
.line 47
return-void
.end method
# virtual methods
.method protected acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
.registers 7
.prologue
.line 64
const-string v0, "Provider_Runtime"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "PluginContentResolver [acquireExistingProvider] auth is "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/cm/plugincluster/common/proxy/CMLogUtilsProxy;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 66
const/4 v0, 0x0
:try_start_19
invoke-static {p2, v0}, Lorg/acdd/android/proxy/StubProxyManager;->resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;
move-result-object v0
.line 67
if-eqz v0, :cond_26
.line 68
iget-object v0, v0, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
invoke-static {v0}, Lorg/acdd/hack/AndroidHack;->getIContentProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
move-result-object v0
.line 75
:goto_25
return-object v0
.line 70
:cond_26
sget-object v0, Lorg/acdd/android/proxy/PluginContentResolver;->sAcquireExistingProvider:Ljava/lang/reflect/Method;
iget-object v1, p0, Lorg/acdd/android/proxy/PluginContentResolver;->mBase:Landroid/content/ContentResolver;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const/4 v3, 0x1
aput-object p2, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/IContentProvider;
:try_end_39
.catch Ljava/lang/Exception; {:try_start_19 .. :try_end_39} :catch_3a
goto :goto_25
.line 71
:catch_3a
move-exception v0
.line 72
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 75
const/4 v0, 0x0
goto :goto_25
.end method
.method protected acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
.registers 7
.prologue
.line 50
const-string v0, "Provider_Runtime"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "PluginContentResolver [acquireProvider] auth is "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/cm/plugincluster/common/proxy/CMLogUtilsProxy;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 52
const/4 v0, 0x0
:try_start_19
invoke-static {p2, v0}, Lorg/acdd/android/proxy/StubProxyManager;->resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;
move-result-object v0
.line 53
if-eqz v0, :cond_26
.line 54
iget-object v0, v0, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
invoke-static {v0}, Lorg/acdd/hack/AndroidHack;->getIContentProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
move-result-object v0
.line 60
:goto_25
return-object v0
.line 56
:cond_26
sget-object v0, Lorg/acdd/android/proxy/PluginContentResolver;->sAcquireProvider:Ljava/lang/reflect/Method;
iget-object v1, p0, Lorg/acdd/android/proxy/PluginContentResolver;->mBase:Landroid/content/ContentResolver;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const/4 v3, 0x1
aput-object p2, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/IContentProvider;
:try_end_39
.catch Ljava/lang/Exception; {:try_start_19 .. :try_end_39} :catch_3a
goto :goto_25
.line 57
:catch_3a
move-exception v0
.line 58
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 60
const/4 v0, 0x0
goto :goto_25
.end method
.method protected acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
.registers 7
.prologue
.line 79
const-string v0, "Provider_Runtime"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "PluginContentResolver [acquireUnstableProvider] auth is "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/cm/plugincluster/common/proxy/CMLogUtilsProxy;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 81
const/4 v0, 0x0
:try_start_19
invoke-static {p2, v0}, Lorg/acdd/android/proxy/StubProxyManager;->resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;
move-result-object v0
.line 82
if-eqz v0, :cond_26
.line 83
iget-object v0, v0, Landroid/content/pm/ProviderInfo;->processName:Ljava/lang/String;
invoke-static {v0}, Lorg/acdd/hack/AndroidHack;->getIContentProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
move-result-object v0
.line 90
:goto_25
return-object v0
.line 85
:cond_26
sget-object v0, Lorg/acdd/android/proxy/PluginContentResolver;->sAcquireUnstableProvider:Ljava/lang/reflect/Method;
iget-object v1, p0, Lorg/acdd/android/proxy/PluginContentResolver;->mBase:Landroid/content/ContentResolver;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const/4 v3, 0x1
aput-object p2, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/IContentProvider;
:try_end_39
.catch Ljava/lang/Exception; {:try_start_19 .. :try_end_39} :catch_3a
goto :goto_25
.line 86
:catch_3a
move-exception v0
.line 87
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 90
const/4 v0, 0x0
goto :goto_25
.end method
.method public appNotRespondingViaProvider(Landroid/content/IContentProvider;)V
.registers 2
.prologue
.line 105
return-void
.end method
.method public releaseProvider(Landroid/content/IContentProvider;)Z
.registers 3
.prologue
.line 94
const/4 v0, 0x1
return v0
.end method
.method public releaseUnstableProvider(Landroid/content/IContentProvider;)Z
.registers 3
.prologue
.line 98
const/4 v0, 0x1
return v0
.end method
.method protected resolveUserIdFromAuthority(Ljava/lang/String;)I
.registers 3
.prologue
.line 108
const/4 v0, 0x0
return v0
.end method
.method public unstableProviderDied(Landroid/content/IContentProvider;)V
.registers 2
.prologue
.line 102
return-void
.end method