KResidualCloudQueryHolder.smali
.class public final Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;
.super Ljava/lang/Object;
.source "KResidualCloudQueryHolder.java"
# static fields
.field private static final HOLDER:Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;
# instance fields
.field private volatile mResidualCloudQueryRef:Ljava/lang/ref/SoftReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/SoftReference",
"<",
"Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 12
new-instance v0, Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;
invoke-direct {v0}, Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;-><init>()V
sput-object v0, Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;->HOLDER:Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;
return-void
.end method
.method private constructor <init>()V
.registers 2
.prologue
.line 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 13
const/4 v0, 0x0
iput-object v0, p0, Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;->mResidualCloudQueryRef:Ljava/lang/ref/SoftReference;
.line 18
return-void
.end method
.method public static createIKResidualCloudQuery()Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;
.registers 4
.prologue
.line 25
invoke-static {}, Lcom/cleanmaster/cleancloud/core/KCleanCloudFactroy;->createResidualCloudQuery()Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;
move-result-object v0
.line 26
invoke-static {}, Lcom/cleanmaster/cleancloudhelper/CleanCloudScanHelper;->getCurrentLanguage()Ljava/lang/String;
move-result-object v1
.line 27
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v2
invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v2
.line 28
invoke-interface {v0}, Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;->initialize()Z
.line 29
invoke-interface {v0, v1}, Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;->setLanguage(Ljava/lang/String;)Z
.line 30
new-instance v1, Lcom/cleanmaster/cleancloudhelper/PackageCheckerForCloudQuery;
const/4 v3, 0x0
invoke-direct {v1, v3}, Lcom/cleanmaster/cleancloudhelper/PackageCheckerForCloudQuery;-><init>(Lcom/cleanmaster/util/MD5PackageNameConvert;)V
.line 31
invoke-interface {v0, v1}, Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;->setPackageChecker(Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery$IPackageChecker;)Z
.line 32
invoke-interface {v0, v2}, Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;->setSdCardRootPath(Ljava/lang/String;)Z
.line 33
return-object v0
.end method
.method public static getInstance()Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;
.registers 1
.prologue
.line 21
sget-object v0, Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;->HOLDER:Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;
return-object v0
.end method
# virtual methods
.method public getIkResidualCloudQuery()Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;
.registers 3
.prologue
.line 49
const/4 v0, 0x0
.line 50
monitor-enter p0
.line 51
:try_start_2
iget-object v1, p0, Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;->mResidualCloudQueryRef:Ljava/lang/ref/SoftReference;
.line 52
if-eqz v1, :cond_c
.line 53
invoke-virtual {v1}, Ljava/lang/ref/SoftReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;
.line 55
:cond_c
if-nez v0, :cond_19
.line 56
invoke-static {}, Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;->createIKResidualCloudQuery()Lcom/cm/plugincluster/junkengine/cleancloud/IKResidualCloudQuery;
move-result-object v0
.line 57
new-instance v1, Ljava/lang/ref/SoftReference;
invoke-direct {v1, v0}, Ljava/lang/ref/SoftReference;-><init>(Ljava/lang/Object;)V
iput-object v1, p0, Lcom/cleanmaster/cleancloudhelper/KResidualCloudQueryHolder;->mResidualCloudQueryRef:Ljava/lang/ref/SoftReference;
.line 59
:cond_19
monitor-exit p0
.line 60
return-object v0
.line 59
:catchall_1b
move-exception v0
monitor-exit p0
:try_end_1d
.catchall {:try_start_2 .. :try_end_1d} :catchall_1b
throw v0
.end method