up.smali
.class public abstract Ldxoptimizer/up;
.super Landroid/os/Binder;
.source "DXServiceManagerNative.java"
# interfaces
.implements Ldxoptimizer/ur;
# static fields
.field private static a:Ldxoptimizer/ur;
.field private static b:Landroid/os/IBinder$DeathRecipient;
# direct methods
.method public static a()Ldxoptimizer/ur;
.registers 4
.prologue
const/4 v1, 0x0
const/4 v0, 0x0
.line 20
:try_start_2
sget-object v2, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
:try_end_4
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_4} :catch_4b
if-eqz v2, :cond_7
const/4 v0, 0x1
.line 24
:cond_7
:goto_7
if-nez v0, :cond_41
.line 25
const/16 v0, 0xa
invoke-static {v0}, Ldxoptimizer/up;->a(I)Ldxoptimizer/ur;
move-result-object v0
sput-object v0, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
.line 26
sget-object v0, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
if-nez v0, :cond_21
.line 28
const-string v0, "bp"
invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
move-result-object v0
.line 29
invoke-static {v0}, Ldxoptimizer/up;->a(Landroid/os/IBinder;)Ldxoptimizer/ur;
move-result-object v0
sput-object v0, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
.line 31
:cond_21
sget-object v0, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
if-eqz v0, :cond_41
.line 33
:try_start_25
sget-object v0, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
invoke-interface {v0}, Ldxoptimizer/ur;->d_()I
move-result v0
if-gtz v0, :cond_32
.line 34
const/4 v0, 0x0
sput-object v0, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
move-object v0, v1
.line 54
:goto_31
return-object v0
.line 37
:cond_32
new-instance v0, Ldxoptimizer/up$1;
invoke-direct {v0}, Ldxoptimizer/up$1;-><init>()V
.line 47
sget-object v2, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
invoke-interface {v2}, Ldxoptimizer/ur;->asBinder()Landroid/os/IBinder;
move-result-object v2
const/4 v3, 0x0
invoke-interface {v2, v0, v3}, Landroid/os/IBinder;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
:try_end_41
.catch Landroid/os/RemoteException; {:try_start_25 .. :try_end_41} :catch_44
.line 54
:cond_41
:goto_41
sget-object v0, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
goto :goto_31
.line 48
:catch_44
move-exception v0
.line 49
invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
.line 50
sput-object v1, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
goto :goto_41
.line 21
:catch_4b
move-exception v2
goto :goto_7
.end method
.method public static a(I)Ldxoptimizer/ur;
.registers 3
.prologue
.line 58
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "bp"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
move-result-object v0
.line 59
invoke-static {v0}, Ldxoptimizer/up;->a(Landroid/os/IBinder;)Ldxoptimizer/ur;
move-result-object v0
return-object v0
.end method
.method public static a(Landroid/os/IBinder;)Ldxoptimizer/ur;
.registers 2
.prologue
.line 71
if-nez p0, :cond_4
.line 72
const/4 v0, 0x0
.line 78
:cond_3
:goto_3
return-object v0
.line 74
:cond_4
const-string v0, "android.os.bp"
invoke-interface {p0, v0}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
move-result-object v0
check-cast v0, Ldxoptimizer/ur;
.line 75
if-nez v0, :cond_3
.line 78
new-instance v0, Ldxoptimizer/uq;
invoke-direct {v0, p0}, Ldxoptimizer/uq;-><init>(Landroid/os/IBinder;)V
goto :goto_3
.end method
.method static synthetic a(Ldxoptimizer/ur;)Ldxoptimizer/ur;
.registers 1
.prologue
.line 10
sput-object p0, Ldxoptimizer/up;->a:Ldxoptimizer/ur;
return-object p0
.end method
.method static synthetic b()Landroid/os/IBinder$DeathRecipient;
.registers 1
.prologue
.line 10
sget-object v0, Ldxoptimizer/up;->b:Landroid/os/IBinder$DeathRecipient;
return-object v0
.end method