ServiceManagerCompat.smali
.class public Lcom/android/common/ServiceManagerCompat;
.super Ljava/lang/Object;
.source "ServiceManagerCompat.java"
# static fields
.field private static final CLASSNAME_SERVICE_MANAGER:Ljava/lang/String; = "android.os.ServiceManager"
.field private static final TAG:Ljava/lang/String; = "ServiceManagerCompat"
.field private static sAddServiceMethod:Ljava/lang/reflect/Method;
.field private static sCheckServiceMethod:Ljava/lang/reflect/Method;
.field private static sGetServiceMethod:Ljava/lang/reflect/Method;
.field private static sListServicesMethod:Ljava/lang/reflect/Method;
.field private static sServiceManagerClass:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
.line 23
:try_start_0
const-string v0, "android.os.ServiceManager"
const/4 v1, 0x0
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader;
move-result-object v2
invoke-static {v0, v1, v2}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
move-result-object v0
sput-object v0, Lcom/android/common/ServiceManagerCompat;->sServiceManagerClass:Ljava/lang/Class;
.line 24
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sServiceManagerClass:Ljava/lang/Class;
const-string v1, "getService"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Ljava/lang/String;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lcom/android/common/ServiceManagerCompat;->sGetServiceMethod:Ljava/lang/reflect/Method;
.line 25
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sServiceManagerClass:Ljava/lang/Class;
const-string v1, "checkService"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Ljava/lang/String;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lcom/android/common/ServiceManagerCompat;->sCheckServiceMethod:Ljava/lang/reflect/Method;
.line 26
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sServiceManagerClass:Ljava/lang/Class;
const-string v1, "addService"
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Ljava/lang/String;
aput-object v4, v2, v3
const/4 v3, 0x1
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lcom/android/common/ServiceManagerCompat;->sAddServiceMethod:Ljava/lang/reflect/Method;
.line 27
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sServiceManagerClass:Ljava/lang/Class;
const-string v1, "listServices"
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Class;
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lcom/android/common/ServiceManagerCompat;->sListServicesMethod:Ljava/lang/reflect/Method;
:try_end_59
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_59} :catch_5a
.catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_59} :catch_63
.line 33
:goto_59
return-void
.line 28
:catch_5a
move-exception v0
.line 29
const-string v1, "ServiceManagerCompat"
const-string v2, "unexpected"
invoke-static {v1, v2, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_59
.line 30
:catch_63
move-exception v0
.line 31
const-string v1, "ServiceManagerCompat"
const-string v2, "unexpected"
invoke-static {v1, v2, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_59
.end method
.method public constructor <init>()V
.registers 1
.prologue
.line 10
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static addService(Ljava/lang/String;Landroid/os/IBinder;)V
.registers 5
.prologue
.line 72
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sAddServiceMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_13
.line 74
:try_start_4
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sAddServiceMethod:Ljava/lang/reflect/Method;
.line 75
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p0, v1, v2
const/4 v2, 0x1
aput-object p1, v1, v2
.line 76
const/4 v2, 0x0
invoke-virtual {v0, v2, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_13
.catch Ljava/lang/IllegalAccessException; {:try_start_4 .. :try_end_13} :catch_14
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_4 .. :try_end_13} :catch_1d
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_13} :catch_26
.line 85
:cond_13
:goto_13
return-void
.line 77
:catch_14
move-exception v0
.line 78
const-string v1, "ServiceManagerCompat"
const-string v2, "unexpected"
invoke-static {v1, v2, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_13
.line 79
:catch_1d
move-exception v0
.line 80
const-string v1, "ServiceManagerCompat"
const-string v2, "unexpected"
invoke-static {v1, v2, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_13
.line 81
:catch_26
move-exception v0
.line 82
const-string v1, "ServiceManagerCompat"
const-string v2, "unexpected"
invoke-static {v1, v2, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_13
.end method
.method public static checkService(Ljava/lang/Object;)Landroid/os/IBinder;
.registers 5
.prologue
const/4 v1, 0x0
.line 54
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sCheckServiceMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_1d
.line 56
:try_start_5
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sCheckServiceMethod:Ljava/lang/reflect/Method;
.line 57
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p0, v2, v3
.line 58
const/4 v3, 0x0
invoke-virtual {v0, v3, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 59
check-cast v0, Landroid/os/IBinder;
:try_end_14
.catch Ljava/lang/IllegalAccessException; {:try_start_5 .. :try_end_14} :catch_15
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_5 .. :try_end_14} :catch_1f
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_14} :catch_28
.line 68
:goto_14
return-object v0
.line 60
:catch_15
move-exception v0
.line 61
const-string v2, "ServiceManagerCompat"
const-string v3, "unexpected"
invoke-static {v2, v3, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_1d
:goto_1d
move-object v0, v1
.line 68
goto :goto_14
.line 62
:catch_1f
move-exception v0
.line 63
const-string v2, "ServiceManagerCompat"
const-string v3, "unexpected"
invoke-static {v2, v3, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_1d
.line 64
:catch_28
move-exception v0
.line 65
const-string v2, "ServiceManagerCompat"
const-string v3, "unexpected"
invoke-static {v2, v3, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_1d
.end method
.method public static getService(Ljava/lang/Object;)Landroid/os/IBinder;
.registers 5
.prologue
const/4 v1, 0x0
.line 36
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sGetServiceMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_1d
.line 38
:try_start_5
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sGetServiceMethod:Ljava/lang/reflect/Method;
.line 39
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p0, v2, v3
.line 40
const/4 v3, 0x0
invoke-virtual {v0, v3, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 41
check-cast v0, Landroid/os/IBinder;
:try_end_14
.catch Ljava/lang/IllegalAccessException; {:try_start_5 .. :try_end_14} :catch_15
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_5 .. :try_end_14} :catch_1f
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_14} :catch_28
.line 50
:goto_14
return-object v0
.line 42
:catch_15
move-exception v0
.line 43
const-string v2, "ServiceManagerCompat"
const-string v3, "unexpected"
invoke-static {v2, v3, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_1d
:goto_1d
move-object v0, v1
.line 50
goto :goto_14
.line 44
:catch_1f
move-exception v0
.line 45
const-string v2, "ServiceManagerCompat"
const-string v3, "unexpected"
invoke-static {v2, v3, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_1d
.line 46
:catch_28
move-exception v0
.line 47
const-string v2, "ServiceManagerCompat"
const-string v3, "unexpected"
invoke-static {v2, v3, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_1d
.end method
.method public static listServices()[Ljava/lang/String;
.registers 4
.prologue
const/4 v1, 0x0
.line 88
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sListServicesMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_1c
.line 90
:try_start_5
sget-object v0, Lcom/android/common/ServiceManagerCompat;->sListServicesMethod:Ljava/lang/reflect/Method;
.line 91
const/4 v2, 0x0
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Object;
invoke-virtual {v0, v2, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/String;
check-cast v0, [Ljava/lang/String;
:try_end_13
.catch Ljava/lang/IllegalAccessException; {:try_start_5 .. :try_end_13} :catch_14
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_5 .. :try_end_13} :catch_1e
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_13} :catch_27
.line 100
:goto_13
return-object v0
.line 92
:catch_14
move-exception v0
.line 93
const-string v2, "ServiceManagerCompat"
const-string v3, "unexpected"
invoke-static {v2, v3, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_1c
:goto_1c
move-object v0, v1
.line 100
goto :goto_13
.line 94
:catch_1e
move-exception v0
.line 95
const-string v2, "ServiceManagerCompat"
const-string v3, "unexpected"
invoke-static {v2, v3, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_1c
.line 96
:catch_27
move-exception v0
.line 97
const-string v2, "ServiceManagerCompat"
const-string v3, "unexpected"
invoke-static {v2, v3, v0}, Ldxoptimizer/afo;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_1c
.end method