zzn.smali
.class public abstract Lcom/google/android/gms/internal/vision/zzn;
.super Ljava/lang/Object;
.source "com.google.android.gms:play-services-vision-common@@19.0.0"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field public static PREFIX:Ljava/lang/String; = "com.google.android.gms.vision.dynamite"
# instance fields
.field public final lock:Ljava/lang/Object;
.field public final tag:Ljava/lang/String;
.field public final zzde:Ljava/lang/String;
.field public final zzdf:Ljava/lang/String;
.field public final zzdg:Z
.field public zzdh:Z
.field public zzdi:Z
.field public zzdj:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TT;"
}
.end annotation
.annotation build Ljavax/annotation/concurrent/GuardedBy;
value = "lock"
.end annotation
.end field
.field public final zze:Landroid/content/Context;
# direct methods
.method public static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
.registers 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/google/android/gms/internal/vision/zzn;->lock:Ljava/lang/Object;
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdh:Z
iput-boolean v0, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdi:Z
iput-object p1, p0, Lcom/google/android/gms/internal/vision/zzn;->zze:Landroid/content/Context;
iput-object p2, p0, Lcom/google/android/gms/internal/vision/zzn;->tag:Ljava/lang/String;
sget-object p2, Lcom/google/android/gms/internal/vision/zzn;->PREFIX:Ljava/lang/String;
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
const/4 v2, 0x1
add-int/2addr v1, v2
invoke-static {p3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v1, v3
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v1}, Ljava/lang/StringBuilder;-><init>(I)V
invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p2, "."
invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
iput-object p2, p0, Lcom/google/android/gms/internal/vision/zzn;->zzde:Ljava/lang/String;
iput-object p3, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdf:Ljava/lang/String;
if-eqz p1, :cond_7d
invoke-static {p1}, Lcom/google/android/gms/internal/vision/zzbe;->maybeInit(Landroid/content/Context;)V
invoke-static {}, Lcom/google/android/gms/internal/vision/zzkv;->zzjp()Z
move-result p1
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v4
sget-object v6, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
invoke-static {}, Lcom/google/android/gms/internal/vision/zzkv;->zzjq()Z
move-result p1
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v8
sget-object v10, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
const-string v3, "barcode"
const-string v5, "face"
const-string v7, "ica"
const-string v9, "ocr"
invoke-static/range {v3 .. v10}, Lcom/google/android/gms/internal/vision/zzdg;->zza(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/android/gms/internal/vision/zzdg;
move-result-object p1
invoke-virtual {p1, p3}, Lcom/google/android/gms/internal/vision/zzdg;->containsKey(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_79
invoke-virtual {p1, p3}, Lcom/google/android/gms/internal/vision/zzdg;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Boolean;
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
if-eqz p1, :cond_79
const/4 p1, 0x1
goto :goto_7a
:cond_79
const/4 p1, 0x0
:goto_7a
if-eqz p1, :cond_7d
const/4 v0, 0x1
:cond_7d
iput-boolean v0, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdg:Z
return-void
.end method
# virtual methods
.method public final isOperational()Z
.registers 2
invoke-virtual {p0}, Lcom/google/android/gms/internal/vision/zzn;->zzp()Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_8
const/4 v0, 0x1
return v0
:cond_8
const/4 v0, 0x0
return v0
.end method
.method public abstract zza(Lcom/google/android/gms/dynamite/DynamiteModule;Landroid/content/Context;)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/gms/dynamite/DynamiteModule;",
"Landroid/content/Context;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;,
Lcom/google/android/gms/dynamite/DynamiteModule$LoadingException;
}
.end annotation
.end method
.method public abstract zzn()V
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.end method
.method public final zzo()V
.registers 5
iget-object v0, p0, Lcom/google/android/gms/internal/vision/zzn;->lock:Ljava/lang/Object;
monitor-enter v0
:try_start_3
iget-object v1, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdj:Ljava/lang/Object;
if-nez v1, :cond_9
monitor-exit v0
:try_end_8
.catchall {:try_start_3 .. :try_end_8} :catchall_17
return-void
:cond_9
:try_start_9
invoke-virtual {p0}, Lcom/google/android/gms/internal/vision/zzn;->zzn()V
:try_end_c
.catch Landroid/os/RemoteException; {:try_start_9 .. :try_end_c} :catch_d
.catchall {:try_start_9 .. :try_end_c} :catchall_17
goto :goto_15
:catch_d
move-exception v1
:try_start_e
iget-object v2, p0, Lcom/google/android/gms/internal/vision/zzn;->tag:Ljava/lang/String;
const-string v3, "Could not finalize native handle"
invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_15
monitor-exit v0
return-void
:catchall_17
move-exception v1
monitor-exit v0
:try_end_19
.catchall {:try_start_e .. :try_end_19} :catchall_17
throw v1
.end method
.method public final zzp()Ljava/lang/Object;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
iget-object v0, p0, Lcom/google/android/gms/internal/vision/zzn;->lock:Ljava/lang/Object;
monitor-enter v0
:try_start_3
iget-object v1, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdj:Ljava/lang/Object;
if-eqz v1, :cond_b
iget-object v1, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdj:Ljava/lang/Object;
monitor-exit v0
:try_end_a
.catchall {:try_start_3 .. :try_end_a} :catchall_a9
return-object v1
:cond_b
const/4 v1, 0x1
:try_start_c
iget-object v2, p0, Lcom/google/android/gms/internal/vision/zzn;->zze:Landroid/content/Context;
sget-object v3, Lcom/google/android/gms/dynamite/DynamiteModule;->PREFER_HIGHEST_OR_REMOTE_VERSION:Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy;
iget-object v4, p0, Lcom/google/android/gms/internal/vision/zzn;->zzde:Ljava/lang/String;
invoke-static {v2, v3, v4}, Lcom/google/android/gms/dynamite/DynamiteModule;->load(Landroid/content/Context;Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy;Ljava/lang/String;)Lcom/google/android/gms/dynamite/DynamiteModule;
move-result-object v2
:try_end_16
.catch Lcom/google/android/gms/dynamite/DynamiteModule$LoadingException; {:try_start_c .. :try_end_16} :catch_17
.catchall {:try_start_c .. :try_end_16} :catchall_a9
goto :goto_6f
:catch_17
:try_start_17
iget-object v2, p0, Lcom/google/android/gms/internal/vision/zzn;->tag:Ljava/lang/String;
const-string v3, "Cannot load feature, fall back to load dynamite module."
invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
iget-object v2, p0, Lcom/google/android/gms/internal/vision/zzn;->zze:Landroid/content/Context;
iget-object v3, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdf:Ljava/lang/String;
iget-boolean v4, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdg:Z
invoke-static {v2, v3, v4}, Lcom/google/android/gms/internal/vision/zzr;->zza(Landroid/content/Context;Ljava/lang/String;Z)Lcom/google/android/gms/dynamite/DynamiteModule;
move-result-object v2
if-nez v2, :cond_6f
iget-boolean v3, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdg:Z
if-eqz v3, :cond_6f
iget-boolean v3, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdh:Z
if-nez v3, :cond_6f
iget-object v3, p0, Lcom/google/android/gms/internal/vision/zzn;->tag:Ljava/lang/String;
const-string v4, "Broadcasting download intent for dependency "
iget-object v5, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdf:Ljava/lang/String;
invoke-static {v5}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/String;->length()I
move-result v6
if-eqz v6, :cond_47
invoke-virtual {v4, v5}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
goto :goto_4d
:cond_47
new-instance v5, Ljava/lang/String;
invoke-direct {v5, v4}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
move-object v4, v5
:goto_4d
invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
iget-object v3, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdf:Ljava/lang/String;
new-instance v4, Landroid/content/Intent;
invoke-direct {v4}, Landroid/content/Intent;-><init>()V
const-string v5, "com.google.android.gms"
const-string v6, "com.google.android.gms.vision.DependencyBroadcastReceiverProxy"
invoke-virtual {v4, v5, v6}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const-string v5, "com.google.android.gms.vision.DEPENDENCIES"
invoke-virtual {v4, v5, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const-string v3, "com.google.android.gms.vision.DEPENDENCY"
invoke-virtual {v4, v3}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
iget-object v3, p0, Lcom/google/android/gms/internal/vision/zzn;->zze:Landroid/content/Context;
invoke-virtual {v3, v4}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
iput-boolean v1, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdh:Z
:try_end_6f
.catchall {:try_start_17 .. :try_end_6f} :catchall_a9
:cond_6f
:goto_6f
if-eqz v2, :cond_84
:try_start_71
iget-object v3, p0, Lcom/google/android/gms/internal/vision/zzn;->zze:Landroid/content/Context;
invoke-virtual {p0, v2, v3}, Lcom/google/android/gms/internal/vision/zzn;->zza(Lcom/google/android/gms/dynamite/DynamiteModule;Landroid/content/Context;)Ljava/lang/Object;
move-result-object v2
iput-object v2, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdj:Ljava/lang/Object;
:try_end_79
.catch Lcom/google/android/gms/dynamite/DynamiteModule$LoadingException; {:try_start_71 .. :try_end_79} :catch_7c
.catch Landroid/os/RemoteException; {:try_start_71 .. :try_end_79} :catch_7a
.catchall {:try_start_71 .. :try_end_79} :catchall_a9
goto :goto_84
:catch_7a
move-exception v2
goto :goto_7d
:catch_7c
move-exception v2
:goto_7d
:try_start_7d
iget-object v3, p0, Lcom/google/android/gms/internal/vision/zzn;->tag:Ljava/lang/String;
const-string v4, "Error creating remote native handle"
invoke-static {v3, v4, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_84
:goto_84
iget-boolean v2, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdi:Z
if-nez v2, :cond_96
iget-object v2, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdj:Ljava/lang/Object;
if-nez v2, :cond_96
iget-object v2, p0, Lcom/google/android/gms/internal/vision/zzn;->tag:Ljava/lang/String;
const-string v3, "Native handle not yet available. Reverting to no-op handle."
invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
iput-boolean v1, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdi:Z
goto :goto_a5
:cond_96
iget-boolean v1, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdi:Z
if-eqz v1, :cond_a5
iget-object v1, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdj:Ljava/lang/Object;
if-eqz v1, :cond_a5
iget-object v1, p0, Lcom/google/android/gms/internal/vision/zzn;->tag:Ljava/lang/String;
const-string v2, "Native handle is now available."
invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_a5
:goto_a5
iget-object v1, p0, Lcom/google/android/gms/internal/vision/zzn;->zzdj:Ljava/lang/Object;
monitor-exit v0
return-object v1
:catchall_a9
move-exception v1
monitor-exit v0
:try_end_ab
.catchall {:try_start_7d .. :try_end_ab} :catchall_a9
throw v1
.end method