123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- .class Landroid/support/v4/app/NotificationManagerCompatKitKat;
- .super Ljava/lang/Object;
- .source ""
- # static fields
- .field private static final CHECK_OP_NO_THROW:Ljava/lang/String; = "checkOpNoThrow"
- .field private static final OP_POST_NOTIFICATION:Ljava/lang/String; = "OP_POST_NOTIFICATION"
- # direct methods
- .method constructor <init>()V
- .locals 0
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- return-void
- .end method
- .method public static areNotificationsEnabled(Landroid/content/Context;)Z
- .locals 10
- 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;
- invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
- move-result-object v1
- invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
- move-result-object p0
- invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
- move-result-object p0
- iget v1, v1, Landroid/content/pm/ApplicationInfo;->uid:I
- const/4 v2, 0x1
- :try_start_0
- const-class v3, Landroid/app/AppOpsManager;
- invoke-virtual {v3}, Ljava/lang/Class;->getName()Ljava/lang/String;
- move-result-object v3
- invoke-static {v3}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
- move-result-object v3
- const-string v4, "checkOpNoThrow"
- const/4 v5, 0x3
- new-array v6, v5, [Ljava/lang/Class;
- sget-object v7, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
- const/4 v8, 0x0
- aput-object v7, v6, v8
- sget-object v7, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
- aput-object v7, v6, v2
- const-class v7, Ljava/lang/String;
- const/4 v9, 0x2
- aput-object v7, v6, v9
- invoke-virtual {v3, v4, v6}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
- move-result-object v4
- const-string v6, "OP_POST_NOTIFICATION"
- invoke-virtual {v3, v6}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
- move-result-object v3
- const-class v6, Ljava/lang/Integer;
- invoke-virtual {v3, v6}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
- move-result-object v3
- check-cast v3, Ljava/lang/Integer;
- invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
- move-result v3
- new-array v5, v5, [Ljava/lang/Object;
- invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
- move-result-object v3
- aput-object v3, v5, v8
- invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
- move-result-object v1
- aput-object v1, v5, v2
- aput-object p0, v5, v9
- invoke-virtual {v4, v0, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
- move-result-object p0
- check-cast p0, Ljava/lang/Integer;
- invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I
- move-result p0
- :try_end_0
- .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
- .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0
- .catch Ljava/lang/NoSuchFieldException; {:try_start_0 .. :try_end_0} :catch_0
- .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_0
- .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0
- .catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_0
- if-nez p0, :cond_0
- goto :goto_0
- :cond_0
- const/4 v2, 0x0
- :catch_0
- :goto_0
- return v2
- .end method
|