cte.smali
.class public Ldxoptimizer/cte;
.super Ljava/lang/Object;
.source "PluginContentResolver.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Ldxoptimizer/cte$a;
}
.end annotation
# static fields
.field private static a:Ljava/lang/reflect/Method;
# instance fields
.field private b:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ldxoptimizer/cte$a;",
">;"
}
.end annotation
.end field
.field private c:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Landroid/os/IBinder;",
"Ldxoptimizer/cte$a;",
">;"
}
.end annotation
.end field
.field private d:Landroid/content/Context;
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
.line 29
invoke-static {}, Ljava/lang/ClassLoader;->getSystemClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
.line 31
:try_start_4
const-string v1, "android.content.ContentProviderNative"
invoke-virtual {v0, v1}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
.line 32
const-string v1, "asInterface"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Ldxoptimizer/cte;->a:Ljava/lang/reflect/Method;
:try_end_1a
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_1a} :catch_1b
.line 38
:goto_1a
return-void
.line 33
:catch_1b
move-exception v0
goto :goto_1a
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 44
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 40
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Ldxoptimizer/cte;->b:Ljava/util/HashMap;
.line 41
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Ldxoptimizer/cte;->c:Ljava/util/HashMap;
.line 45
instance-of v0, p1, Landroid/app/Application;
if-eqz v0, :cond_18
.line 48
iput-object p1, p0, Ldxoptimizer/cte;->d:Landroid/content/Context;
.line 52
:goto_17
return-void
.line 50
:cond_18
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Ldxoptimizer/cte;->d:Landroid/content/Context;
goto :goto_17
.end method
# virtual methods
.method public declared-synchronized a(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
.registers 9
.prologue
const/4 v1, 0x0
.line 56
monitor-enter p0
.line 58
:try_start_2
iget-object v0, p0, Ldxoptimizer/cte;->b:Ljava/util/HashMap;
invoke-virtual {v0, p2}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7a
.line 59
iget-object v0, p0, Ldxoptimizer/cte;->b:Ljava/util/HashMap;
invoke-virtual {v0, p2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ldxoptimizer/cte$a;
.line 62
:goto_12
if-eqz v0, :cond_2e
iget-object v2, v0, Ldxoptimizer/cte$a;->c:Landroid/content/IContentProvider;
if-eqz v2, :cond_2e
.line 63
iget-object v2, v0, Ldxoptimizer/cte$a;->b:Landroid/os/IBinder;
invoke-interface {v2}, Landroid/os/IBinder;->isBinderAlive()Z
move-result v2
if-nez v2, :cond_3d
.line 64
iget-object v2, p0, Ldxoptimizer/cte;->b:Ljava/util/HashMap;
iget-object v3, v0, Ldxoptimizer/cte$a;->a:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 65
iget-object v2, p0, Ldxoptimizer/cte;->c:Ljava/util/HashMap;
iget-object v0, v0, Ldxoptimizer/cte$a;->b:Landroid/os/IBinder;
invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 72
:cond_2e
iget-object v0, p0, Ldxoptimizer/cte;->d:Landroid/content/Context;
invoke-static {v0}, Ldxoptimizer/bxf;->a(Landroid/content/Context;)Ldxoptimizer/bxf;
move-result-object v0
.line 73
invoke-virtual {v0, p2}, Ldxoptimizer/bxf;->b(Ljava/lang/String;)Landroid/os/IBinder;
:try_end_37
.catchall {:try_start_2 .. :try_end_37} :catchall_75
move-result-object v2
.line 74
if-nez v2, :cond_46
move-object v0, v1
.line 94
:goto_3b
monitor-exit p0
return-object v0
.line 67
:cond_3d
:try_start_3d
iget v1, v0, Ldxoptimizer/cte$a;->d:I
add-int/lit8 v1, v1, 0x1
iput v1, v0, Ldxoptimizer/cte$a;->d:I
.line 68
iget-object v0, v0, Ldxoptimizer/cte$a;->c:Landroid/content/IContentProvider;
goto :goto_3b
.line 79
:cond_46
new-instance v1, Ldxoptimizer/cte$a;
const/4 v0, 0x0
invoke-direct {v1, v0}, Ldxoptimizer/cte$a;-><init>(Ldxoptimizer/cte$1;)V
:try_end_4c
.catchall {:try_start_3d .. :try_end_4c} :catchall_75
.line 81
:try_start_4c
sget-object v0, Ldxoptimizer/cte;->a:Ljava/lang/reflect/Method;
const/4 v3, 0x0
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
aput-object v2, v4, v5
invoke-virtual {v0, v3, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/IContentProvider;
iput-object v0, v1, Ldxoptimizer/cte$a;->c:Landroid/content/IContentProvider;
.line 82
iput-object p2, v1, Ldxoptimizer/cte$a;->a:Ljava/lang/String;
.line 83
iput-object v2, v1, Ldxoptimizer/cte$a;->b:Landroid/os/IBinder;
.line 84
const/4 v0, 0x1
iput v0, v1, Ldxoptimizer/cte$a;->d:I
.line 86
iget-object v0, p0, Ldxoptimizer/cte;->b:Ljava/util/HashMap;
iget-object v2, v1, Ldxoptimizer/cte$a;->a:Ljava/lang/String;
invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 87
iget-object v0, p0, Ldxoptimizer/cte;->c:Ljava/util/HashMap;
iget-object v2, v1, Ldxoptimizer/cte$a;->b:Landroid/os/IBinder;
invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_72
.catch Ljava/lang/Exception; {:try_start_4c .. :try_end_72} :catch_78
.catchall {:try_start_4c .. :try_end_72} :catchall_75
.line 94
:goto_72
:try_start_72
iget-object v0, v1, Ldxoptimizer/cte$a;->c:Landroid/content/IContentProvider;
:try_end_74
.catchall {:try_start_72 .. :try_end_74} :catchall_75
goto :goto_3b
.line 56
:catchall_75
move-exception v0
monitor-exit p0
throw v0
.line 88
:catch_78
move-exception v0
goto :goto_72
:cond_7a
move-object v0, v1
goto :goto_12
.end method
.method public declared-synchronized a(Landroid/content/IContentProvider;)Z
.registers 5
.prologue
.line 99
monitor-enter p0
const/4 v0, 0x0
.line 101
:try_start_2
invoke-interface {p1}, Landroid/content/IContentProvider;->asBinder()Landroid/os/IBinder;
move-result-object v1
.line 103
iget-object v2, p0, Ldxoptimizer/cte;->c:Ljava/util/HashMap;
invoke-virtual {v2, v1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_16
.line 104
iget-object v0, p0, Ldxoptimizer/cte;->c:Ljava/util/HashMap;
invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ldxoptimizer/cte$a;
.line 107
:cond_16
if-eqz v0, :cond_35
iget-object v2, v0, Ldxoptimizer/cte$a;->c:Landroid/content/IContentProvider;
if-eqz v2, :cond_35
.line 108
iget v2, v0, Ldxoptimizer/cte$a;->d:I
add-int/lit8 v2, v2, -0x1
iput v2, v0, Ldxoptimizer/cte$a;->d:I
.line 110
iget v2, v0, Ldxoptimizer/cte$a;->d:I
if-gtz v2, :cond_32
.line 111
iget-object v2, p0, Ldxoptimizer/cte;->b:Ljava/util/HashMap;
iget-object v0, v0, Ldxoptimizer/cte$a;->a:Ljava/lang/String;
invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 112
iget-object v0, p0, Ldxoptimizer/cte;->c:Ljava/util/HashMap;
invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:try_end_32
.catchall {:try_start_2 .. :try_end_32} :catchall_37
.line 115
:cond_32
const/4 v0, 0x1
.line 118
:goto_33
monitor-exit p0
return v0
:cond_35
const/4 v0, 0x0
goto :goto_33
.line 99
:catchall_37
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized b(Landroid/content/IContentProvider;)Z
.registers 5
.prologue
.line 122
monitor-enter p0
const/4 v0, 0x0
.line 123
:try_start_2
invoke-interface {p1}, Landroid/content/IContentProvider;->asBinder()Landroid/os/IBinder;
move-result-object v1
.line 124
iget-object v2, p0, Ldxoptimizer/cte;->c:Ljava/util/HashMap;
invoke-virtual {v2, v1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_16
.line 125
iget-object v0, p0, Ldxoptimizer/cte;->c:Ljava/util/HashMap;
invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ldxoptimizer/cte$a;
.line 128
:cond_16
if-eqz v0, :cond_2b
iget-object v2, v0, Ldxoptimizer/cte$a;->c:Landroid/content/IContentProvider;
if-eqz v2, :cond_2b
.line 129
iget-object v2, p0, Ldxoptimizer/cte;->b:Ljava/util/HashMap;
iget-object v0, v0, Ldxoptimizer/cte$a;->a:Ljava/lang/String;
invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 130
iget-object v0, p0, Ldxoptimizer/cte;->c:Ljava/util/HashMap;
invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:try_end_28
.catchall {:try_start_2 .. :try_end_28} :catchall_2d
.line 131
const/4 v0, 0x1
.line 133
:goto_29
monitor-exit p0
return v0
:cond_2b
const/4 v0, 0x0
goto :goto_29
.line 122
:catchall_2d
move-exception v0
monitor-exit p0
throw v0
.end method