cti.smali
.class public Ldxoptimizer/cti;
.super Landroid/view/LayoutInflater;
.source "PluginLayoutInflater.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Ldxoptimizer/cti$a;
}
.end annotation
# static fields
.field private static final a:[Ljava/lang/String;
.field private static final b:[Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.end field
# instance fields
.field private final c:Ljava/lang/ClassLoader;
.field private final d:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/reflect/Constructor",
"<+",
"Landroid/view/View;",
">;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
const/4 v4, 0x2
const/4 v3, 0x1
const/4 v2, 0x0
.line 23
const/4 v0, 0x3
new-array v0, v0, [Ljava/lang/String;
const-string v1, "android.widget."
aput-object v1, v0, v2
const-string v1, "android.webkit."
aput-object v1, v0, v3
const-string v1, "android.app."
aput-object v1, v0, v4
sput-object v0, Ldxoptimizer/cti;->a:[Ljava/lang/String;
.line 29
new-array v0, v4, [Ljava/lang/Class;
const-class v1, Landroid/content/Context;
aput-object v1, v0, v2
const-class v1, Landroid/util/AttributeSet;
aput-object v1, v0, v3
sput-object v0, Ldxoptimizer/cti;->b:[Ljava/lang/Class;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 4
.prologue
.line 49
invoke-direct {p0, p1}, Landroid/view/LayoutInflater;-><init>(Landroid/content/Context;)V
.line 52
invoke-virtual {p0}, Ldxoptimizer/cti;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
iput-object v0, p0, Ldxoptimizer/cti;->c:Ljava/lang/ClassLoader;
.line 53
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Ldxoptimizer/cti;->d:Ljava/util/HashMap;
.line 54
new-instance v0, Ldxoptimizer/cti$a;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Ldxoptimizer/cti$a;-><init>(Ldxoptimizer/cti;Ldxoptimizer/cti$1;)V
invoke-virtual {p0, v0}, Ldxoptimizer/cti;->setFactory(Landroid/view/LayoutInflater$Factory;)V
.line 55
return-void
.end method
.method public constructor <init>(Landroid/view/LayoutInflater;Landroid/content/Context;)V
.registers 5
.prologue
.line 58
invoke-direct {p0, p1, p2}, Landroid/view/LayoutInflater;-><init>(Landroid/view/LayoutInflater;Landroid/content/Context;)V
.line 64
invoke-virtual {p0}, Ldxoptimizer/cti;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
iput-object v0, p0, Ldxoptimizer/cti;->c:Ljava/lang/ClassLoader;
.line 66
instance-of v0, p1, Ldxoptimizer/cti;
if-eqz v0, :cond_2b
.line 68
check-cast p1, Ldxoptimizer/cti;
iget-object v0, p1, Ldxoptimizer/cti;->d:Ljava/util/HashMap;
iput-object v0, p0, Ldxoptimizer/cti;->d:Ljava/util/HashMap;
.line 73
:goto_17
invoke-virtual {p0}, Ldxoptimizer/cti;->getFactory()Landroid/view/LayoutInflater$Factory;
move-result-object v0
.line 74
if-eqz v0, :cond_21
instance-of v0, v0, Ldxoptimizer/cti$a;
if-nez v0, :cond_2a
.line 76
:cond_21
new-instance v0, Ldxoptimizer/cti$a;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Ldxoptimizer/cti$a;-><init>(Ldxoptimizer/cti;Ldxoptimizer/cti$1;)V
invoke-virtual {p0, v0}, Ldxoptimizer/cti;->setFactory(Landroid/view/LayoutInflater$Factory;)V
.line 78
:cond_2a
return-void
.line 70
:cond_2b
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Ldxoptimizer/cti;->d:Ljava/util/HashMap;
goto :goto_17
.end method
.method static synthetic a(Ldxoptimizer/cti;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
.registers 5
.prologue
.line 18
invoke-direct {p0, p1, p2, p3}, Ldxoptimizer/cti;->a(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method private a(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
.registers 7
.prologue
.line 115
:try_start_0
iget-object v0, p0, Ldxoptimizer/cti;->d:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/reflect/Constructor;
.line 116
if-nez v0, :cond_25
.line 122
iget-object v0, p0, Ldxoptimizer/cti;->c:Ljava/lang/ClassLoader;
invoke-virtual {v0, p1}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-class v1, Landroid/view/View;
invoke-virtual {v0, v1}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v0
.line 123
sget-object v1, Ldxoptimizer/cti;->b:[Ljava/lang/Class;
invoke-virtual {v0, v1}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
.line 124
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 125
iget-object v1, p0, Ldxoptimizer/cti;->d:Ljava/util/HashMap;
invoke-virtual {v1, p1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 133
:cond_25
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p2, v1, v2
const/4 v2, 0x1
aput-object p3, v1, v2
invoke-virtual {v0, v1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
:try_end_34
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_34} :catch_35
.line 138
:goto_34
return-object v0
.line 134
:catch_35
move-exception v0
.line 138
const/4 v0, 0x0
goto :goto_34
.end method
# virtual methods
.method public cloneInContext(Landroid/content/Context;)Landroid/view/LayoutInflater;
.registers 3
.prologue
.line 93
new-instance v0, Ldxoptimizer/cti;
invoke-direct {v0, p0, p1}, Ldxoptimizer/cti;-><init>(Landroid/view/LayoutInflater;Landroid/content/Context;)V
return-object v0
.end method
.method protected onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/ClassNotFoundException;
}
.end annotation
.prologue
.line 99
sget-object v2, Ldxoptimizer/cti;->a:[Ljava/lang/String;
array-length v3, v2
const/4 v0, 0x0
move v1, v0
:goto_5
if-ge v1, v3, :cond_15
aget-object v0, v2, v1
.line 101
:try_start_9
invoke-virtual {p0, p1, v0, p2}, Ldxoptimizer/cti;->createView(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
:try_end_c
.catch Ljava/lang/ClassNotFoundException; {:try_start_9 .. :try_end_c} :catch_10
move-result-object v0
.line 102
if-eqz v0, :cond_11
.line 110
:goto_f
return-object v0
.line 105
:catch_10
move-exception v0
.line 99
:cond_11
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_5
.line 110
:cond_15
invoke-super {p0, p1, p2}, Landroid/view/LayoutInflater;->onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
move-result-object v0
goto :goto_f
.end method