CompetitorStrategy.smali
.class public Lcom/cleanmaster/junk/util/CompetitorStrategy;
.super Ljava/lang/Object;
.source "CompetitorStrategy.java"
# static fields
.field public static final FEATURE_ID_BOOST:I = 0x1
.field public static final FEATURE_ID_RESIDUAL_THUMBNAIL:I = 0x4
.field public static final FEATURE_ID_SYSCACHE:I = 0x2
.field private static m_mapFeaturePkgList:Landroid/util/SparseArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/SparseArray",
"<",
"Ljava/util/HashSet",
"<",
"Ljava/lang/String;",
">;>;"
}
.end annotation
.end field
.field private static m_strJsonArray:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 23
const-string v0, ""
sput-object v0, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_strJsonArray:Ljava/lang/String;
.line 24
new-instance v0, Landroid/util/SparseArray;
invoke-direct {v0}, Landroid/util/SparseArray;-><init>()V
sput-object v0, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_mapFeaturePkgList:Landroid/util/SparseArray;
return-void
.end method
.method private constructor <init>()V
.registers 1
.prologue
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 28
return-void
.end method
.method public static isCompetitorFeatureEnabled(I)Z
.registers 8
.prologue
const/4 v3, 0x0
.line 77
invoke-static {}, Lcom/cleanmaster/junk/util/JunkUtils;->getPkgInfoList()Ljava/util/List;
move-result-object v1
.line 79
invoke-static {}, Lcom/cleanmaster/junk/util/CompetitorStrategy;->prepareCompetitorFeaturePkgMapping()V
.line 80
sget-object v0, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_mapFeaturePkgList:Landroid/util/SparseArray;
invoke-virtual {v0}, Landroid/util/SparseArray;->size()I
move-result v0
if-nez v0, :cond_12
move v0, v3
.line 103
:goto_11
return v0
.line 84
:cond_12
sget-object v0, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_mapFeaturePkgList:Landroid/util/SparseArray;
invoke-virtual {v0, p0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/HashSet;
.line 85
if-eqz v0, :cond_1e
if-nez v1, :cond_20
:cond_1e
move v0, v3
.line 86
goto :goto_11
.line 90
:cond_20
:try_start_20
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:cond_24
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_56
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/content/pm/PackageInfo;
.line 91
iget-object v2, v1, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_24
.line 92
invoke-virtual {v0}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
move-result-object v5
:cond_3c
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_24
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 93
iget-object v6, v1, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
invoke-virtual {v2, v6}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
:try_end_4d
.catch Ljava/lang/Exception; {:try_start_20 .. :try_end_4d} :catch_52
move-result v2
if-eqz v2, :cond_3c
.line 94
const/4 v0, 0x1
goto :goto_11
.line 99
:catch_52
move-exception v0
.line 100
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:cond_56
move v0, v3
.line 103
goto :goto_11
.end method
.method private static declared-synchronized prepareCompetitorFeaturePkgMapping()V
.registers 10
.prologue
.line 32
const-class v3, Lcom/cleanmaster/junk/util/CompetitorStrategy;
monitor-enter v3
:try_start_3
const-string v0, "junk_scan_eng_setting"
const-string v1, "junk_scan_competitor_pkg_feat_list"
const-string v2, ""
invoke-static {v0, v1, v2}, Lcom/cleanmaster/junkengine/junk/util/JunkCloudConfig;->getStringValue(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
.line 37
if-eqz v4, :cond_17
sget-object v0, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_strJsonArray:Ljava/lang/String;
invoke-virtual {v4, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_73
move-result v0
if-eqz v0, :cond_19
.line 73
:cond_17
:goto_17
monitor-exit v3
return-void
.line 41
:cond_19
:try_start_19
sget-object v0, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_mapFeaturePkgList:Landroid/util/SparseArray;
invoke-virtual {v0}, Landroid/util/SparseArray;->clear()V
:try_end_1e
.catchall {:try_start_19 .. :try_end_1e} :catchall_73
.line 43
:try_start_1e
new-instance v5, Lorg/json/JSONArray;
invoke-direct {v5, v4}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
.line 44
invoke-virtual {v5}, Lorg/json/JSONArray;->length()I
move-result v6
.line 45
if-lez v6, :cond_66
.line 46
const/4 v0, 0x0
move v2, v0
:goto_2b
if-ge v2, v6, :cond_66
.line 47
invoke-virtual {v5, v2}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;
move-result-object v0
.line 48
if-eqz v0, :cond_62
.line 49
const-string v1, "name"
invoke-virtual {v0, v1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
.line 50
const-string v1, "plan"
invoke-virtual {v0, v1}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I
move-result v8
.line 51
const/4 v0, 0x1
move v1, v0
.line 52
:goto_41
if-gt v1, v8, :cond_62
.line 53
and-int v0, v1, v8
if-eqz v0, :cond_5e
.line 54
sget-object v0, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_mapFeaturePkgList:Landroid/util/SparseArray;
invoke-virtual {v0, v1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/HashSet;
.line 55
if-nez v0, :cond_5b
.line 56
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
.line 57
sget-object v9, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_mapFeaturePkgList:Landroid/util/SparseArray;
invoke-virtual {v9, v1, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
.line 59
:cond_5b
invoke-virtual {v0, v7}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
.line 61
:cond_5e
shl-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_41
.line 46
:cond_62
add-int/lit8 v0, v2, 0x1
move v2, v0
goto :goto_2b
.line 68
:cond_66
sput-object v4, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_strJsonArray:Ljava/lang/String;
:try_end_68
.catch Lorg/json/JSONException; {:try_start_1e .. :try_end_68} :catch_69
.catchall {:try_start_1e .. :try_end_68} :catchall_73
goto :goto_17
.line 69
:catch_69
move-exception v0
.line 70
:try_start_6a
invoke-virtual {v0}, Lorg/json/JSONException;->printStackTrace()V
.line 71
sget-object v0, Lcom/cleanmaster/junk/util/CompetitorStrategy;->m_mapFeaturePkgList:Landroid/util/SparseArray;
invoke-virtual {v0}, Landroid/util/SparseArray;->clear()V
:try_end_72
.catchall {:try_start_6a .. :try_end_72} :catchall_73
goto :goto_17
.line 32
:catchall_73
move-exception v0
monitor-exit v3
throw v0
.end method