AppUtils.smali
.class public final Lcom/blankj/utilcode/util/AppUtils;
.super Ljava/lang/Object;
.source "AppUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/blankj/utilcode/util/AppUtils$AppInfo;
}
.end annotation
# static fields
.field private static final HEX_DIGITS:[C
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 893
const/16 v0, 0x10
new-array v0, v0, [C
fill-array-data v0, :array_a
sput-object v0, Lcom/blankj/utilcode/util/AppUtils;->HEX_DIGITS:[C
return-void
:array_a
.array-data 2
0x30s
0x31s
0x32s
0x33s
0x34s
0x35s
0x36s
0x37s
0x38s
0x39s
0x41s
0x42s
0x43s
0x44s
0x45s
0x46s
.end array-data
.end method
.method private constructor <init>()V
.registers 3
.line 41
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 42
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string/jumbo v1, "u can\'t instantiate me..."
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static bytes2HexString([B)Ljava/lang/String;
.registers 8
.param p0, "bytes" # [B
.line 909
const-string v0, ""
if-nez p0, :cond_5
return-object v0
.line 910
:cond_5
array-length v1, p0
.line 911
.local v1, "len":I
if-gtz v1, :cond_9
return-object v0
.line 912
:cond_9
shl-int/lit8 v0, v1, 0x1
new-array v0, v0, [C
.line 913
.local v0, "ret":[C
const/4 v2, 0x0
.local v2, "i":I
const/4 v3, 0x0
.local v3, "j":I
:goto_f
if-ge v2, v1, :cond_2c
.line 914
add-int/lit8 v4, v3, 0x1
.end local v3 # "j":I
.local v4, "j":I
sget-object v5, Lcom/blankj/utilcode/util/AppUtils;->HEX_DIGITS:[C
aget-byte v6, p0, v2
shr-int/lit8 v6, v6, 0x4
and-int/lit8 v6, v6, 0xf
aget-char v6, v5, v6
aput-char v6, v0, v3
.line 915
add-int/lit8 v3, v4, 0x1
.end local v4 # "j":I
.restart local v3 # "j":I
aget-byte v6, p0, v2
and-int/lit8 v6, v6, 0xf
aget-char v5, v5, v6
aput-char v5, v0, v4
.line 913
add-int/lit8 v2, v2, 0x1
goto :goto_f
.line 917
.end local v2 # "i":I
.end local v3 # "j":I
:cond_2c
new-instance v2, Ljava/lang/String;
invoke-direct {v2, v0}, Ljava/lang/String;-><init>([C)V
return-object v2
.end method
.method public static exitApp()V
.registers 3
.line 374
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getActivityList()Ljava/util/LinkedList;
move-result-object v0
.line 375
.local v0, "activityList":Ljava/util/List;, "Ljava/util/List<Landroid/app/Activity;>;"
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
add-int/lit8 v1, v1, -0x1
.local v1, "i":I
:goto_a
if-ltz v1, :cond_18
.line 376
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/app/Activity;
.line 378
.local v2, "activity":Landroid/app/Activity;
invoke-virtual {v2}, Landroid/app/Activity;->finish()V
.line 375
.end local v2 # "activity":Landroid/app/Activity;
add-int/lit8 v1, v1, -0x1
goto :goto_a
.line 380
.end local v1 # "i":I
:cond_18
const/4 v1, 0x0
invoke-static {v1}, Ljava/lang/System;->exit(I)V
.line 381
return-void
.end method
.method public static getApkInfo(Ljava/io/File;)Lcom/blankj/utilcode/util/AppUtils$AppInfo;
.registers 2
.param p0, "apkFile" # Ljava/io/File;
.line 743
if-eqz p0, :cond_18
invoke-virtual {p0}, Ljava/io/File;->isFile()Z
move-result v0
if-eqz v0, :cond_18
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_f
goto :goto_18
.line 744
:cond_f
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getApkInfo(Ljava/lang/String;)Lcom/blankj/utilcode/util/AppUtils$AppInfo;
move-result-object v0
return-object v0
.line 743
:cond_18
:goto_18
const/4 v0, 0x0
return-object v0
.end method
.method public static getApkInfo(Ljava/lang/String;)Lcom/blankj/utilcode/util/AppUtils$AppInfo;
.registers 5
.param p0, "apkFilePath" # Ljava/lang/String;
.line 753
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_8
return-object v1
.line 754
:cond_8
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 755
.local v0, "pm":Landroid/content/pm/PackageManager;
if-nez v0, :cond_13
return-object v1
.line 756
:cond_13
const/4 v2, 0x0
invoke-virtual {v0, p0, v2}, Landroid/content/pm/PackageManager;->getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v2
.line 757
.local v2, "pi":Landroid/content/pm/PackageInfo;
if-nez v2, :cond_1b
return-object v1
.line 758
:cond_1b
iget-object v1, v2, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
.line 759
.local v1, "appInfo":Landroid/content/pm/ApplicationInfo;
iput-object p0, v1, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;
.line 760
iput-object p0, v1, Landroid/content/pm/ApplicationInfo;->publicSourceDir:Ljava/lang/String;
.line 761
invoke-static {v0, v2}, Lcom/blankj/utilcode/util/AppUtils;->getBean(Landroid/content/pm/PackageManager;Landroid/content/pm/PackageInfo;)Lcom/blankj/utilcode/util/AppUtils$AppInfo;
move-result-object v3
return-object v3
.end method
.method public static getAppIcon()Landroid/graphics/drawable/Drawable;
.registers 1
.line 389
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppIcon(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
move-result-object v0
return-object v0
.end method
.method public static getAppIcon(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
.registers 5
.param p0, "packageName" # Ljava/lang/String;
.line 399
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_8
return-object v1
.line 401
:cond_8
:try_start_8
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 402
.local v0, "pm":Landroid/content/pm/PackageManager;
const/4 v2, 0x0
invoke-virtual {v0, p0, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v2
.line 403
.local v2, "pi":Landroid/content/pm/PackageInfo;
if-nez v2, :cond_18
:goto_17
goto :goto_1f
:cond_18
iget-object v3, v2, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
invoke-virtual {v3, v0}, Landroid/content/pm/ApplicationInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
move-result-object v1
:try_end_1e
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_8 .. :try_end_1e} :catch_20
goto :goto_17
:goto_1f
return-object v1
.line 404
.end local v0 # "pm":Landroid/content/pm/PackageManager;
.end local v2 # "pi":Landroid/content/pm/PackageInfo;
:catch_20
move-exception v0
.line 405
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 406
return-object v1
.end method
.method public static getAppIconId()I
.registers 1
.line 416
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppIconId(Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public static getAppIconId(Ljava/lang/String;)I
.registers 5
.param p0, "packageName" # Ljava/lang/String;
.line 426
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_8
return v1
.line 428
:cond_8
:try_start_8
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 429
.local v0, "pm":Landroid/content/pm/PackageManager;
invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v2
.line 430
.local v2, "pi":Landroid/content/pm/PackageInfo;
if-nez v2, :cond_17
:goto_16
goto :goto_1c
:cond_17
iget-object v3, v2, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
iget v1, v3, Landroid/content/pm/ApplicationInfo;->icon:I
:try_end_1b
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_8 .. :try_end_1b} :catch_1d
goto :goto_16
:goto_1c
return v1
.line 431
.end local v0 # "pm":Landroid/content/pm/PackageManager;
.end local v2 # "pi":Landroid/content/pm/PackageInfo;
:catch_1d
move-exception v0
.line 432
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 433
return v1
.end method
.method public static getAppInfo()Lcom/blankj/utilcode/util/AppUtils$AppInfo;
.registers 1
.line 690
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppInfo(Ljava/lang/String;)Lcom/blankj/utilcode/util/AppUtils$AppInfo;
move-result-object v0
return-object v0
.end method
.method public static getAppInfo(Ljava/lang/String;)Lcom/blankj/utilcode/util/AppUtils$AppInfo;
.registers 4
.param p0, "packageName" # Ljava/lang/String;
.line 710
const/4 v0, 0x0
:try_start_1
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 711
.local v1, "pm":Landroid/content/pm/PackageManager;
if-nez v1, :cond_c
return-object v0
.line 712
:cond_c
const/4 v2, 0x0
invoke-virtual {v1, p0, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v2
invoke-static {v1, v2}, Lcom/blankj/utilcode/util/AppUtils;->getBean(Landroid/content/pm/PackageManager;Landroid/content/pm/PackageInfo;)Lcom/blankj/utilcode/util/AppUtils$AppInfo;
move-result-object v0
:try_end_15
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_1 .. :try_end_15} :catch_16
return-object v0
.line 713
.end local v1 # "pm":Landroid/content/pm/PackageManager;
:catch_16
move-exception v1
.line 714
.local v1, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v1}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 715
return-object v0
.end method
.method public static getAppName()Ljava/lang/String;
.registers 1
.line 452
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppName(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.param p0, "packageName" # Ljava/lang/String;
.line 462
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const-string v1, ""
if-eqz v0, :cond_9
return-object v1
.line 464
:cond_9
:try_start_9
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 465
.local v0, "pm":Landroid/content/pm/PackageManager;
const/4 v2, 0x0
invoke-virtual {v0, p0, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v2
.line 466
.local v2, "pi":Landroid/content/pm/PackageInfo;
if-nez v2, :cond_1a
const/4 v1, 0x0
goto :goto_24
:cond_1a
iget-object v3, v2, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
invoke-virtual {v3, v0}, Landroid/content/pm/ApplicationInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
move-result-object v3
invoke-interface {v3}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v1
:try_end_24
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_9 .. :try_end_24} :catch_25
:goto_24
return-object v1
.line 467
.end local v0 # "pm":Landroid/content/pm/PackageManager;
.end local v2 # "pi":Landroid/content/pm/PackageInfo;
:catch_25
move-exception v0
.line 468
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 469
return-object v1
.end method
.method public static getAppPackageName()Ljava/lang/String;
.registers 1
.line 443
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppPath()Ljava/lang/String;
.registers 1
.line 479
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppPath(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppPath(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.param p0, "packageName" # Ljava/lang/String;
.line 489
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const-string v1, ""
if-eqz v0, :cond_9
return-object v1
.line 491
:cond_9
:try_start_9
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 492
.local v0, "pm":Landroid/content/pm/PackageManager;
const/4 v2, 0x0
invoke-virtual {v0, p0, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v2
.line 493
.local v2, "pi":Landroid/content/pm/PackageInfo;
if-nez v2, :cond_1a
const/4 v1, 0x0
goto :goto_1e
:cond_1a
iget-object v3, v2, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
iget-object v1, v3, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;
:try_end_1e
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_9 .. :try_end_1e} :catch_1f
:goto_1e
return-object v1
.line 494
.end local v0 # "pm":Landroid/content/pm/PackageManager;
.end local v2 # "pi":Landroid/content/pm/PackageInfo;
:catch_1f
move-exception v0
.line 495
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 496
return-object v1
.end method
.method public static getAppSignature()[Landroid/content/pm/Signature;
.registers 1
.line 560
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppSignature(Ljava/lang/String;)[Landroid/content/pm/Signature;
move-result-object v0
return-object v0
.end method
.method public static getAppSignature(Ljava/lang/String;)[Landroid/content/pm/Signature;
.registers 4
.param p0, "packageName" # Ljava/lang/String;
.line 570
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_8
return-object v1
.line 572
:cond_8
:try_start_8
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 574
.local v0, "pm":Landroid/content/pm/PackageManager;
const/16 v2, 0x40
invoke-virtual {v0, p0, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v2
.line 575
.local v2, "pi":Landroid/content/pm/PackageInfo;
if-nez v2, :cond_19
goto :goto_1b
:cond_19
iget-object v1, v2, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
:try_end_1b
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_8 .. :try_end_1b} :catch_1c
:goto_1b
return-object v1
.line 576
.end local v0 # "pm":Landroid/content/pm/PackageManager;
.end local v2 # "pi":Landroid/content/pm/PackageInfo;
:catch_1c
move-exception v0
.line 577
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 578
return-object v1
.end method
.method private static getAppSignatureHash(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 6
.param p0, "packageName" # Ljava/lang/String;
.param p1, "algorithm" # Ljava/lang/String;
.line 668
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const-string v1, ""
if-eqz v0, :cond_9
return-object v1
.line 669
:cond_9
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->getAppSignature(Ljava/lang/String;)[Landroid/content/pm/Signature;
move-result-object v0
.line 670
.local v0, "signature":[Landroid/content/pm/Signature;
if-eqz v0, :cond_2b
array-length v2, v0
if-gtz v2, :cond_13
goto :goto_2b
.line 671
:cond_13
const/4 v1, 0x0
aget-object v1, v0, v1
invoke-virtual {v1}, Landroid/content/pm/Signature;->toByteArray()[B
move-result-object v1
invoke-static {v1, p1}, Lcom/blankj/utilcode/util/AppUtils;->hashTemplate([BLjava/lang/String;)[B
move-result-object v1
invoke-static {v1}, Lcom/blankj/utilcode/util/AppUtils;->bytes2HexString([B)Ljava/lang/String;
move-result-object v1
.line 672
const-string v2, "(?<=[0-9A-F]{2})[0-9A-F]{2}"
const-string v3, ":$0"
invoke-virtual {v1, v2, v3}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 671
return-object v1
.line 670
:cond_2b
:goto_2b
return-object v1
.end method
.method public static getAppSignatureMD5()Ljava/lang/String;
.registers 1
.line 626
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppSignatureMD5(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppSignatureMD5(Ljava/lang/String;)Ljava/lang/String;
.registers 2
.param p0, "packageName" # Ljava/lang/String;
.line 636
const-string v0, "MD5"
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppSignatureHash(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppSignatureSHA1()Ljava/lang/String;
.registers 1
.line 588
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppSignatureSHA1(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppSignatureSHA1(Ljava/lang/String;)Ljava/lang/String;
.registers 2
.param p0, "packageName" # Ljava/lang/String;
.line 598
const-string v0, "SHA1"
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppSignatureHash(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppSignatureSHA256()Ljava/lang/String;
.registers 1
.line 607
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppSignatureSHA256(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppSignatureSHA256(Ljava/lang/String;)Ljava/lang/String;
.registers 2
.param p0, "packageName" # Ljava/lang/String;
.line 617
const-string v0, "SHA256"
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppSignatureHash(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppUid()I
.registers 1
.line 646
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppUid(Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public static getAppUid(Ljava/lang/String;)I
.registers 3
.param p0, "pkgName" # Ljava/lang/String;
.line 657
:try_start_0
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v0
.line 658
.local v0, "ai":Landroid/content/pm/ApplicationInfo;
if-eqz v0, :cond_12
.line 659
iget v1, v0, Landroid/content/pm/ApplicationInfo;->uid:I
:try_end_11
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_11} :catch_13
return v1
.line 663
.end local v0 # "ai":Landroid/content/pm/ApplicationInfo;
:cond_12
goto :goto_17
.line 661
:catch_13
move-exception v0
.line 662
.local v0, "e":Ljava/lang/Exception;
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 664
.end local v0 # "e":Ljava/lang/Exception;
:goto_17
const/4 v0, -0x1
return v0
.end method
.method public static getAppVersionCode()I
.registers 1
.line 533
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppVersionCode(Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public static getAppVersionCode(Ljava/lang/String;)I
.registers 4
.param p0, "packageName" # Ljava/lang/String;
.line 543
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const/4 v1, -0x1
if-eqz v0, :cond_8
return v1
.line 545
:cond_8
:try_start_8
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 546
.local v0, "pm":Landroid/content/pm/PackageManager;
const/4 v2, 0x0
invoke-virtual {v0, p0, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v2
.line 547
.local v2, "pi":Landroid/content/pm/PackageInfo;
if-nez v2, :cond_18
goto :goto_1a
:cond_18
iget v1, v2, Landroid/content/pm/PackageInfo;->versionCode:I
:try_end_1a
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_8 .. :try_end_1a} :catch_1b
:goto_1a
return v1
.line 548
.end local v0 # "pm":Landroid/content/pm/PackageManager;
.end local v2 # "pi":Landroid/content/pm/PackageInfo;
:catch_1b
move-exception v0
.line 549
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 550
return v1
.end method
.method public static getAppVersionName()Ljava/lang/String;
.registers 1
.line 506
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->getAppVersionName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getAppVersionName(Ljava/lang/String;)Ljava/lang/String;
.registers 4
.param p0, "packageName" # Ljava/lang/String;
.line 516
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const-string v1, ""
if-eqz v0, :cond_9
return-object v1
.line 518
:cond_9
:try_start_9
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 519
.local v0, "pm":Landroid/content/pm/PackageManager;
const/4 v2, 0x0
invoke-virtual {v0, p0, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v2
.line 520
.local v2, "pi":Landroid/content/pm/PackageInfo;
if-nez v2, :cond_1a
const/4 v1, 0x0
goto :goto_1c
:cond_1a
iget-object v1, v2, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
:try_end_1c
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_9 .. :try_end_1c} :catch_1d
:goto_1c
return-object v1
.line 521
.end local v0 # "pm":Landroid/content/pm/PackageManager;
.end local v2 # "pi":Landroid/content/pm/PackageInfo;
:catch_1d
move-exception v0
.line 522
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 523
return-object v1
.end method
.method public static getAppsInfo()Ljava/util/List;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/blankj/utilcode/util/AppUtils$AppInfo;",
">;"
}
.end annotation
.line 725
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 726
.local v0, "list":Ljava/util/List;, "Ljava/util/List<Lcom/blankj/utilcode/util/AppUtils$AppInfo;>;"
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 727
.local v1, "pm":Landroid/content/pm/PackageManager;
if-nez v1, :cond_10
return-object v0
.line 728
:cond_10
const/4 v2, 0x0
invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->getInstalledPackages(I)Ljava/util/List;
move-result-object v2
.line 729
.local v2, "installedPackages":Ljava/util/List;, "Ljava/util/List<Landroid/content/pm/PackageInfo;>;"
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_19
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_30
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroid/content/pm/PackageInfo;
.line 730
.local v4, "pi":Landroid/content/pm/PackageInfo;
invoke-static {v1, v4}, Lcom/blankj/utilcode/util/AppUtils;->getBean(Landroid/content/pm/PackageManager;Landroid/content/pm/PackageInfo;)Lcom/blankj/utilcode/util/AppUtils$AppInfo;
move-result-object v5
.line 731
.local v5, "ai":Lcom/blankj/utilcode/util/AppUtils$AppInfo;
if-nez v5, :cond_2c
goto :goto_19
.line 732
:cond_2c
invoke-interface {v0, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 733
.end local v4 # "pi":Landroid/content/pm/PackageInfo;
.end local v5 # "ai":Lcom/blankj/utilcode/util/AppUtils$AppInfo;
goto :goto_19
.line 734
:cond_30
return-object v0
.end method
.method private static getBean(Landroid/content/pm/PackageManager;Landroid/content/pm/PackageInfo;)Lcom/blankj/utilcode/util/AppUtils$AppInfo;
.registers 20
.param p0, "pm" # Landroid/content/pm/PackageManager;
.param p1, "pi" # Landroid/content/pm/PackageInfo;
.line 765
move-object/from16 v0, p0
move-object/from16 v1, p1
if-nez v1, :cond_8
const/4 v2, 0x0
return-object v2
.line 766
:cond_8
iget-object v2, v1, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
.line 767
.local v2, "ai":Landroid/content/pm/ApplicationInfo;
iget-object v11, v1, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
.line 768
.local v11, "packageName":Ljava/lang/String;
invoke-virtual {v2, v0}, Landroid/content/pm/ApplicationInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
move-result-object v3
invoke-interface {v3}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v12
.line 769
.local v12, "name":Ljava/lang/String;
invoke-virtual {v2, v0}, Landroid/content/pm/ApplicationInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
move-result-object v13
.line 770
.local v13, "icon":Landroid/graphics/drawable/Drawable;
iget-object v14, v2, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;
.line 771
.local v14, "packagePath":Ljava/lang/String;
iget-object v15, v1, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
.line 772
.local v15, "versionName":Ljava/lang/String;
iget v9, v1, Landroid/content/pm/PackageInfo;->versionCode:I
.line 773
.local v9, "versionCode":I
iget v3, v2, Landroid/content/pm/ApplicationInfo;->flags:I
const/4 v4, 0x1
and-int/2addr v3, v4
if-eqz v3, :cond_26
const/4 v10, 0x1
goto :goto_28
:cond_26
const/4 v3, 0x0
const/4 v10, 0x0
.line 774
.local v10, "isSystem":Z
:goto_28
new-instance v16, Lcom/blankj/utilcode/util/AppUtils$AppInfo;
move-object/from16 v3, v16
move-object v4, v11
move-object v5, v12
move-object v6, v13
move-object v7, v14
move-object v8, v15
move/from16 v17, v9
.end local v9 # "versionCode":I
.local v17, "versionCode":I
invoke-direct/range {v3 .. v10}, Lcom/blankj/utilcode/util/AppUtils$AppInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/drawable/Drawable;Ljava/lang/String;Ljava/lang/String;IZ)V
return-object v16
.end method
.method private static getFileByPath(Ljava/lang/String;)Ljava/io/File;
.registers 2
.param p0, "filePath" # Ljava/lang/String;
.line 880
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_8
const/4 v0, 0x0
goto :goto_d
:cond_8
new-instance v0, Ljava/io/File;
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:goto_d
return-object v0
.end method
.method private static getForegroundProcessName()Ljava/lang/String;
.registers 20
.line 985
const-string v0, "android:get_usage_stats"
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v1
const-string v2, "activity"
invoke-virtual {v1, v2}, Landroid/app/Application;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/ActivityManager;
.line 986
.local v1, "am":Landroid/app/ActivityManager;
invoke-virtual {v1}, Landroid/app/ActivityManager;->getRunningAppProcesses()Ljava/util/List;
move-result-object v2
.line 987
.local v2, "pInfo":Ljava/util/List;, "Ljava/util/List<Landroid/app/ActivityManager$RunningAppProcessInfo;>;"
if-eqz v2, :cond_34
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v3
if-lez v3, :cond_34
.line 988
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_1e
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_34
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroid/app/ActivityManager$RunningAppProcessInfo;
.line 989
.local v4, "aInfo":Landroid/app/ActivityManager$RunningAppProcessInfo;
iget v5, v4, Landroid/app/ActivityManager$RunningAppProcessInfo;->importance:I
const/16 v6, 0x64
if-ne v5, v6, :cond_33
.line 991
iget-object v0, v4, Landroid/app/ActivityManager$RunningAppProcessInfo;->processName:Ljava/lang/String;
return-object v0
.line 993
.end local v4 # "aInfo":Landroid/app/ActivityManager$RunningAppProcessInfo;
:cond_33
goto :goto_1e
.line 995
:cond_34
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x15
const-string v5, ""
if-le v3, v4, :cond_104
.line 996
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v3
invoke-virtual {v3}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v3
.line 997
.local v3, "pm":Landroid/content/pm/PackageManager;
new-instance v4, Landroid/content/Intent;
const-string v6, "android.settings.USAGE_ACCESS_SETTINGS"
invoke-direct {v4, v6}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 998
.local v4, "intent":Landroid/content/Intent;
const/high16 v6, 0x10000
.line 999
invoke-virtual {v3, v4, v6}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
move-result-object v6
.line 1000
.local v6, "list":Ljava/util/List;, "Ljava/util/List<Landroid/content/pm/ResolveInfo;>;"
invoke-virtual {v6}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v7
const-string v8, "ProcessUtils"
invoke-static {v8, v7}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 1001
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v7
if-gtz v7, :cond_66
.line 1002
const-string v0, "getForegroundProcessName: noun of access to usage information."
invoke-static {v8, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 1004
return-object v5
.line 1007
:cond_66
nop
.line 1008
:try_start_67
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v7
invoke-virtual {v7}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v7
const/4 v9, 0x0
invoke-virtual {v3, v7, v9}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v7
.line 1010
.local v7, "info":Landroid/content/pm/ApplicationInfo;
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v9
const-string v10, "appops"
invoke-virtual {v9, v10}, Landroid/app/Application;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v9
check-cast v9, Landroid/app/AppOpsManager;
.line 1011
.local v9, "aom":Landroid/app/AppOpsManager;
iget v10, v7, Landroid/content/pm/ApplicationInfo;->uid:I
iget-object v11, v7, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
invoke-virtual {v9, v0, v10, v11}, Landroid/app/AppOpsManager;->checkOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
move-result v10
if-eqz v10, :cond_96
.line 1014
const/high16 v10, 0x10000000
invoke-virtual {v4, v10}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
.line 1015
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v10
invoke-virtual {v10, v4}, Landroid/app/Application;->startActivity(Landroid/content/Intent;)V
.line 1017
:cond_96
iget v10, v7, Landroid/content/pm/ApplicationInfo;->uid:I
iget-object v11, v7, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
invoke-virtual {v9, v0, v10, v11}, Landroid/app/AppOpsManager;->checkOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
move-result v0
if-eqz v0, :cond_a6
.line 1020
const-string v0, "getForegroundProcessName: refuse to device usage stats."
invoke-static {v8, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 1022
return-object v5
.line 1024
:cond_a6
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
const-string/jumbo v8, "usagestats"
.line 1025
invoke-virtual {v0, v8}, Landroid/app/Application;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/usage/UsageStatsManager;
.line 1026
.local v0, "usageStatsManager":Landroid/app/usage/UsageStatsManager;
const/4 v8, 0x0
.line 1027
.local v8, "usageStatsList":Ljava/util/List;, "Ljava/util/List<Landroid/app/usage/UsageStats;>;"
if-eqz v0, :cond_cc
.line 1028
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v10
move-wide/from16 v16, v10
.line 1029
.local v16, "endTime":J
const-wide/32 v10, 0x240c8400
sub-long v18, v16, v10
.line 1030
.local v18, "beginTime":J
const/4 v11, 0x4
.line 1031
move-object v10, v0
move-wide/from16 v12, v18
move-wide/from16 v14, v16
invoke-virtual/range {v10 .. v15}, Landroid/app/usage/UsageStatsManager;->queryUsageStats(IJJ)Ljava/util/List;
move-result-object v10
move-object v8, v10
.line 1034
.end local v16 # "endTime":J
.end local v18 # "beginTime":J
:cond_cc
const/4 v10, 0x0
if-eqz v8, :cond_ff
invoke-interface {v8}, Ljava/util/List;->isEmpty()Z
move-result v11
if-eqz v11, :cond_d6
goto :goto_ff
.line 1035
:cond_d6
const/4 v11, 0x0
.line 1036
.local v11, "recentStats":Landroid/app/usage/UsageStats;
invoke-interface {v8}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v12
:goto_db
invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
move-result v13
if-eqz v13, :cond_f7
invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v13
check-cast v13, Landroid/app/usage/UsageStats;
.line 1037
.local v13, "usageStats":Landroid/app/usage/UsageStats;
if-eqz v11, :cond_f5
.line 1038
invoke-virtual {v13}, Landroid/app/usage/UsageStats;->getLastTimeUsed()J
move-result-wide v14
invoke-virtual {v11}, Landroid/app/usage/UsageStats;->getLastTimeUsed()J
move-result-wide v16
cmp-long v18, v14, v16
if-lez v18, :cond_f6
.line 1039
:cond_f5
move-object v11, v13
.line 1041
.end local v13 # "usageStats":Landroid/app/usage/UsageStats;
:cond_f6
goto :goto_db
.line 1042
:cond_f7
if-nez v11, :cond_fa
goto :goto_fe
:cond_fa
invoke-virtual {v11}, Landroid/app/usage/UsageStats;->getPackageName()Ljava/lang/String;
move-result-object v10
:try_end_fe
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_67 .. :try_end_fe} :catch_100
:goto_fe
return-object v10
.line 1034
.end local v11 # "recentStats":Landroid/app/usage/UsageStats;
:cond_ff
:goto_ff
return-object v10
.line 1043
.end local v0 # "usageStatsManager":Landroid/app/usage/UsageStatsManager;
.end local v7 # "info":Landroid/content/pm/ApplicationInfo;
.end local v8 # "usageStatsList":Ljava/util/List;, "Ljava/util/List<Landroid/app/usage/UsageStats;>;"
.end local v9 # "aom":Landroid/app/AppOpsManager;
:catch_100
move-exception v0
.line 1044
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 1047
.end local v0 # "e":Landroid/content/pm/PackageManager$NameNotFoundException;
.end local v3 # "pm":Landroid/content/pm/PackageManager;
.end local v4 # "intent":Landroid/content/Intent;
.end local v6 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/content/pm/ResolveInfo;>;"
:cond_104
return-object v5
.end method
.method private static getInstallAppIntent(Ljava/io/File;)Landroid/content/Intent;
.registers 2
.param p0, "file" # Ljava/io/File;
.line 921
const/4 v0, 0x0
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/AppUtils;->getInstallAppIntent(Ljava/io/File;Z)Landroid/content/Intent;
move-result-object v0
return-object v0
.end method
.method private static getInstallAppIntent(Ljava/io/File;Z)Landroid/content/Intent;
.registers 8
.param p0, "file" # Ljava/io/File;
.param p1, "isNewTask" # Z
.line 925
new-instance v0, Landroid/content/Intent;
const-string v1, "android.intent.action.VIEW"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 927
.local v0, "intent":Landroid/content/Intent;
const-string v1, "application/vnd.android.package-archive"
.line 928
.local v1, "type":Ljava/lang/String;
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v3, 0x1
const/16 v4, 0x18
if-ge v2, v4, :cond_15
.line 929
invoke-static {p0}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object v2
.local v2, "data":Landroid/net/Uri;
goto :goto_3a
.line 931
.end local v2 # "data":Landroid/net/Uri;
:cond_15
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v4
invoke-virtual {v4}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ".utilcode.provider"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 932
.local v2, "authority":Ljava/lang/String;
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v4
invoke-static {v4, v2, p0}, Landroidx/core/content/FileProvider;->getUriForFile(Landroid/content/Context;Ljava/lang/String;Ljava/io/File;)Landroid/net/Uri;
move-result-object v4
.line 933
.local v4, "data":Landroid/net/Uri;
invoke-virtual {v0, v3}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
move-object v2, v4
.line 935
.end local v4 # "data":Landroid/net/Uri;
.local v2, "data":Landroid/net/Uri;
:goto_3a
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v4
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v5
invoke-virtual {v5}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v5, v2, v3}, Landroid/app/Application;->grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V
.line 936
invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->setDataAndType(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;
.line 937
if-eqz p1, :cond_55
const/high16 v3, 0x10000000
invoke-virtual {v0, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
move-result-object v3
goto :goto_56
:cond_55
move-object v3, v0
:goto_56
return-object v3
.end method
.method private static getLaunchAppIntent(Ljava/lang/String;)Landroid/content/Intent;
.registers 2
.param p0, "packageName" # Ljava/lang/String;
.line 951
const/4 v0, 0x0
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/AppUtils;->getLaunchAppIntent(Ljava/lang/String;Z)Landroid/content/Intent;
move-result-object v0
return-object v0
.end method
.method private static getLaunchAppIntent(Ljava/lang/String;Z)Landroid/content/Intent;
.registers 6
.param p0, "packageName" # Ljava/lang/String;
.param p1, "isNewTask" # Z
.line 955
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->getLauncherActivity(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 956
.local v0, "launcherActivity":Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_29
.line 957
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 958
.local v1, "intent":Landroid/content/Intent;
const-string v2, "android.intent.category.LAUNCHER"
invoke-virtual {v1, v2}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
.line 959
new-instance v2, Landroid/content/ComponentName;
invoke-direct {v2, p0, v0}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 960
.local v2, "cn":Landroid/content/ComponentName;
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 961
if-eqz p1, :cond_27
const/high16 v3, 0x10000000
invoke-virtual {v1, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
move-result-object v3
goto :goto_28
:cond_27
move-object v3, v1
:goto_28
return-object v3
.line 963
.end local v1 # "intent":Landroid/content/Intent;
.end local v2 # "cn":Landroid/content/ComponentName;
:cond_29
const/4 v1, 0x0
return-object v1
.end method
.method private static getLauncherActivity(Ljava/lang/String;)Ljava/lang/String;
.registers 9
.param p0, "pkg" # Ljava/lang/String;
.line 966
if-eqz p0, :cond_4e
.line 967
new-instance v0, Landroid/content/Intent;
const/4 v1, 0x0
const-string v2, "android.intent.action.MAIN"
invoke-direct {v0, v2, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.line 968
.local v0, "intent":Landroid/content/Intent;
const-string v1, "android.intent.category.LAUNCHER"
invoke-virtual {v0, v1}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
.line 969
invoke-virtual {v0, p0}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
.line 970
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 971
.local v1, "pm":Landroid/content/pm/PackageManager;
const/4 v2, 0x0
invoke-virtual {v1, v0, v2}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
move-result-object v3
.line 972
.local v3, "info":Ljava/util/List;, "Ljava/util/List<Landroid/content/pm/ResolveInfo;>;"
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v4
.line 973
.local v4, "size":I
if-nez v4, :cond_28
const-string v2, ""
return-object v2
.line 974
:cond_28
const/4 v5, 0x0
.local v5, "i":I
:goto_29
if-ge v5, v4, :cond_43
.line 975
invoke-interface {v3, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Landroid/content/pm/ResolveInfo;
.line 976
.local v6, "ri":Landroid/content/pm/ResolveInfo;
iget-object v7, v6, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
iget-object v7, v7, Landroid/content/pm/ActivityInfo;->processName:Ljava/lang/String;
invoke-virtual {v7, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_40
.line 977
iget-object v2, v6, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
iget-object v2, v2, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
return-object v2
.line 974
.end local v6 # "ri":Landroid/content/pm/ResolveInfo;
:cond_40
add-int/lit8 v5, v5, 0x1
goto :goto_29
.line 980
.end local v5 # "i":I
:cond_43
invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/content/pm/ResolveInfo;
iget-object v2, v2, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
iget-object v2, v2, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
return-object v2
.line 966
.end local v0 # "intent":Landroid/content/Intent;
.end local v1 # "pm":Landroid/content/pm/PackageManager;
.end local v3 # "info":Ljava/util/List;, "Ljava/util/List<Landroid/content/pm/ResolveInfo;>;"
.end local v4 # "size":I
:cond_4e
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Argument \'pkg\' of type String (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
goto :goto_57
:goto_56
throw v0
:goto_57
goto :goto_56
.end method
.method private static getUninstallAppIntent(Ljava/lang/String;)Landroid/content/Intent;
.registers 2
.param p0, "packageName" # Ljava/lang/String;
.line 941
const/4 v0, 0x0
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/AppUtils;->getUninstallAppIntent(Ljava/lang/String;Z)Landroid/content/Intent;
move-result-object v0
return-object v0
.end method
.method private static getUninstallAppIntent(Ljava/lang/String;Z)Landroid/content/Intent;
.registers 5
.param p0, "packageName" # Ljava/lang/String;
.param p1, "isNewTask" # Z
.line 945
new-instance v0, Landroid/content/Intent;
const-string v1, "android.intent.action.DELETE"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 946
.local v0, "intent":Landroid/content/Intent;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "package:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
.line 947
if-eqz p1, :cond_28
const/high16 v1, 0x10000000
invoke-virtual {v0, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
move-result-object v1
goto :goto_29
:cond_28
move-object v1, v0
:goto_29
return-object v1
.end method
.method private static hashTemplate([BLjava/lang/String;)[B
.registers 4
.param p0, "data" # [B
.param p1, "algorithm" # Ljava/lang/String;
.line 897
const/4 v0, 0x0
if-eqz p0, :cond_18
array-length v1, p0
if-gtz v1, :cond_7
goto :goto_18
.line 899
:cond_7
:try_start_7
invoke-static {p1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v1
.line 900
.local v1, "md":Ljava/security/MessageDigest;
invoke-virtual {v1, p0}, Ljava/security/MessageDigest;->update([B)V
.line 901
invoke-virtual {v1}, Ljava/security/MessageDigest;->digest()[B
move-result-object v0
:try_end_12
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_7 .. :try_end_12} :catch_13
return-object v0
.line 902
.end local v1 # "md":Ljava/security/MessageDigest;
:catch_13
move-exception v1
.line 903
.local v1, "e":Ljava/security/NoSuchAlgorithmException;
invoke-virtual {v1}, Ljava/security/NoSuchAlgorithmException;->printStackTrace()V
.line 904
return-object v0
.line 897
.end local v1 # "e":Ljava/security/NoSuchAlgorithmException;
:cond_18
:goto_18
return-object v0
.end method
.method public static installApp(Landroid/app/Activity;Ljava/io/File;I)V
.registers 4
.param p0, "activity" # Landroid/app/Activity;
.param p1, "file" # Ljava/io/File;
.param p2, "requestCode" # I
.line 115
invoke-static {p1}, Lcom/blankj/utilcode/util/AppUtils;->isFileExists(Ljava/io/File;)Z
move-result v0
if-nez v0, :cond_7
return-void
.line 116
:cond_7
invoke-static {p1}, Lcom/blankj/utilcode/util/AppUtils;->getInstallAppIntent(Ljava/io/File;)Landroid/content/Intent;
move-result-object v0
invoke-virtual {p0, v0, p2}, Landroid/app/Activity;->startActivityForResult(Landroid/content/Intent;I)V
.line 117
return-void
.end method
.method public static installApp(Landroid/app/Activity;Ljava/lang/String;I)V
.registers 4
.param p0, "activity" # Landroid/app/Activity;
.param p1, "filePath" # Ljava/lang/String;
.param p2, "requestCode" # I
.line 99
invoke-static {p1}, Lcom/blankj/utilcode/util/AppUtils;->getFileByPath(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
invoke-static {p0, v0, p2}, Lcom/blankj/utilcode/util/AppUtils;->installApp(Landroid/app/Activity;Ljava/io/File;I)V
.line 100
return-void
.end method
.method public static installApp(Ljava/io/File;)V
.registers 3
.param p0, "file" # Ljava/io/File;
.line 82
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isFileExists(Ljava/io/File;)Z
move-result v0
if-nez v0, :cond_7
return-void
.line 83
:cond_7
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
const/4 v1, 0x1
invoke-static {p0, v1}, Lcom/blankj/utilcode/util/AppUtils;->getInstallAppIntent(Ljava/io/File;Z)Landroid/content/Intent;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/app/Application;->startActivity(Landroid/content/Intent;)V
.line 84
return-void
.end method
.method public static installApp(Ljava/lang/String;)V
.registers 2
.param p0, "filePath" # Ljava/lang/String;
.line 71
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->getFileByPath(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->installApp(Ljava/io/File;)V
.line 72
return-void
.end method
.method public static isAppDebug()Z
.registers 1
.line 180
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->isAppDebug(Ljava/lang/String;)Z
move-result v0
return v0
.end method
.method public static isAppDebug(Ljava/lang/String;)Z
.registers 5
.param p0, "packageName" # Ljava/lang/String;
.line 190
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_8
return v1
.line 192
:cond_8
:try_start_8
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 193
.local v0, "pm":Landroid/content/pm/PackageManager;
invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v2
.line 194
.local v2, "ai":Landroid/content/pm/ApplicationInfo;
if-eqz v2, :cond_1d
iget v3, v2, Landroid/content/pm/ApplicationInfo;->flags:I
:try_end_18
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_8 .. :try_end_18} :catch_1e
and-int/lit8 v3, v3, 0x2
if-eqz v3, :cond_1d
const/4 v1, 0x1
:cond_1d
return v1
.line 195
.end local v0 # "pm":Landroid/content/pm/PackageManager;
.end local v2 # "ai":Landroid/content/pm/ApplicationInfo;
:catch_1e
move-exception v0
.line 196
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 197
return v1
.end method
.method public static isAppForeground()Z
.registers 1
.line 234
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->isAppForeground()Z
move-result v0
return v0
.end method
.method public static isAppForeground(Ljava/lang/String;)Z
.registers 3
.param p0, "packageName" # Ljava/lang/String;
.line 245
if-eqz p0, :cond_16
.line 246
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_14
invoke-static {}, Lcom/blankj/utilcode/util/AppUtils;->getForegroundProcessName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_14
const/4 v0, 0x1
goto :goto_15
:cond_14
const/4 v0, 0x0
:goto_15
return v0
.line 245
:cond_16
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Argument \'packageName\' of type String (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static isAppInstalled(Ljava/lang/String;)Z
.registers 4
.param p0, "pkgName" # Ljava/lang/String;
.line 150
if-eqz p0, :cond_18
.line 151
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 153
.local v0, "packageManager":Landroid/content/pm/PackageManager;
const/4 v1, 0x0
:try_start_b
invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v2
:try_end_f
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_b .. :try_end_f} :catch_13
if-eqz v2, :cond_12
const/4 v1, 0x1
:cond_12
return v1
.line 154
:catch_13
move-exception v2
.line 155
.local v2, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v2}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 156
return v1
.line 150
.end local v0 # "packageManager":Landroid/content/pm/PackageManager;
.end local v2 # "e":Landroid/content/pm/PackageManager$NameNotFoundException;
:cond_18
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Argument \'pkgName\' of type String (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static isAppRoot()Z
.registers 3
.line 166
const/4 v0, 0x1
const-string v1, "echo root"
invoke-static {v1, v0}, Lcom/blankj/utilcode/util/ShellUtils;->execCmd(Ljava/lang/String;Z)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
move-result-object v1
.line 167
.local v1, "result":Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
iget v2, v1, Lcom/blankj/utilcode/util/ShellUtils$CommandResult;->result:I
if-nez v2, :cond_c
return v0
.line 168
:cond_c
iget-object v0, v1, Lcom/blankj/utilcode/util/ShellUtils$CommandResult;->errorMsg:Ljava/lang/String;
if-eqz v0, :cond_28
.line 169
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "isAppRoot() called"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, v1, Lcom/blankj/utilcode/util/ShellUtils$CommandResult;->errorMsg:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v2, "AppUtils"
invoke-static {v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 171
:cond_28
const/4 v0, 0x0
return v0
.end method
.method public static isAppRunning(Ljava/lang/String;)Z
.registers 11
.param p0, "pkgName" # Ljava/lang/String;
.line 255
if-eqz p0, :cond_7a
.line 257
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 259
.local v0, "packageManager":Landroid/content/pm/PackageManager;
const/4 v1, 0x0
:try_start_b
invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v2
.line 260
.local v2, "ai":Landroid/content/pm/ApplicationInfo;
if-nez v2, :cond_12
return v1
.line 261
:cond_12
iget v3, v2, Landroid/content/pm/ApplicationInfo;->uid:I
:try_end_14
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_b .. :try_end_14} :catch_75
move v2, v3
.line 265
.local v2, "uid":I
nop
.line 266
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v3
const-string v4, "activity"
invoke-virtual {v3, v4}, Landroid/app/Application;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/app/ActivityManager;
.line 267
.local v3, "am":Landroid/app/ActivityManager;
if-eqz v3, :cond_74
.line 268
const v4, 0x7fffffff
invoke-virtual {v3, v4}, Landroid/app/ActivityManager;->getRunningTasks(I)Ljava/util/List;
move-result-object v5
.line 269
.local v5, "taskInfo":Ljava/util/List;, "Ljava/util/List<Landroid/app/ActivityManager$RunningTaskInfo;>;"
const/4 v6, 0x1
if-eqz v5, :cond_52
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v7
if-lez v7, :cond_52
.line 270
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v7
:goto_38
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v8
if-eqz v8, :cond_52
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v8
check-cast v8, Landroid/app/ActivityManager$RunningTaskInfo;
.line 271
.local v8, "aInfo":Landroid/app/ActivityManager$RunningTaskInfo;
iget-object v9, v8, Landroid/app/ActivityManager$RunningTaskInfo;->baseActivity:Landroid/content/ComponentName;
invoke-virtual {v9}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v9
invoke-virtual {p0, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_51
.line 272
return v6
.line 274
.end local v8 # "aInfo":Landroid/app/ActivityManager$RunningTaskInfo;
:cond_51
goto :goto_38
.line 276
:cond_52
invoke-virtual {v3, v4}, Landroid/app/ActivityManager;->getRunningServices(I)Ljava/util/List;
move-result-object v4
.line 277
.local v4, "serviceInfo":Ljava/util/List;, "Ljava/util/List<Landroid/app/ActivityManager$RunningServiceInfo;>;"
if-eqz v4, :cond_74
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v7
if-lez v7, :cond_74
.line 278
invoke-interface {v4}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v7
:goto_62
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v8
if-eqz v8, :cond_74
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v8
check-cast v8, Landroid/app/ActivityManager$RunningServiceInfo;
.line 279
.local v8, "aInfo":Landroid/app/ActivityManager$RunningServiceInfo;
iget v9, v8, Landroid/app/ActivityManager$RunningServiceInfo;->uid:I
if-ne v2, v9, :cond_73
.line 280
return v6
.line 282
.end local v8 # "aInfo":Landroid/app/ActivityManager$RunningServiceInfo;
:cond_73
goto :goto_62
.line 285
.end local v4 # "serviceInfo":Ljava/util/List;, "Ljava/util/List<Landroid/app/ActivityManager$RunningServiceInfo;>;"
.end local v5 # "taskInfo":Ljava/util/List;, "Ljava/util/List<Landroid/app/ActivityManager$RunningTaskInfo;>;"
:cond_74
return v1
.line 262
.end local v2 # "uid":I
.end local v3 # "am":Landroid/app/ActivityManager;
:catch_75
move-exception v2
.line 263
.local v2, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v2}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 264
return v1
.line 255
.end local v0 # "packageManager":Landroid/content/pm/PackageManager;
.end local v2 # "e":Landroid/content/pm/PackageManager$NameNotFoundException;
:cond_7a
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Argument \'pkgName\' of type String (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
goto :goto_83
:goto_82
throw v0
:goto_83
goto :goto_82
.end method
.method public static isAppSystem()Z
.registers 1
.line 207
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->isAppSystem(Ljava/lang/String;)Z
move-result v0
return v0
.end method
.method public static isAppSystem(Ljava/lang/String;)Z
.registers 6
.param p0, "packageName" # Ljava/lang/String;
.line 217
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_8
return v1
.line 219
:cond_8
:try_start_8
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 220
.local v0, "pm":Landroid/content/pm/PackageManager;
invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v2
.line 221
.local v2, "ai":Landroid/content/pm/ApplicationInfo;
const/4 v3, 0x1
if-eqz v2, :cond_1d
iget v4, v2, Landroid/content/pm/ApplicationInfo;->flags:I
:try_end_19
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_8 .. :try_end_19} :catch_1e
and-int/2addr v4, v3
if-eqz v4, :cond_1d
const/4 v1, 0x1
:cond_1d
return v1
.line 222
.end local v0 # "pm":Landroid/content/pm/PackageManager;
.end local v2 # "ai":Landroid/content/pm/ApplicationInfo;
:catch_1e
move-exception v0
.line 223
.local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
.line 224
return v1
.end method
.method private static isFileExists(Ljava/io/File;)Z
.registers 2
.param p0, "file" # Ljava/io/File;
.line 876
if-eqz p0, :cond_a
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_a
const/4 v0, 0x1
goto :goto_b
:cond_a
const/4 v0, 0x0
:goto_b
return v0
.end method
.method private static isSpace(Ljava/lang/String;)Z
.registers 5
.param p0, "s" # Ljava/lang/String;
.line 884
const/4 v0, 0x1
if-nez p0, :cond_4
return v0
.line 885
:cond_4
const/4 v1, 0x0
.local v1, "i":I
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v2
.local v2, "len":I
:goto_9
if-ge v1, v2, :cond_1a
.line 886
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result v3
invoke-static {v3}, Ljava/lang/Character;->isWhitespace(C)Z
move-result v3
if-nez v3, :cond_17
.line 887
const/4 v0, 0x0
return v0
.line 885
:cond_17
add-int/lit8 v1, v1, 0x1
goto :goto_9
.line 890
.end local v1 # "i":I
.end local v2 # "len":I
:cond_1a
return v0
.end method
.method public static launchApp(Landroid/app/Activity;Ljava/lang/String;I)V
.registers 6
.param p0, "activity" # Landroid/app/Activity;
.param p1, "packageName" # Ljava/lang/String;
.param p2, "requestCode" # I
.line 314
invoke-static {p1}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_7
return-void
.line 315
:cond_7
invoke-static {p1}, Lcom/blankj/utilcode/util/AppUtils;->getLaunchAppIntent(Ljava/lang/String;)Landroid/content/Intent;
move-result-object v0
.line 316
.local v0, "launchAppIntent":Landroid/content/Intent;
if-nez v0, :cond_15
.line 317
const-string v1, "AppUtils"
const-string v2, "Didn\'t exist launcher activity."
invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 318
return-void
.line 320
:cond_15
invoke-virtual {p0, v0, p2}, Landroid/app/Activity;->startActivityForResult(Landroid/content/Intent;I)V
.line 321
return-void
.end method
.method public static launchApp(Ljava/lang/String;)V
.registers 4
.param p0, "packageName" # Ljava/lang/String;
.line 294
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_7
return-void
.line 295
:cond_7
const/4 v0, 0x1
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/AppUtils;->getLaunchAppIntent(Ljava/lang/String;Z)Landroid/content/Intent;
move-result-object v0
.line 296
.local v0, "launchAppIntent":Landroid/content/Intent;
if-nez v0, :cond_16
.line 297
const-string v1, "AppUtils"
const-string v2, "Didn\'t exist launcher activity."
invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 298
return-void
.line 300
:cond_16
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/app/Application;->startActivity(Landroid/content/Intent;)V
.line 301
return-void
.end method
.method public static launchAppDetailsSettings()V
.registers 1
.line 355
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->launchAppDetailsSettings(Ljava/lang/String;)V
.line 356
return-void
.end method
.method public static launchAppDetailsSettings(Ljava/lang/String;)V
.registers 4
.param p0, "packageName" # Ljava/lang/String;
.line 364
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_7
return-void
.line 365
:cond_7
new-instance v0, Landroid/content/Intent;
const-string v1, "android.settings.APPLICATION_DETAILS_SETTINGS"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 366
.local v0, "intent":Landroid/content/Intent;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "package:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
.line 367
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v1
const/high16 v2, 0x10000000
invoke-virtual {v0, v2}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
move-result-object v2
invoke-virtual {v1, v2}, Landroid/app/Application;->startActivity(Landroid/content/Intent;)V
.line 368
return-void
.end method
.method public static registerAppStatusChangedListener(Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;)V
.registers 3
.param p0, "listener" # Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;
.line 50
if-eqz p0, :cond_a
.line 51
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getActivityLifecycle()Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;
move-result-object v0
invoke-virtual {v0, p0}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->addOnAppStatusChangedListener(Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;)V
.line 52
return-void
.line 50
:cond_a
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Argument \'listener\' of type Utils.OnAppStatusChangedListener (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static relaunchApp()V
.registers 1
.line 327
const/4 v0, 0x0
invoke-static {v0}, Lcom/blankj/utilcode/util/AppUtils;->relaunchApp(Z)V
.line 328
return-void
.end method
.method public static relaunchApp(Z)V
.registers 4
.param p0, "isKillProcess" # Z
.line 336
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
const/4 v1, 0x1
invoke-static {v0, v1}, Lcom/blankj/utilcode/util/AppUtils;->getLaunchAppIntent(Ljava/lang/String;Z)Landroid/content/Intent;
move-result-object v0
.line 337
.local v0, "intent":Landroid/content/Intent;
if-nez v0, :cond_17
.line 338
const-string v1, "AppUtils"
const-string v2, "Didn\'t exist launcher activity."
invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 339
return-void
.line 341
:cond_17
const v1, 0x14008000
invoke-virtual {v0, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
.line 345
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/app/Application;->startActivity(Landroid/content/Intent;)V
.line 346
if-nez p0, :cond_27
return-void
.line 347
:cond_27
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v1
invoke-static {v1}, Landroid/os/Process;->killProcess(I)V
.line 348
const/4 v1, 0x0
invoke-static {v1}, Ljava/lang/System;->exit(I)V
.line 349
return-void
.end method
.method public static uninstallApp(Landroid/app/Activity;Ljava/lang/String;I)V
.registers 4
.param p0, "activity" # Landroid/app/Activity;
.param p1, "packageName" # Ljava/lang/String;
.param p2, "requestCode" # I
.line 140
invoke-static {p1}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_7
return-void
.line 141
:cond_7
invoke-static {p1}, Lcom/blankj/utilcode/util/AppUtils;->getUninstallAppIntent(Ljava/lang/String;)Landroid/content/Intent;
move-result-object v0
invoke-virtual {p0, v0, p2}, Landroid/app/Activity;->startActivityForResult(Landroid/content/Intent;I)V
.line 142
return-void
.end method
.method public static uninstallApp(Ljava/lang/String;)V
.registers 3
.param p0, "packageName" # Ljava/lang/String;
.line 125
invoke-static {p0}, Lcom/blankj/utilcode/util/AppUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_7
return-void
.line 126
:cond_7
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
const/4 v1, 0x1
invoke-static {p0, v1}, Lcom/blankj/utilcode/util/AppUtils;->getUninstallAppIntent(Ljava/lang/String;Z)Landroid/content/Intent;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/app/Application;->startActivity(Landroid/content/Intent;)V
.line 127
return-void
.end method
.method public static unregisterAppStatusChangedListener(Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;)V
.registers 3
.param p0, "listener" # Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;
.line 59
if-eqz p0, :cond_a
.line 60
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getActivityLifecycle()Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;
move-result-object v0
invoke-virtual {v0, p0}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->removeOnAppStatusChangedListener(Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;)V
.line 61
return-void
.line 59
:cond_a
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Argument \'listener\' of type Utils.OnAppStatusChangedListener (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method