CheckDefaultSoExist.smali
.class public Lcom/baidu/pass/biometrics/base/dynamicupdate/CheckDefaultSoExist;
.super Ljava/lang/Object;
.source "CheckDefaultSoExist.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static findLibrary1(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 9
.prologue
.line 40
const/4 v1, 0x0
.line 41
invoke-virtual {p0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
.line 42
if-eqz v0, :cond_3c
.line 44
:try_start_7
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-string v3, "findLibrary"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/String;
aput-object v6, v4, v5
.line 45
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
.line 46
if-eqz v2, :cond_3c
.line 47
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
invoke-virtual {v2, v0, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 48
if-eqz v0, :cond_3c
instance-of v2, v0, Ljava/lang/String;
if-eqz v2, :cond_3c
.line 49
check-cast v0, Ljava/lang/String;
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_2d} :catch_2e
.line 58
:goto_2d
return-object v0
.line 52
:catch_2e
move-exception v0
move-object v1, v0
.line 53
const-string v0, "catch Exception"
.line 54
const-string v2, "findLibrary1"
invoke-virtual {v1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_2d
:cond_3c
move-object v0, v1
goto :goto_2d
.end method
.method private static findLibrary2(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 9
.prologue
.line 66
const/4 v1, 0x0
.line 67
invoke-virtual {p0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
.line 68
if-eqz v0, :cond_46
.line 70
:try_start_7
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-string v3, "findLibrary"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/String;
aput-object v6, v4, v5
.line 71
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
.line 72
if-eqz v2, :cond_46
.line 73
invoke-virtual {v2}, Ljava/lang/reflect/Method;->isAccessible()Z
move-result v3
if-nez v3, :cond_25
.line 74
const/4 v3, 0x1
invoke-virtual {v2, v3}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 76
:cond_25
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
invoke-virtual {v2, v0, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 77
if-eqz v0, :cond_46
instance-of v2, v0, Ljava/lang/String;
if-eqz v2, :cond_46
.line 78
check-cast v0, Ljava/lang/String;
:try_end_37
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_37} :catch_38
.line 87
:goto_37
return-object v0
.line 81
:catch_38
move-exception v0
move-object v1, v0
.line 82
const-string v0, "catch Exception"
.line 83
const-string v2, "findLibrary2"
invoke-virtual {v1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_37
:cond_46
move-object v0, v1
goto :goto_37
.end method
.method public static isExist(Landroid/content/Context;)V
.registers 8
.prologue
.line 20
sget-object v2, Lcom/baidu/pass/biometrics/base/dynamicupdate/LoadSo;->SO_NAME_ARRAY:[Ljava/lang/String;
array-length v3, v2
const/4 v0, 0x0
move v1, v0
:goto_5
if-ge v1, v3, :cond_44
aget-object v4, v2, v1
.line 22
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v5, 0x8
if-le v0, v5, :cond_3f
.line 23
invoke-static {p0, v4}, Lcom/baidu/pass/biometrics/base/dynamicupdate/CheckDefaultSoExist;->findLibrary1(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 27
:goto_13
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_3b
.line 28
const-string v0, "CheckDefaultSoExist"
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string v6, " so is not exist ,please put the "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, " so file in the right folder"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v0, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 20
:cond_3b
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_5
.line 25
:cond_3f
invoke-static {p0, v4}, Lcom/baidu/pass/biometrics/base/dynamicupdate/CheckDefaultSoExist;->findLibrary2(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_13
.line 32
:cond_44
return-void
.end method