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