LibLoader.smali
.class public Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
.super Ljava/lang/Object;
.source "LibLoader.java"
# static fields
.field private static mInst:Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
# instance fields
.field private libString:Ljava/lang/String;
.field private volatile mLoadedLzma:Z
.field private volatile mLoadedSysCore:Z
.field private mLzmaCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.field private mSysCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.field private mUtils:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.field private mUtilsLoaded:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 5
const/4 v0, 0x0
sput-object v0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mInst:Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
return-void
.end method
.method private constructor <init>()V
.registers 3
.prologue
const/4 v1, 0x0
const/4 v0, 0x0
.line 17
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 127
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->libString:Ljava/lang/String;
.line 129
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtils:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.line 130
iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtilsLoaded:Z
.line 132
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mSysCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.line 133
iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedSysCore:Z
.line 135
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLzmaCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.line 136
iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedLzma:Z
.line 18
return-void
.end method
.method public static getInstance()Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
.registers 2
.prologue
.line 8
sget-object v0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mInst:Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
if-nez v0, :cond_13
.line 9
const-class v1, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
monitor-enter v1
.line 10
:try_start_7
sget-object v0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mInst:Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
if-nez v0, :cond_12
.line 11
new-instance v0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
invoke-direct {v0}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;-><init>()V
sput-object v0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mInst:Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
.line 12
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
.line 14
:cond_13
sget-object v0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mInst:Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;
return-object v0
.line 12
:catchall_16
move-exception v0
:try_start_17
monitor-exit v1
:try_end_18
.catchall {:try_start_17 .. :try_end_18} :catchall_16
throw v0
.end method
# virtual methods
.method public isLzmaLoaded()Z
.registers 2
.prologue
.line 57
iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedLzma:Z
return v0
.end method
.method public isSysCoreLoaded()Z
.registers 2
.prologue
.line 23
iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedSysCore:Z
return v0
.end method
.method public loadLibaryLzma(Ljava/lang/String;)V
.registers 6
.prologue
const/4 v1, 0x1
const/4 v0, 0x0
.line 61
iget-boolean v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedLzma:Z
if-eqz v2, :cond_13
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLzmaCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
if-eqz v2, :cond_12
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLzmaCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v2}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->isLibraryOk()Z
move-result v2
if-eqz v2, :cond_13
.line 86
:cond_12
:goto_12
return-void
.line 66
:cond_13
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedLzma:Z
.line 69
new-instance v2, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-direct {v2, p1}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;-><init>(Ljava/lang/String;)V
iput-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLzmaCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.line 72
:try_start_1c
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLzmaCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v2}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->load()Z
move-result v2
if-nez v2, :cond_3f
.line 73
invoke-static {p1}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
:try_end_27
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_1c .. :try_end_27} :catch_35
.line 76
:goto_27
const/4 v1, 0x1
:try_start_28
iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedLzma:Z
:try_end_2a
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_28 .. :try_end_2a} :catch_3d
.line 81
:goto_2a
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLzmaCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v1}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->close()V
.line 83
if-nez v0, :cond_12
.line 84
const/4 v0, 0x0
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLzmaCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
goto :goto_12
.line 77
:catch_35
move-exception v0
move-object v3, v0
move v0, v1
move-object v1, v3
.line 78
:goto_39
invoke-virtual {v1}, Ljava/lang/UnsatisfiedLinkError;->printStackTrace()V
goto :goto_2a
.line 77
:catch_3d
move-exception v1
goto :goto_39
:cond_3f
move v0, v1
goto :goto_27
.end method
.method public loadLibarySyscore(Ljava/lang/String;)V
.registers 6
.prologue
const/4 v1, 0x1
const/4 v0, 0x0
.line 27
iget-boolean v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedSysCore:Z
if-eqz v2, :cond_13
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mSysCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
if-eqz v2, :cond_12
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mSysCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v2}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->isLibraryOk()Z
move-result v2
if-eqz v2, :cond_13
.line 52
:cond_12
:goto_12
return-void
.line 32
:cond_13
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedSysCore:Z
.line 35
new-instance v2, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-direct {v2, p1}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;-><init>(Ljava/lang/String;)V
iput-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mSysCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.line 38
:try_start_1c
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mSysCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v2}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->load()Z
move-result v2
if-nez v2, :cond_3f
.line 39
invoke-static {p1}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
:try_end_27
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_1c .. :try_end_27} :catch_35
.line 42
:goto_27
const/4 v1, 0x1
:try_start_28
iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mLoadedSysCore:Z
:try_end_2a
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_28 .. :try_end_2a} :catch_3d
.line 47
:goto_2a
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mSysCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v1}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->close()V
.line 49
if-nez v0, :cond_12
.line 50
const/4 v0, 0x0
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mSysCore:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
goto :goto_12
.line 43
:catch_35
move-exception v0
move-object v3, v0
move v0, v1
move-object v1, v3
.line 44
:goto_39
invoke-virtual {v1}, Ljava/lang/UnsatisfiedLinkError;->printStackTrace()V
goto :goto_2a
.line 43
:catch_3d
move-exception v1
goto :goto_39
:cond_3f
move v0, v1
goto :goto_27
.end method
.method public loadLibrary(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.prologue
const/4 v1, 0x1
const/4 v0, 0x0
.line 95
iget-boolean v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtilsLoaded:Z
if-eqz v2, :cond_15
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtils:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
if-eqz v2, :cond_12
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtils:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v2}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->isLibraryOk()Z
move-result v2
if-eqz v2, :cond_15
.line 97
:cond_12
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->libString:Ljava/lang/String;
.line 124
:goto_14
return-object v0
.line 100
:cond_15
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtilsLoaded:Z
.line 103
new-instance v2, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-direct {v2, p1}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;-><init>(Ljava/lang/String;)V
iput-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtils:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.line 104
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtils:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v2}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->load()Z
move-result v2
if-nez v2, :cond_54
.line 105
invoke-static {p1}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.line 106
const-string v2, "kcmutil"
invoke-virtual {v2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_33
.line 107
iput-object p1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->libString:Ljava/lang/String;
.line 112
:cond_33
:goto_33
if-eqz v0, :cond_45
const-string v2, "kcmutil"
invoke-virtual {v2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_45
.line 113
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtils:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v2}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->getLibFullPath()Ljava/lang/String;
move-result-object v2
iput-object v2, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->libString:Ljava/lang/String;
.line 116
:cond_45
iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtilsLoaded:Z
.line 118
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtils:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
invoke-virtual {v1}, Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;->close()V
.line 120
if-nez v0, :cond_51
.line 121
const/4 v0, 0x0
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->mUtils:Lcom/cleanmaster/hpsharelib/base/lib/LibLoadUtils;
.line 124
:cond_51
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/lib/LibLoader;->libString:Ljava/lang/String;
goto :goto_14
:cond_54
move v0, v1
goto :goto_33
.end method