CMAPIService.smali
.class public Lcom/cleanmaster/api/CMAPIService;
.super Landroid/app/Service;
.source "CMAPIService.java"
# static fields
.field private static final b:[Ljava/lang/String;
# instance fields
.field private a:Lcom/cleanmaster/api/ICMAPI;
# direct methods
.method static constructor <clinit>()V
.registers 3
.prologue
.line 235
const/4 v0, 0x3
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "1234290bd65264960a05382588f5b5da"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "b5161b5225f6caef3ffe83790e4c7252"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "ee3200d6e4d372fb12abc923ea5633c1"
aput-object v2, v0, v1
sput-object v0, Lcom/cleanmaster/api/CMAPIService;->b:[Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.registers 2
.prologue
.line 40
invoke-direct {p0}, Landroid/app/Service;-><init>()V
.line 44
new-instance v0, Lcom/cleanmaster/api/a;
invoke-direct {v0, p0}, Lcom/cleanmaster/api/a;-><init>(Lcom/cleanmaster/api/CMAPIService;)V
iput-object v0, p0, Lcom/cleanmaster/api/CMAPIService;->a:Lcom/cleanmaster/api/ICMAPI;
return-void
.end method
.method private a()V
.registers 8
.prologue
const/4 v6, 0x0
.line 252
invoke-static {}, Landroid/os/Binder;->getCallingUid()I
move-result v2
.line 253
invoke-static {}, Landroid/os/Process;->myUid()I
move-result v0
if-ne v0, v2, :cond_c
.line 287
:cond_b
:goto_b
return-void
.line 255
:cond_c
invoke-static {}, Lcom/keniu/security/l;->d()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v3
.line 256
new-instance v0, Lcom/cleanmaster/activitymanagerhelper/ActivityManagerHelper;
invoke-direct {v0}, Lcom/cleanmaster/activitymanagerhelper/ActivityManagerHelper;-><init>()V
.line 257
invoke-static {}, Lcom/cmcm/rtstub/RTApiClient;->getInst()Lcom/cmcm/rtstub/RTApiClient;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/cleanmaster/activitymanagerhelper/ActivityManagerHelper;->setSkeyclient(Lcom/cmcm/rtstub/RTApiClient;)V
.line 258
invoke-virtual {v0, v3}, Lcom/cleanmaster/activitymanagerhelper/ActivityManagerHelper;->getRunningAppProcesses(Landroid/content/Context;)Ljava/util/List;
move-result-object v0
.line 260
const/4 v1, 0x0
.line 261
if-eqz v0, :cond_7b
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v4
if-lez v4, :cond_7b
.line 262
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:cond_31
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_7b
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/activitymanagerhelper/RunningAppProcessInfo;
.line 263
iget v5, v0, Lcom/cleanmaster/activitymanagerhelper/RunningAppProcessInfo;->uid:I
if-ne v5, v2, :cond_31
.line 264
iget-object v5, v0, Lcom/cleanmaster/activitymanagerhelper/RunningAppProcessInfo;->pkgList:[Ljava/lang/String;
array-length v5, v5
if-lez v5, :cond_31
.line 265
iget-object v0, v0, Lcom/cleanmaster/activitymanagerhelper/RunningAppProcessInfo;->pkgList:[Ljava/lang/String;
aget-object v0, v0, v6
.line 272
:goto_4a
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_b
.line 276
new-instance v1, Lcom/cleanmaster/hpcommonlib/utils/PackageManagerWrapper;
invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
invoke-direct {v1, v2}, Lcom/cleanmaster/hpcommonlib/utils/PackageManagerWrapper;-><init>(Landroid/content/pm/PackageManager;)V
.line 278
const/16 v2, 0x40
:try_start_5b
invoke-virtual {v1, v0, v2}, Lcom/cleanmaster/hpcommonlib/utils/PackageManagerWrapper;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v0
.line 279
new-instance v1, Lcom/cleanmaster/hpsharelib/base/util/hash/GetPkgSignatureHash;
invoke-direct {v1}, Lcom/cleanmaster/hpsharelib/base/util/hash/GetPkgSignatureHash;-><init>()V
.line 280
iget-object v0, v0, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
invoke-virtual {v1, v0}, Lcom/cleanmaster/hpsharelib/base/util/hash/GetPkgSignatureHash;->getPkgSignatureMD5([Landroid/content/pm/Signature;)[Ljava/lang/String;
move-result-object v0
.line 281
if-eqz v0, :cond_b
array-length v1, v0
if-lez v1, :cond_b
.line 282
const/4 v1, 0x0
aget-object v0, v0, v1
invoke-direct {p0, v0}, Lcom/cleanmaster/api/CMAPIService;->a(Ljava/lang/String;)V
:try_end_75
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_5b .. :try_end_75} :catch_76
goto :goto_b
.line 284
:catch_76
move-exception v0
.line 285
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
goto :goto_b
:cond_7b
move-object v0, v1
goto :goto_4a
.end method
.method static synthetic a(Lcom/cleanmaster/api/CMAPIService;)V
.registers 1
.prologue
.line 40
invoke-direct {p0}, Lcom/cleanmaster/api/CMAPIService;->a()V
return-void
.end method
.method private a(Ljava/lang/String;)V
.registers 6
.prologue
.line 242
sget-object v1, Lcom/cleanmaster/api/CMAPIService;->b:[Ljava/lang/String;
array-length v2, v1
const/4 v0, 0x0
:goto_4
if-ge v0, v2, :cond_12
aget-object v3, v1, v0
.line 243
invoke-virtual {p1, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_f
.line 244
return-void
.line 242
:cond_f
add-int/lit8 v0, v0, 0x1
goto :goto_4
.line 247
:cond_12
new-instance v0, Ljava/lang/SecurityException;
const-string v1, "ACCESS DENIED"
invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public onBind(Landroid/content/Intent;)Landroid/os/IBinder;
.registers 5
.prologue
const/4 v0, 0x0
.line 217
if-eqz p1, :cond_d
.line 218
invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v1
.line 219
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_e
.line 228
:cond_d
:goto_d
return-object v0
.line 223
:cond_e
const-string v2, "com.cleanmaster.api.ACCESS"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_d
.line 224
iget-object v0, p0, Lcom/cleanmaster/api/CMAPIService;->a:Lcom/cleanmaster/api/ICMAPI;
invoke-interface {v0}, Lcom/cleanmaster/api/ICMAPI;->asBinder()Landroid/os/IBinder;
move-result-object v0
goto :goto_d
.end method
.method public onStartCommand(Landroid/content/Intent;II)I
.registers 6
.prologue
.line 208
if-eqz p1, :cond_14
const-string v0, "source"
invoke-virtual {p1, v0}, Landroid/content/Intent;->hasExtra(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_14
.line 209
const-string v0, "pull_active"
const-string v1, "CMAPIService is alive ha ha"
invoke-static {v0, v1}, Lcom/cleanmaster/util/CMLogUtils;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 210
invoke-static {p1}, Lcom/cleanmaster/c/a;->a(Landroid/content/Intent;)V
.line 212
:cond_14
invoke-super {p0, p1, p2, p3}, Landroid/app/Service;->onStartCommand(Landroid/content/Intent;II)I
move-result v0
return v0
.end method