zza.smali

.class public final Lcom/google/android/gms/vision/face/internal/client/zza;
.super Lcom/google/android/gms/internal/vision/zzl;


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "Lcom/google/android/gms/internal/vision/zzl<",
        "Lcom/google/android/gms/vision/face/internal/client/zze;",
        ">;"
    }
.end annotation


# instance fields
.field private final zzce:Lcom/google/android/gms/vision/face/internal/client/zzc;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Lcom/google/android/gms/vision/face/internal/client/zzc;)V
    .registers 5

    const-string v0, "FaceNativeHandle"

    const-string v1, "face"

    invoke-direct {p0, p1, v0, v1}, Lcom/google/android/gms/internal/vision/zzl;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V

    iput-object p2, p0, Lcom/google/android/gms/vision/face/internal/client/zza;->zzce:Lcom/google/android/gms/vision/face/internal/client/zzc;

    invoke-virtual {p0}, Lcom/google/android/gms/internal/vision/zzl;->zzp()Ljava/lang/Object;

    return-void
.end method


# virtual methods
.method protected final synthetic zza(Lcom/google/android/gms/dynamite/DynamiteModule;Landroid/content/Context;)Ljava/lang/Object;
    .registers 6
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Landroid/os/RemoteException;,
            Lcom/google/android/gms/dynamite/DynamiteModule$LoadingException;
        }
    .end annotation

    const-string v0, "com.google.android.gms.vision.face.ChimeraNativeFaceDetectorCreator"

    invoke-virtual {p1, v0}, Lcom/google/android/gms/dynamite/DynamiteModule;->instantiate(Ljava/lang/String;)Landroid/os/IBinder;

    move-result-object p1

    const/4 v0, 0x0

    if-nez p1, :cond_b

    move-object v1, v0

    goto :goto_1d

    :cond_b
    const-string v1, "com.google.android.gms.vision.face.internal.client.INativeFaceDetectorCreator"

    invoke-interface {p1, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;

    move-result-object v1

    instance-of v2, v1, Lcom/google/android/gms/vision/face/internal/client/zzg;

    if-eqz v2, :cond_18

    check-cast v1, Lcom/google/android/gms/vision/face/internal/client/zzg;

    goto :goto_1d

    :cond_18
    new-instance v1, Lcom/google/android/gms/vision/face/internal/client/zzh;

    invoke-direct {v1, p1}, Lcom/google/android/gms/vision/face/internal/client/zzh;-><init>(Landroid/os/IBinder;)V

    :goto_1d
    if-nez v1, :cond_20

    return-object v0

    :cond_20
    invoke-static {p2}, Lcom/google/android/gms/dynamic/ObjectWrapper;->wrap(Ljava/lang/Object;)Lcom/google/android/gms/dynamic/IObjectWrapper;

    move-result-object p1

    iget-object p2, p0, Lcom/google/android/gms/vision/face/internal/client/zza;->zzce:Lcom/google/android/gms/vision/face/internal/client/zzc;

    invoke-interface {v1, p1, p2}, Lcom/google/android/gms/vision/face/internal/client/zzg;->zza(Lcom/google/android/gms/dynamic/IObjectWrapper;Lcom/google/android/gms/vision/face/internal/client/zzc;)Lcom/google/android/gms/vision/face/internal/client/zze;

    move-result-object p1

    return-object p1
.end method

.method public final zzb(Ljava/nio/ByteBuffer;Lcom/google/android/gms/internal/vision/zzm;)[Lcom/google/android/gms/vision/face/Face;
    .registers 20

    invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/internal/vision/zzl;->isOperational()Z

    move-result v0

    const/4 v1, 0x0

    if-nez v0, :cond_a

    new-array v0, v1, [Lcom/google/android/gms/vision/face/Face;

    return-object v0

    :cond_a
    :try_start_a
    invoke-static/range {p1 .. p1}, Lcom/google/android/gms/dynamic/ObjectWrapper;->wrap(Ljava/lang/Object;)Lcom/google/android/gms/dynamic/IObjectWrapper;

    move-result-object v0

    invoke-virtual/range {p0 .. p0}, Lcom/google/android/gms/internal/vision/zzl;->zzp()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/google/android/gms/vision/face/internal/client/zze;

    move-object/from16 v3, p2

    invoke-interface {v2, v0, v3}, Lcom/google/android/gms/vision/face/internal/client/zze;->zzc(Lcom/google/android/gms/dynamic/IObjectWrapper;Lcom/google/android/gms/internal/vision/zzm;)[Lcom/google/android/gms/vision/face/internal/client/FaceParcel;

    move-result-object v0
    :try_end_1a
    .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1a} :catch_7f

    array-length v2, v0

    new-array v2, v2, [Lcom/google/android/gms/vision/face/Face;

    const/4 v3, 0x0

    :goto_1e
    array-length v4, v0

    if-ge v3, v4, :cond_7e

    aget-object v4, v0, v3

    new-instance v16, Lcom/google/android/gms/vision/face/Face;

    iget v6, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->id:I

    new-instance v7, Landroid/graphics/PointF;

    iget v5, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->centerX:F

    iget v8, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->centerY:F

    invoke-direct {v7, v5, v8}, Landroid/graphics/PointF;-><init>(FF)V

    iget v8, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->width:F

    iget v9, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->height:F

    iget v10, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->zzcf:F

    iget v11, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->zzcg:F

    iget-object v5, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->zzch:[Lcom/google/android/gms/vision/face/internal/client/LandmarkParcel;

    if-nez v5, :cond_42

    new-array v5, v1, [Lcom/google/android/gms/vision/face/Landmark;

    move-object/from16 p1, v0

    move-object v12, v5

    goto :goto_6b

    :cond_42
    array-length v12, v5

    new-array v12, v12, [Lcom/google/android/gms/vision/face/Landmark;

    const/4 v13, 0x0

    :goto_46
    array-length v14, v5

    if-ge v13, v14, :cond_69

    aget-object v14, v5, v13

    new-instance v15, Lcom/google/android/gms/vision/face/Landmark;

    new-instance v1, Landroid/graphics/PointF;

    move-object/from16 p1, v0

    iget v0, v14, Lcom/google/android/gms/vision/face/internal/client/LandmarkParcel;->x:F

    move-object/from16 p2, v5

    iget v5, v14, Lcom/google/android/gms/vision/face/internal/client/LandmarkParcel;->y:F

    invoke-direct {v1, v0, v5}, Landroid/graphics/PointF;-><init>(FF)V

    iget v0, v14, Lcom/google/android/gms/vision/face/internal/client/LandmarkParcel;->type:I

    invoke-direct {v15, v1, v0}, Lcom/google/android/gms/vision/face/Landmark;-><init>(Landroid/graphics/PointF;I)V

    aput-object v15, v12, v13

    add-int/lit8 v13, v13, 0x1

    move-object/from16 v0, p1

    move-object/from16 v5, p2

    const/4 v1, 0x0

    goto :goto_46

    :cond_69
    move-object/from16 p1, v0

    :goto_6b
    iget v13, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->zzbs:F

    iget v14, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->zzbt:F

    iget v15, v4, Lcom/google/android/gms/vision/face/internal/client/FaceParcel;->zzbu:F

    move-object/from16 v5, v16

    invoke-direct/range {v5 .. v15}, Lcom/google/android/gms/vision/face/Face;-><init>(ILandroid/graphics/PointF;FFFF[Lcom/google/android/gms/vision/face/Landmark;FFF)V

    aput-object v16, v2, v3

    add-int/lit8 v3, v3, 0x1

    move-object/from16 v0, p1

    const/4 v1, 0x0

    goto :goto_1e

    :cond_7e
    return-object v2

    :catch_7f
    move-exception v0

    const-string v1, "FaceNativeHandle"

    const-string v2, "Could not call native face detector"

    invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    const/4 v1, 0x0

    new-array v0, v1, [Lcom/google/android/gms/vision/face/Face;

    return-object v0
.end method

.method public final zzd(I)Z
    .registers 5

    invoke-virtual {p0}, Lcom/google/android/gms/internal/vision/zzl;->isOperational()Z

    move-result v0

    const/4 v1, 0x0

    if-nez v0, :cond_8

    return v1

    :cond_8
    :try_start_8
    invoke-virtual {p0}, Lcom/google/android/gms/internal/vision/zzl;->zzp()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/android/gms/vision/face/internal/client/zze;

    invoke-interface {v0, p1}, Lcom/google/android/gms/vision/face/internal/client/zze;->zzd(I)Z

    move-result p1
    :try_end_12
    .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_12} :catch_13

    return p1

    :catch_13
    move-exception p1

    const-string v0, "FaceNativeHandle"

    const-string v2, "Could not call native face detector"

    invoke-static {v0, v2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    return v1
.end method

.method protected final zzm()V
    .registers 2
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Landroid/os/RemoteException;
        }
    .end annotation

    invoke-virtual {p0}, Lcom/google/android/gms/internal/vision/zzl;->zzp()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/android/gms/vision/face/internal/client/zze;

    invoke-interface {v0}, Lcom/google/android/gms/vision/face/internal/client/zze;->zzn()V

    return-void
.end method