SystemUtils.smali
.class public Lio/rong/imkit/utils/SystemUtils;
.super Ljava/lang/Object;
.source "SystemUtils.java"
# direct methods
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getAppName(Landroid/content/Context;)Ljava/lang/String;
.registers 4
.line 1
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 2
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v0
.line 3
iget-object v0, v0, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
iget v0, v0, Landroid/content/pm/ApplicationInfo;->labelRes:I
.line 4
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p0
:try_end_19
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_19} :catch_1a
return-object p0
:catch_1a
move-exception p0
.line 5
invoke-virtual {p0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
const/4 p0, 0x0
return-object p0
.end method
.method public static getCurProcessName(Landroid/content/Context;)Ljava/lang/String;
.registers 5
.line 1
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
const-string v1, "activity"
.line 2
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/app/ActivityManager;
.line 3
invoke-virtual {p0}, Landroid/app/ActivityManager;->getRunningAppProcesses()Ljava/util/List;
move-result-object p0
const/4 v1, 0x0
if-nez p0, :cond_14
return-object v1
.line 4
:cond_14
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_18
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2b
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/app/ActivityManager$RunningAppProcessInfo;
.line 5
iget v3, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->pid:I
if-ne v3, v0, :cond_18
.line 6
iget-object p0, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->processName:Ljava/lang/String;
return-object p0
:cond_2b
return-object v1
.end method
.method public static isInBackground(Landroid/content/Context;)Z
.registers 9
const/4 v0, 0x1
if-nez p0, :cond_4
return v0
:cond_4
const-string v1, "activity"
.line 1
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/ActivityManager;
.line 2
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x14
const/4 v4, 0x0
if-le v2, v3, :cond_5c
.line 3
invoke-virtual {v1}, Landroid/app/ActivityManager;->getRunningAppProcesses()Ljava/util/List;
move-result-object v1
if-nez v1, :cond_1a
return v0
.line 4
:cond_1a
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_1e
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_77
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/app/ActivityManager$RunningAppProcessInfo;
.line 5
iget v3, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importance:I
const/16 v5, 0x64
if-ne v3, v5, :cond_1e
.line 6
iget-object v2, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->pkgList:[Ljava/lang/String;
array-length v3, v2
const/4 v5, 0x0
:goto_34
if-ge v5, v3, :cond_1e
aget-object v6, v2, v5
.line 7
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_59
.line 8
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "the process is in foreground:"
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string v0, "SystemUtils"
invoke-static {v0, p0}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I
return v4
:cond_59
add-int/lit8 v5, v5, 0x1
goto :goto_34
.line 9
:cond_5c
invoke-virtual {v1, v0}, Landroid/app/ActivityManager;->getRunningTasks(I)Ljava/util/List;
move-result-object v1
.line 10
invoke-interface {v1, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/ActivityManager$RunningTaskInfo;
iget-object v1, v1, Landroid/app/ActivityManager$RunningTaskInfo;->topActivity:Landroid/content/ComponentName;
.line 11
invoke-virtual {v1}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v1
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_77
const/4 v0, 0x0
:cond_77
return v0
.end method