PackageManagerWrapper.smali
.class public Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;
.super Ljava/lang/Object;
# instance fields
.field private final zzjp:Landroid/content/Context;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
return-void
.end method
# virtual methods
.method public allowApiAccess(Ljava/lang/String;I)Z
.registers 4
const/4 v0, 0x1
return v0
.end method
.method public checkCallerIsNotInstantApp()V
.registers 3
invoke-virtual {p0}, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->isCallerInstantApp()Z
move-result v0
if-eqz v0, :cond_e
new-instance v0, Ljava/lang/SecurityException;
const-string v1, "This operation is not supported for instant apps."
invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
throw v0
:cond_e
return-void
.end method
.method public checkCallingOrSelfPermission(Ljava/lang/String;)I
.registers 3
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0, p1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public checkCallingOrSelfPermissionAndAppOps(Ljava/lang/String;)I
.registers 3
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-static {v0, p1}, Landroid/support/v4/content/o;->c(Landroid/content/Context;Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public checkCallingPermission(Ljava/lang/String;)I
.registers 3
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0, p1}, Landroid/content/Context;->checkCallingPermission(Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)I
.registers 4
.annotation runtime Ljava/lang/Deprecated;
.end annotation
invoke-virtual {p0, p1, p2}, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public checkCallingPermissionAndAppOps(Ljava/lang/String;Ljava/lang/String;)I
.registers 6
.prologue
.line 0
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
.line 1151
invoke-static {}, Landroid/os/Binder;->getCallingPid()I
move-result v1
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v2
if-ne v1, v2, :cond_e
.line 1152
const/4 v0, -0x1
:goto_d
return v0
.line 1154
:cond_e
invoke-static {}, Landroid/os/Binder;->getCallingPid()I
move-result v1
.line 1155
invoke-static {}, Landroid/os/Binder;->getCallingUid()I
move-result v2
.line 1154
invoke-static {v0, p1, v1, v2, p2}, Landroid/support/v4/content/o;->a(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;)I
move-result v0
goto :goto_d
.end method
.method public checkPackage(ILjava/lang/String;)V
.registers 6
invoke-virtual {p0, p1, p2}, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->uidHasPackageName(ILjava/lang/String;)Z
move-result v0
if-nez v0, :cond_33
new-instance v0, Ljava/lang/SecurityException;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x27
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Package "
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " does not belong to "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V
throw v0
:cond_33
return-void
.end method
.method public checkPermission(Ljava/lang/String;II)I
.registers 5
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0, p1, p2, p3}, Landroid/content/Context;->checkPermission(Ljava/lang/String;II)I
move-result v0
return v0
.end method
.method public checkPermission(Ljava/lang/String;IILjava/lang/String;)I
.registers 6
.annotation runtime Ljava/lang/Deprecated;
.end annotation
invoke-virtual {p0, p1, p2, p3}, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->checkPermission(Ljava/lang/String;II)I
move-result v0
return v0
.end method
.method public checkPermission(Ljava/lang/String;Ljava/lang/String;)I
.registers 4
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {v0, p1, p2}, Landroid/content/pm/PackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public checkPermissionAndAppOps(Ljava/lang/String;IILjava/lang/String;)I
.registers 6
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-static {v0, p1, p2, p3, p4}, Landroid/support/v4/content/o;->a(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;)I
move-result v0
return v0
.end method
.method public getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
.registers 4
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {v0, p1, p2}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v0
return-object v0
.end method
.method public getApplicationLabel(Ljava/lang/String;)Ljava/lang/CharSequence;
.registers 5
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
iget-object v1, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v1, p1, v2}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
move-result-object v0
return-object v0
.end method
.method public getApplicationLabelAndIcon(Ljava/lang/String;)Landroid/support/v4/f/o;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Landroid/support/v4/f/o",
"<",
"Ljava/lang/CharSequence;",
"Landroid/graphics/drawable/Drawable;",
">;"
}
.end annotation
.prologue
.line 0
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, p1, v1}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v0
iget-object v1, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/content/pm/PackageManager;->getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
move-result-object v1
iget-object v2, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
invoke-virtual {v2, v0}, Landroid/content/pm/PackageManager;->getApplicationIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
move-result-object v0
.line 2086
new-instance v2, Landroid/support/v4/f/o;
invoke-direct {v2, v1, v0}, Landroid/support/v4/f/o;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
.line 0
return-object v2
.end method
.method public getCallingActivity(Landroid/app/Activity;)Landroid/content/ComponentName;
.registers 3
invoke-virtual {p1}, Landroid/app/Activity;->getCallingActivity()Landroid/content/ComponentName;
move-result-object v0
return-object v0
.end method
.method public getCallingPackage(Landroid/app/Activity;)Ljava/lang/String;
.registers 6
const/4 v0, 0x0
invoke-virtual {p1}, Landroid/app/Activity;->getCallingActivity()Landroid/content/ComponentName;
move-result-object v2
if-nez v2, :cond_8
:goto_7
return-object v0
:cond_8
invoke-virtual {v2}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_2b
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x36
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v2, "getCallingPackage(): Couldn\'t get a package name from "
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_7
:cond_2b
move-object v0, v1
goto :goto_7
.end method
.method protected getContext()Landroid/content/Context;
.registers 2
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
return-object v0
.end method
.method public getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
.registers 4
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {v0, p1, p2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v0
return-object v0
.end method
.method public getPackagesForUid(I)[Ljava/lang/String;
.registers 3
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public isCallerInstantApp()Z
.registers 3
invoke-static {}, Landroid/os/Binder;->getCallingUid()I
move-result v0
invoke-static {}, Landroid/os/Process;->myUid()I
move-result v1
if-ne v0, v1, :cond_11
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-static {v0}, Lcom/google/android/gms/common/wrappers/InstantApps;->isInstantApp(Landroid/content/Context;)Z
move-result v0
:goto_10
return v0
:cond_11
invoke-static {}, Lcom/google/android/gms/common/util/PlatformVersion;->isAtLeastO()Z
move-result v0
if-eqz v0, :cond_32
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-static {}, Landroid/os/Binder;->getCallingUid()I
move-result v1
invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->getNameForUid(I)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_32
iget-object v1, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/content/pm/PackageManager;->isInstantApp(Ljava/lang/String;)Z
move-result v0
goto :goto_10
:cond_32
const/4 v0, 0x0
goto :goto_10
.end method
.method public isInstantAppUid(I)Z
.registers 3
const/4 v0, 0x0
return v0
.end method
.method public uidHasPackageName(ILjava/lang/String;)Z
.registers 8
.annotation build Landroid/annotation/TargetApi;
value = 0x13
.end annotation
const/4 v2, 0x1
const/4 v1, 0x0
invoke-static {}, Lcom/google/android/gms/common/util/PlatformVersion;->isAtLeastKitKat()Z
move-result v0
if-eqz v0, :cond_17
:try_start_8
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
const-string v3, "appops"
invoke-virtual {v0, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/AppOpsManager;
invoke-virtual {v0, p1, p2}, Landroid/app/AppOpsManager;->checkPackage(ILjava/lang/String;)V
:try_end_15
.catch Ljava/lang/SecurityException; {:try_start_8 .. :try_end_15} :catch_36
move v1, v2
:cond_16
:goto_16
return v1
:cond_17
iget-object v0, p0, Lcom/google/android/gms/common/wrappers/PackageManagerWrapper;->zzjp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String;
move-result-object v3
if-eqz p2, :cond_16
if-eqz v3, :cond_16
move v0, v1
:goto_26
array-length v4, v3
if-ge v0, v4, :cond_16
aget-object v4, v3, v0
invoke-virtual {p2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_33
move v1, v2
goto :goto_16
:cond_33
add-int/lit8 v0, v0, 0x1
goto :goto_26
:catch_36
move-exception v0
goto :goto_16
.end method