a.smali
.class public Lcom/huawei/hms/support/api/push/b/a/a;
.super Ljava/lang/Object;
.source "NotificationUtil.java"
# direct methods
.method public static a(Landroid/content/Context;)Z
.registers 3
.prologue
.line 43
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x18
if-lt v0, v1, :cond_b
.line 52
invoke-static {p0}, Lcom/huawei/hms/support/api/push/b/a/a;->b(Landroid/content/Context;)Z
move-result v0
.line 56
:goto_a
return v0
.line 53
:cond_b
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x13
if-lt v0, v1, :cond_16
.line 54
invoke-static {p0}, Lcom/huawei/hms/support/api/push/b/a/a;->b(Landroid/content/Context;)Z
move-result v0
goto :goto_a
.line 56
:cond_16
const/4 v0, 0x1
goto :goto_a
.end method
.method private static b(Landroid/content/Context;)Z
.registers 11
.annotation build Landroid/annotation/SuppressLint;
value = {
"NewApi",
"InlinedApi"
}
.end annotation
.prologue
const/4 v3, 0x0
const/4 v2, 0x1
.line 19
const-string v0, "appops"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/AppOpsManager;
.line 20
invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v1
.line 21
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v4
invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
.line 22
iget v5, v1, Landroid/content/pm/ApplicationInfo;->uid:I
.line 24
:try_start_18
const-class v1, Landroid/app/AppOpsManager;
invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
.line 25
const-string v6, "checkOpNoThrow"
const/4 v7, 0x3
new-array v7, v7, [Ljava/lang/Class;
const/4 v8, 0x0
sget-object v9, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v9, v7, v8
const/4 v8, 0x1
sget-object v9, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v9, v7, v8
const/4 v8, 0x2
const-class v9, Ljava/lang/String;
aput-object v9, v7, v8
invoke-virtual {v1, v6, v7}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v6
.line 27
const-string v7, "OP_POST_NOTIFICATION"
invoke-virtual {v1, v7}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
.line 28
const-class v7, Ljava/lang/Integer;
invoke-virtual {v1, v7}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
.line 29
const/4 v7, 0x3
new-array v7, v7, [Ljava/lang/Object;
const/4 v8, 0x0
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
aput-object v1, v7, v8
const/4 v1, 0x1
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v7, v1
const/4 v1, 0x2
aput-object v4, v7, v1
invoke-virtual {v6, v0, v7}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
:try_end_69
.catch Ljava/lang/ClassNotFoundException; {:try_start_18 .. :try_end_69} :catch_70
.catch Ljava/lang/NoSuchMethodException; {:try_start_18 .. :try_end_69} :catch_79
.catch Ljava/lang/NoSuchFieldException; {:try_start_18 .. :try_end_69} :catch_75
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_18 .. :try_end_69} :catch_7b
.catch Ljava/lang/IllegalAccessException; {:try_start_18 .. :try_end_69} :catch_77
.catch Ljava/lang/RuntimeException; {:try_start_18 .. :try_end_69} :catch_73
move-result v0
if-nez v0, :cond_6e
move v0, v2
.line 32
:goto_6d
return v0
:cond_6e
move v0, v3
.line 29
goto :goto_6d
.line 32
:catch_70
move-exception v0
:goto_71
move v0, v2
goto :goto_6d
:catch_73
move-exception v0
goto :goto_71
:catch_75
move-exception v0
goto :goto_71
:catch_77
move-exception v0
goto :goto_71
:catch_79
move-exception v0
goto :goto_71
:catch_7b
move-exception v0
goto :goto_71
.end method