c.smali

.class public final Lcom/android/a/a/c;
.super Lcom/android/a/a/a;
.source "InstallReferrerClientImpl.java"


# instance fields
.field private zc:I

.field private final zd:Landroid/content/Context;

.field private ze:Lcom/google/android/finsky/externalreferrer/IGetInstallReferrerService;

.field private zf:Landroid/content/ServiceConnection;


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .registers 3

    .prologue
    .line 83
    invoke-direct {p0}, Lcom/android/a/a/a;-><init>()V

    .line 72
    const/4 v0, 0x0

    iput v0, p0, Lcom/android/a/a/c;->zc:I

    .line 84
    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    iput-object v0, p0, Lcom/android/a/a/c;->zd:Landroid/content/Context;

    .line 85
    return-void
.end method

.method static synthetic a(Lcom/android/a/a/c;I)I
    .registers 2

    .prologue
    .line 38
    iput p1, p0, Lcom/android/a/a/c;->zc:I

    return p1
.end method

.method static synthetic a(Lcom/android/a/a/c;Lcom/google/android/finsky/externalreferrer/IGetInstallReferrerService;)Lcom/google/android/finsky/externalreferrer/IGetInstallReferrerService;
    .registers 2

    .prologue
    .line 38
    iput-object p1, p0, Lcom/android/a/a/c;->ze:Lcom/google/android/finsky/externalreferrer/IGetInstallReferrerService;

    return-object p1
.end method

.method private cn()Z
    .registers 5

    .prologue
    const/4 v0, 0x0

    .line 197
    iget-object v1, p0, Lcom/android/a/a/c;->zd:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    .line 199
    :try_start_7
    const-string v2, "com.android.vending"

    const/16 v3, 0x80

    invoke-virtual {v1, v2, v3}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;

    move-result-object v1

    .line 200
    iget v1, v1, Landroid/content/pm/PackageInfo;->versionCode:I
    :try_end_11
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_7 .. :try_end_11} :catch_18

    .line 201
    const v2, 0x4d17ab4

    if-lt v1, v2, :cond_17

    const/4 v0, 0x1

    .line 203
    :cond_17
    :goto_17
    return v0

    :catch_18
    move-exception v1

    goto :goto_17
.end method

.method private isReady()Z
    .registers 3

    .prologue
    .line 89
    iget v0, p0, Lcom/android/a/a/c;->zc:I

    const/4 v1, 0x2

    if-ne v0, v1, :cond_f

    iget-object v0, p0, Lcom/android/a/a/c;->ze:Lcom/google/android/finsky/externalreferrer/IGetInstallReferrerService;

    if-eqz v0, :cond_f

    iget-object v0, p0, Lcom/android/a/a/c;->zf:Landroid/content/ServiceConnection;

    if-eqz v0, :cond_f

    const/4 v0, 0x1

    :goto_e
    return v0

    :cond_f
    const/4 v0, 0x0

    goto :goto_e
.end method


