AssetsFileVersionControll.smali
.class public Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;
.super Ljava/lang/Object;
.source "AssetsFileVersionControll.java"
# static fields
.field private static final ENCODING:Ljava/lang/String; = "utf-8"
.field private static final VERSION_INI:Ljava/lang/String; = "version.ini"
.field private static final VER_DELTE_OLD_DB:Ljava/lang/String; = "5"
.field private static mInstance:Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;
# instance fields
.field private mIsCompleteVersionControll:Z
.field private mMutex:Ljava/lang/Object;
.field private mResVersionIni:Lcom/cleanmaster/hpsharelib/security/update/IniResolver;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 29
const/4 v0, 0x0
sput-object v0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mInstance:Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;
return-void
.end method
.method private constructor <init>()V
.registers 4
.prologue
const/4 v2, 0x0
const/4 v1, 0x0
.line 39
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 22
iput-object v2, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mResVersionIni:Lcom/cleanmaster/hpsharelib/security/update/IniResolver;
.line 23
iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mIsCompleteVersionControll:Z
.line 27
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mMutex:Ljava/lang/Object;
.line 40
iput-object v2, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mResVersionIni:Lcom/cleanmaster/hpsharelib/security/update/IniResolver;
.line 41
iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mIsCompleteVersionControll:Z
.line 42
return-void
.end method
.method private deleteOlderVersionDB(Landroid/content/Context;)V
.registers 19
.prologue
.line 213
invoke-static/range {p1 .. p1}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->getFilesDir(Landroid/content/Context;)Ljava/io/File;
move-result-object v13
.line 214
if-eqz v13, :cond_14f
invoke-virtual {v13}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_14f
invoke-virtual {v13}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_14f
.line 228
invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/system/ConflictCommons;->isCNVersion()Z
move-result v0
if-eqz v0, :cond_128
.line 229
const-string/jumbo v12, "pkgquery_hf_cn.db"
.line 230
const-string/jumbo v11, "pkgcache_hf_cn.db"
.line 231
const-string/jumbo v3, "pkgcache2_hf_cn.db"
.line 232
const-string/jumbo v2, "pkgcache4_hf_cn.db"
.line 233
const-string/jumbo v10, "pkgcache_show_hf_cn.db"
.line 234
const-string/jumbo v1, "pkgcache2_show_hf_cn.db"
.line 235
const-string/jumbo v0, "pkgcache4_show_hf_cn.db"
.line 236
const-string/jumbo v9, "preinstall_hf_cn.db"
.line 237
const-string/jumbo v8, "preinstall2_hf_cn.db"
.line 238
const-string v7, "game_memory_cn.bin"
.line 239
const-string v6, "appinfo2_hf_cn.db"
.line 240
const-string/jumbo v5, "pkgquery2_hf_cn.db"
.line 241
const-string/jumbo v4, "pkgquery5_hf_cn.db"
.line 258
:goto_3d
const/16 v14, 0x26
new-array v14, v14, [Ljava/lang/String;
const/4 v15, 0x0
const-string/jumbo v16, "strings.db"
aput-object v16, v14, v15
const/4 v15, 0x1
const-string v16, "clearpath3.edb"
aput-object v16, v14, v15
const/4 v15, 0x2
const-string v16, "clearpath3.db"
aput-object v16, v14, v15
const/4 v15, 0x3
const-string v16, "clearpath2.db"
aput-object v16, v14, v15
const/4 v15, 0x4
const-string/jumbo v16, "strings.db-journal"
aput-object v16, v14, v15
const/4 v15, 0x5
const-string v16, "clearpath4.edb"
aput-object v16, v14, v15
const/4 v15, 0x6
const-string/jumbo v16, "strings2.db"
aput-object v16, v14, v15
const/4 v15, 0x7
const-string/jumbo v16, "strings2.db-journal"
aput-object v16, v14, v15
const/16 v15, 0x8
const-string v16, "clearpath4_cache.edb"
aput-object v16, v14, v15
const/16 v15, 0x9
const-string v16, "clearpath4_other.edb"
aput-object v16, v14, v15
const/16 v15, 0xa
const-string v16, "clearpath5_other.db"
aput-object v16, v14, v15
const/16 v15, 0xb
const-string v16, "clearpath4_softdetail.edb"
aput-object v16, v14, v15
const/16 v15, 0xc
const-string v16, "clearpath5_softdetail.db"
aput-object v16, v14, v15
const/16 v15, 0xd
const-string v16, "clearpath5_cache.db"
aput-object v16, v14, v15
const/16 v15, 0xe
const-string v16, "clearpath6_cache.db"
aput-object v16, v14, v15
const/16 v15, 0xf
const-string v16, "clearpath_cache_5.9.1.db"
aput-object v16, v14, v15
const/16 v15, 0x10
const-string/jumbo v16, "strings2_softdetail.db"
aput-object v16, v14, v15
const/16 v15, 0x11
const-string/jumbo v16, "privacy_cache.db"
aput-object v16, v14, v15
const/16 v15, 0x12
const-string/jumbo v16, "process_tips.db"
aput-object v16, v14, v15
const/16 v15, 0x13
const-string v16, "appinfo_hf.db"
aput-object v16, v14, v15
const/16 v15, 0x14
const-string v16, "descpvirus.db"
aput-object v16, v14, v15
const/16 v15, 0x15
const-string/jumbo v16, "se_dns.bin"
aput-object v16, v14, v15
const/16 v15, 0x16
aput-object v12, v14, v15
const/16 v12, 0x17
aput-object v11, v14, v12
const/16 v11, 0x18
aput-object v10, v14, v11
const/16 v10, 0x19
aput-object v3, v14, v10
const/16 v3, 0x1a
aput-object v2, v14, v3
const/16 v2, 0x1b
aput-object v1, v14, v2
const/16 v1, 0x1c
aput-object v0, v14, v1
const/16 v0, 0x1d
aput-object v9, v14, v0
const/16 v0, 0x1e
aput-object v8, v14, v0
const/16 v0, 0x1f
aput-object v7, v14, v0
const/16 v0, 0x20
aput-object v6, v14, v0
const/16 v0, 0x21
aput-object v5, v14, v0
const/16 v0, 0x22
aput-object v4, v14, v0
const/16 v0, 0x23
const-string v1, "lib/libcleaninject.so"
aput-object v1, v14, v0
const/16 v0, 0x24
const-string v1, "lib/liblzma.so"
aput-object v1, v14, v0
const/16 v0, 0x25
const-string v1, "lib/libsyscore.so"
aput-object v1, v14, v0
.line 298
array-length v1, v14
const/4 v0, 0x0
:goto_10d
if-ge v0, v1, :cond_14f
aget-object v2, v14, v0
.line 299
new-instance v3, Ljava/io/File;
invoke-direct {v3, v13, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 300
invoke-virtual {v3}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_125
invoke-virtual {v3}, Ljava/io/File;->isFile()Z
move-result v2
if-eqz v2, :cond_125
.line 301
invoke-virtual {v3}, Ljava/io/File;->delete()Z
.line 298
:cond_125
add-int/lit8 v0, v0, 0x1
goto :goto_10d
.line 243
:cond_128
const-string/jumbo v12, "pkgquery_hf_en.db"
.line 244
const-string/jumbo v11, "pkgcache_hf_en.db"
.line 245
const-string/jumbo v3, "pkgcache2_hf_en.db"
.line 246
const-string/jumbo v2, "pkgcache4_hf_en.db"
.line 247
const-string/jumbo v10, "pkgcache_show_hf_en.db"
.line 248
const-string/jumbo v1, "pkgcache2_show_hf_en.db"
.line 249
const-string/jumbo v0, "pkgcache4_show_hf_en.db"
.line 250
const-string/jumbo v9, "preinstall_hf_en.db"
.line 251
const-string/jumbo v8, "preinstall2_hf_en.db"
.line 252
const-string v7, "game_memory_int.bin"
.line 253
const-string v6, "appinfo2_hf_en.db"
.line 254
const-string/jumbo v5, "pkgquery2_hf_en.db"
.line 255
const-string/jumbo v4, "pkgquery5_hf_en.db"
goto/16 :goto_3d
.line 305
:cond_14f
return-void
.end method
.method private doVersionCtrl(Z)V
.registers 4
.prologue
.line 199
:try_start_0
invoke-static {}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;->getInstance()Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;
move-result-object v0
invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/HostHelper;->getAppContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;->initialize(Landroid/content/Context;)Z
.line 200
invoke-static {}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;->getInstance()Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;
move-result-object v0
invoke-virtual {v0}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;->getSdCardExternalPath()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/keniu/security/MoEnvContextUtil;->initExternalPath(Ljava/lang/String;)V
.line 201
if-eqz p1, :cond_1c
.line 202
invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->doVersionCtrlWithCopyDb()V
.line 208
:goto_1b
return-void
.line 204
:cond_1c
invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->doVersionCtrlWithOutCopyDb()V
:try_end_1f
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_1f} :catch_20
goto :goto_1b
.line 205
:catch_20
move-exception v0
.line 206
invoke-virtual {v0}, Ljava/lang/Throwable;->printStackTrace()V
goto :goto_1b
.end method
.method private doVersionCtrlWithCopyDb()V
.registers 3
.prologue
.line 92
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mMutex:Ljava/lang/Object;
monitor-enter v1
.line 170
:try_start_3
monitor-exit v1
.line 171
return-void
.line 170
:catchall_5
move-exception v0
monitor-exit v1
:try_end_7
.catchall {:try_start_3 .. :try_end_7} :catchall_5
throw v0
.end method
.method private doVersionCtrlWithOutCopyDb()V
.registers 6
.prologue
.line 174
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mMutex:Ljava/lang/Object;
monitor-enter v1
.line 175
const/4 v0, 0x0
:try_start_4
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mIsCompleteVersionControll:Z
.line 176
invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/HostHelper;->getAppContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
.line 178
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mResVersionIni:Lcom/cleanmaster/hpsharelib/security/update/IniResolver;
invoke-virtual {v0}, Lcom/cleanmaster/hpsharelib/security/update/IniResolver;->getAllSection()Ljava/util/Collection;
move-result-object v0
.line 179
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v2
.line 181
:cond_17
:goto_17
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_48
.line 182
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 183
const-string v3, "data"
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_17
const-string v3, "config"
.line 184
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_17
.line 188
new-instance v3, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager$Item;
invoke-direct {v3}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager$Item;-><init>()V
.line 189
iget-object v4, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mResVersionIni:Lcom/cleanmaster/hpsharelib/security/update/IniResolver;
invoke-virtual {v3, v4, v0}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager$Item;->initFromIni(Lcom/cleanmaster/hpsharelib/security/update/IniResolver;Ljava/lang/String;)V
.line 191
invoke-static {}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;->getInstance()Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;
move-result-object v4
invoke-virtual {v4, v0, v3}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;->putItem(Ljava/lang/String;Lcom/cleanmaster/hpsharelib/security/update/UpdateManager$Item;)V
goto :goto_17
.line 194
:catchall_45
move-exception v0
monitor-exit v1
:try_end_47
.catchall {:try_start_4 .. :try_end_47} :catchall_45
throw v0
.line 193
:cond_48
const/4 v0, 0x1
:try_start_49
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mIsCompleteVersionControll:Z
.line 194
monitor-exit v1
:try_end_4c
.catchall {:try_start_49 .. :try_end_4c} :catchall_45
.line 195
return-void
.end method
.method public static declared-synchronized getInstance()Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;
.registers 2
.prologue
.line 32
const-class v1, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;
monitor-enter v1
:try_start_3
sget-object v0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mInstance:Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;
if-nez v0, :cond_e
.line 33
new-instance v0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;
invoke-direct {v0}, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;-><init>()V
sput-object v0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mInstance:Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;
.line 36
:cond_e
sget-object v0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mInstance:Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;
:try_end_10
.catchall {:try_start_3 .. :try_end_10} :catchall_12
monitor-exit v1
return-object v0
.line 32
:catchall_12
move-exception v0
monitor-exit v1
throw v0
.end method
.method private listDirToFile(Ljava/lang/String;Ljava/io/File;)V
.registers 7
.prologue
.line 74
:try_start_0
invoke-virtual {p2}, Ljava/io/File;->delete()Z
.line 75
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
const-string/jumbo v1, "sh"
invoke-virtual {v0, v1}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
move-result-object v0
.line 76
invoke-virtual {v0}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream;
move-result-object v1
.line 77
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "ls -al "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " > "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {p2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "\n"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 78
invoke-virtual {v2}, Ljava/lang/String;->getBytes()[B
move-result-object v2
invoke-virtual {v1, v2}, Ljava/io/OutputStream;->write([B)V
.line 79
invoke-virtual {v1}, Ljava/io/OutputStream;->flush()V
.line 80
invoke-virtual {v1}, Ljava/io/OutputStream;->close()V
:try_end_46
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_46} :catch_4f
.line 82
const-wide/16 v2, 0x3e8
:try_start_48
invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
:try_end_4b
.catch Ljava/lang/InterruptedException; {:try_start_48 .. :try_end_4b} :catch_54
.catch Ljava/lang/Exception; {:try_start_48 .. :try_end_4b} :catch_4f
.line 85
:goto_4b
:try_start_4b
invoke-virtual {v0}, Ljava/lang/Process;->destroy()V
:try_end_4e
.catch Ljava/lang/Exception; {:try_start_4b .. :try_end_4e} :catch_4f
.line 89
:goto_4e
return-void
.line 86
:catch_4f
move-exception v0
.line 87
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_4e
.line 83
:catch_54
move-exception v1
goto :goto_4b
.end method
# virtual methods
.method public clearDbFiles()V
.registers 1
.prologue
.line 399
return-void
.end method
.method public controllVersionSync(Lcom/cleanmaster/hpsharelib/security/update/IniResolver;Z)V
.registers 3
.prologue
.line 59
if-nez p1, :cond_3
.line 65
:goto_2
return-void
.line 63
:cond_3
iput-object p1, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mResVersionIni:Lcom/cleanmaster/hpsharelib/security/update/IniResolver;
.line 64
invoke-direct {p0, p2}, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->doVersionCtrl(Z)V
goto :goto_2
.end method
.method public getControllVersionState()Z
.registers 2
.prologue
.line 68
iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/security/update/AssetsFileVersionControll;->mIsCompleteVersionControll:Z
return v0
.end method