PluginInflaterFactory.smali
.class public Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;
.super Ljava/lang/Object;
.source "PluginInflaterFactory.java"
# interfaces
.implements Landroid/view/LayoutInflater$Factory;
.implements Landroid/view/LayoutInflater$Factory2;
# instance fields
.field private mBaseFactory:Landroid/view/LayoutInflater$Factory;
.field private mBaseFactory2:Landroid/view/LayoutInflater$Factory2;
.field private mClassLoader:Ljava/lang/ClassLoader;
# direct methods
.method public constructor <init>(Landroid/view/LayoutInflater$Factory2;Ljava/lang/ClassLoader;)V
.registers 5
.prologue
.line 30
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 31
if-nez p2, :cond_d
.line 32
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "classLoader is null"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 34
:cond_d
iput-object p1, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mBaseFactory2:Landroid/view/LayoutInflater$Factory2;
.line 35
iput-object p2, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mClassLoader:Ljava/lang/ClassLoader;
.line 36
return-void
.end method
.method public constructor <init>(Landroid/view/LayoutInflater$Factory;Ljava/lang/ClassLoader;)V
.registers 5
.prologue
.line 22
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 23
if-nez p2, :cond_d
.line 24
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "classLoader is null"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 26
:cond_d
iput-object p1, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mBaseFactory:Landroid/view/LayoutInflater$Factory;
.line 27
iput-object p2, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mClassLoader:Ljava/lang/ClassLoader;
.line 28
return-void
.end method
.method private assembleView(Ljava/lang/String;)Ljava/lang/String;
.registers 3
.prologue
.line 77
invoke-static {p1}, Lcom/cleanmaster/hpcommonlib/AssembleViewConstant;->assembleView(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private getView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
.registers 9
.prologue
.line 81
const/4 v1, 0x0
.line 83
:try_start_1
iget-object v0, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mClassLoader:Ljava/lang/ClassLoader;
invoke-virtual {v0, p1}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
.line 84
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, Landroid/util/AttributeSet;
aput-object v4, v2, v3
invoke-virtual {v0, v2}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
.line 85
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p2, v2, v3
const/4 v3, 0x1
aput-object p3, v2, v3
invoke-virtual {v0, v2}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
:try_end_27
.catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_27} :catch_28
.catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_27} :catch_2b
.catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_27} :catch_2e
.catch Ljava/lang/InstantiationException; {:try_start_1 .. :try_end_27} :catch_31
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_27} :catch_34
.line 97
:goto_27
return-object v0
.line 86
:catch_28
move-exception v0
move-object v0, v1
.line 96
goto :goto_27
.line 88
:catch_2b
move-exception v0
move-object v0, v1
.line 96
goto :goto_27
.line 90
:catch_2e
move-exception v0
move-object v0, v1
.line 96
goto :goto_27
.line 92
:catch_31
move-exception v0
move-object v0, v1
.line 96
goto :goto_27
.line 94
:catch_34
move-exception v0
move-object v0, v1
goto :goto_27
.end method
# virtual methods
.method public onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
.registers 7
.prologue
.line 59
const-string v0, "."
invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_14
.line 60
invoke-direct {p0, p2}, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->assembleView(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 61
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_14
.line 62
const/4 v0, 0x0
.line 73
:cond_13
:goto_13
return-object v0
.line 66
:cond_14
invoke-direct {p0, p2, p3, p4}, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->getView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
move-result-object v0
.line 67
if-nez v0, :cond_13
.line 70
iget-object v1, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mBaseFactory2:Landroid/view/LayoutInflater$Factory2;
if-eqz v1, :cond_13
iget-object v1, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mBaseFactory2:Landroid/view/LayoutInflater$Factory2;
instance-of v1, v1, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;
if-nez v1, :cond_13
.line 71
iget-object v0, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mBaseFactory2:Landroid/view/LayoutInflater$Factory2;
invoke-interface {v0, p1, p2, p3, p4}, Landroid/view/LayoutInflater$Factory2;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
move-result-object v0
goto :goto_13
.end method
.method public onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
.registers 6
.prologue
.line 40
const-string v0, "."
invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_14
.line 41
invoke-direct {p0, p1}, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->assembleView(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 42
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_14
.line 43
const/4 v0, 0x0
.line 54
:cond_13
:goto_13
return-object v0
.line 47
:cond_14
invoke-direct {p0, p1, p2, p3}, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->getView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
move-result-object v0
.line 48
if-nez v0, :cond_13
.line 51
iget-object v1, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mBaseFactory:Landroid/view/LayoutInflater$Factory;
if-eqz v1, :cond_13
iget-object v1, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mBaseFactory:Landroid/view/LayoutInflater$Factory;
instance-of v1, v1, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;
if-nez v1, :cond_13
.line 52
iget-object v0, p0, Lcom/cleanmaster/hpcommonlib/PluginInflaterFactory;->mBaseFactory:Landroid/view/LayoutInflater$Factory;
invoke-interface {v0, p1, p2, p3}, Landroid/view/LayoutInflater$Factory;->onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
move-result-object v0
goto :goto_13
.end method