# virtual methods
.method public final a(Lcom/android/a/a/e;)V
    .registers 9

    .prologue
    const/4 v6, 0x2

    const/4 v1, 0x3

    const/4 v5, 0x1

    const/4 v4, 0x0

    .line 94
    invoke-direct {p0}, Lcom/android/a/a/c;->isReady()Z

    move-result v0

    if-eqz v0, :cond_e

    .line 97
    invoke-interface {p1, v4}, Lcom/android/a/a/e;->ac(I)V

    .line 163
    :cond_d
    :goto_d
    return-void

    .line 101
    :cond_e
    iget v0, p0, Lcom/android/a/a/c;->zc:I

    if-ne v0, v5, :cond_16

    .line 104
    invoke-interface {p1, v1}, Lcom/android/a/a/e;->ac(I)V

    goto :goto_d

    .line 108
    :cond_16
    iget v0, p0, Lcom/android/a/a/c;->zc:I

    if-ne v0, v1, :cond_1e

    .line 111
    invoke-interface {p1, v1}, Lcom/android/a/a/e;->ac(I)V

    goto :goto_d

    .line 117
    :cond_1e
    new-instance v0, Lcom/android/a/a/d;

    invoke-direct {v0, p0, p1, v4}, Lcom/android/a/a/d;-><init>(Lcom/android/a/a/c;Lcom/android/a/a/e;B)V

    iput-object v0, p0, Lcom/android/a/a/c;->zf:Landroid/content/ServiceConnection;

    .line 119
    new-instance v1, Landroid/content/Intent;

    const-string v0, "com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE"

    invoke-direct {v1, v0}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    .line 120
    new-instance v0, Landroid/content/ComponentName;

    const-string v2, "com.android.vending"

    const-string v3, "com.google.android.finsky.externalreferrer.GetInstallReferrerService"

    invoke-direct {v0, v2, v3}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {v1, v0}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;

    .line 121
    iget-object v0, p0, Lcom/android/a/a/c;->zd:Landroid/content/Context;

    .line 122
    invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v0

    invoke-virtual {v0, v1, v4}, Landroid/content/pm/PackageManager;->queryIntentServices(Landroid/content/Intent;I)Ljava/util/List;

    move-result-object v0

    .line 124
    if-eqz v0, :cond_87

    invoke-interface {v0}, Ljava/util/List;->isEmpty()Z

    move-result v2

    if-nez v2, :cond_87

    .line 126
    invoke-interface {v0, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/content/pm/ResolveInfo;

    .line 127
    iget-object v2, v0, Landroid/content/pm/ResolveInfo;->serviceInfo:Landroid/content/pm/ServiceInfo;

    if-eqz v2, :cond_87

    .line 128
    iget-object v2, v0, Landroid/content/pm/ResolveInfo;->serviceInfo:Landroid/content/pm/ServiceInfo;

    iget-object v2, v2, Landroid/content/pm/ServiceInfo;->packageName:Ljava/lang/String;

    .line 129
    iget-object v0, v0, Landroid/content/pm/ResolveInfo;->serviceInfo:Landroid/content/pm/ServiceInfo;

    iget-object v0, v0, Landroid/content/pm/ServiceInfo;->name:Ljava/lang/String;

    .line 130
    const-string v3, "com.android.vending"

    invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_81

    if-eqz v0, :cond_81

    .line 132
    invoke-direct {p0}, Lcom/android/a/a/c;->cn()Z

    move-result v0

    if-eqz v0, :cond_81

    .line 133
    new-instance v0, Landroid/content/Intent;

    invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Landroid/content/Intent;)V

    .line 134
    iget-object v1, p0, Lcom/android/a/a/c;->zd:Landroid/content/Context;

    iget-object v2, p0, Lcom/android/a/a/c;->zf:Landroid/content/ServiceConnection;

    .line 135
    invoke-virtual {v1, v0, v2, v5}, Landroid/content/Context;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z

    move-result v0

    .line 137
    if-nez v0, :cond_d

    .line 145
    iput v4, p0, Lcom/android/a/a/c;->zc:I

    .line 146
    invoke-interface {p1, v5}, Lcom/android/a/a/e;->ac(I)V

    goto :goto_d

    .line 153
    :cond_81
    iput v4, p0, Lcom/android/a/a/c;->zc:I

    .line 154
    invoke-interface {p1, v6}, Lcom/android/a/a/e;->ac(I)V

    goto :goto_d

    .line 160
    :cond_87
    iput v4, p0, Lcom/android/a/a/c;->zc:I

    .line 162
    invoke-interface {p1, v6}, Lcom/android/a/a/e;->ac(I)V

    goto :goto_d
.end method

.method public final cl()V
    .registers 4

    .prologue
    const/4 v2, 0x0

    .line 167
    const/4 v0, 0x3

    iput v0, p0, Lcom/android/a/a/c;->zc:I

    .line 168
    iget-object v0, p0, Lcom/android/a/a/c;->zf:Landroid/content/ServiceConnection;

    if-eqz v0, :cond_11

    .line 170
    iget-object v0, p0, Lcom/android/a/a/c;->zd:Landroid/content/Context;

    iget-object v1, p0, Lcom/android/a/a/c;->zf:Landroid/content/ServiceConnection;

    invoke-virtual {v0, v1}, Landroid/content/Context;->unbindService(Landroid/content/ServiceConnection;)V

    .line 171
    iput-object v2, p0, Lcom/android/a/a/c;->zf:Landroid/content/ServiceConnection;

    .line 173
    :cond_11
    iput-object v2, p0, Lcom/android/a/a/c;->ze:Lcom/google/android/finsky/externalreferrer/IGetInstallReferrerService;

    .line 174
    return-void
.end method

.method public final cm()Lcom/android/a/a/f;
    .registers 4

    .prologue
    .line 178
    invoke-direct {p0}, Lcom/android/a/a/c;->isReady()Z

    move-result v0

    if-nez v0, :cond_e

    .line 179
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "Service not connected. Please start a connection before using the service."

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 183
    :cond_e
    new-instance v0, Landroid/os/Bundle;

    invoke-direct {v0}, Landroid/os/Bundle;-><init>()V

    .line 184
    const-string v1, "package_name"

    iget-object v2, p0, Lcom/android/a/a/c;->zd:Landroid/content/Context;

    invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V

    .line 186
    :try_start_1e
    new-instance v1, Lcom/android/a/a/f;

    iget-object v2, p0, Lcom/android/a/a/c;->ze:Lcom/google/android/finsky/externalreferrer/IGetInstallReferrerService;

    .line 187
    invoke-interface {v2, v0}, Lcom/google/android/finsky/externalreferrer/IGetInstallReferrerService;->i(Landroid/os/Bundle;)Landroid/os/Bundle;

    move-result-object v0

    invoke-direct {v1, v0}, Lcom/android/a/a/f;-><init>(Landroid/os/Bundle;)V
    :try_end_29
    .catch Landroid/os/RemoteException; {:try_start_1e .. :try_end_29} :catch_2a

    .line 188
    return-object v1

    .line 189
    :catch_2a
    move-exception v0

    .line 191
    const/4 v1, 0x0

    iput v1, p0, Lcom/android/a/a/c;->zc:I

    .line 192
    throw v0
.end method