c.smali
.class public Lpl/c;
.super Ljava/lang/Object;
.source "LivenessCheckProcessor.java"
# interfaces
.implements Lcom/google/android/gms/vision/Detector$Processor;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/android/gms/vision/Detector$Processor<",
"Lcom/google/android/gms/vision/face/Face;",
">;"
}
.end annotation
# instance fields
.field public A:F
.field public B:J
.field public C:J
.field public D:J
.field public E:J
.field public F:Z
.field public G:I
.field public H:I
.field public I:I
.field public J:I
.field public K:F
.field public L:I
.field public M:Z
.field public N:J
.field public O:J
.field public P:F
.field public Q:F
.field public R:F
.field public S:F
.field public T:Lpl/b;
.field public U:Lcom/shopee/livenesscheck/tflite/Classifier;
.field public V:Landroid/content/Context;
.field public W:Z
.field public X:I
.field public Y:Z
.field public Z:[Z
.field public a:I
.field public a0:J
.field public b:I
.field public b0:J
.field public c:J
.field public c0:I
.field public d:J
.field public d0:Z
.field public e:J
.field public e0:Z
.field public f:J
.field public f0:I
.field public g:J
.field public g0:Z
.field public h:J
.field public h0:Z
.field public i:J
.field public i0:Z
.field public j:F
.field public j0:Z
.field public k:F
.field public k0:Z
.field public l:F
.field public l0:Z
.field public m:F
.field public m0:J
.field public n:F
.field public n0:J
.field public o:F
.field public o0:I
.field public p:F
.field public p0:Lpl/a;
.field public q:F
.field public q0:Lol/a;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public r:F
.field public r0:Ljava/io/File;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public s:F
.field public s0:I
.field public t:J
.field public t0:Ljava/lang/String;
.field public u:Z
.field public u0:Z
.field public v:F
.field public v0:Z
.field public w:F
.field public w0:I
.field public x:F
.field public x0:Z
.field public y:F
.field public y0:J
.field public z:F
.field public z0:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/shopee/livenesscheck/data/Config;Lpl/b;Landroid/content/Context;)V
.registers 11
.param p1 # Lcom/shopee/livenesscheck/data/Config;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x64
iput v0, p0, Lpl/c;->a:I
const/4 v0, 0x1
iput v0, p0, Lpl/c;->b:I
const-wide/16 v1, 0x1f4
iput-wide v1, p0, Lpl/c;->c:J
iput-wide v1, p0, Lpl/c;->d:J
const-wide/16 v1, 0xc8
iput-wide v1, p0, Lpl/c;->e:J
const-wide/16 v1, 0x2710
iput-wide v1, p0, Lpl/c;->f:J
const-wide/16 v1, 0xbb8
iput-wide v1, p0, Lpl/c;->g:J
const-wide/16 v1, 0x7d0
iput-wide v1, p0, Lpl/c;->h:J
iput-wide v1, p0, Lpl/c;->i:J
const/high16 v1, 0x41200000 # 10.0f
iput v1, p0, Lpl/c;->j:F
iput v1, p0, Lpl/c;->k:F
const v1, 0x3ecccccd # 0.4f
iput v1, p0, Lpl/c;->l:F
iput v1, p0, Lpl/c;->m:F
const v1, 0x3ca3d70a # 0.02f
iput v1, p0, Lpl/c;->n:F
iput v1, p0, Lpl/c;->o:F
iput v1, p0, Lpl/c;->p:F
iput v1, p0, Lpl/c;->q:F
iput v1, p0, Lpl/c;->r:F
iput v1, p0, Lpl/c;->s:F
const-wide/16 v1, 0x3e8
iput-wide v1, p0, Lpl/c;->t:J
const/4 v1, 0x0
iput-boolean v1, p0, Lpl/c;->u:Z
const/high16 v2, -0x40800000 # -1.0f
iput v2, p0, Lpl/c;->v:F
const v2, 0x3f4ccccd # 0.8f
iput v2, p0, Lpl/c;->w:F
const v3, 0x3f19999a # 0.6f
iput v3, p0, Lpl/c;->x:F
iput v2, p0, Lpl/c;->y:F
iput v3, p0, Lpl/c;->z:F
const/high16 v2, 0x40200000 # 2.5f
iput v2, p0, Lpl/c;->A:F
const-wide/16 v2, 0x64
iput-wide v2, p0, Lpl/c;->B:J
iput-wide v2, p0, Lpl/c;->C:J
const-wide/16 v2, -0x1
iput-wide v2, p0, Lpl/c;->D:J
iput-wide v2, p0, Lpl/c;->E:J
iput-boolean v0, p0, Lpl/c;->F:Z
const/4 v4, 0x4
iput v4, p0, Lpl/c;->G:I
iput v1, p0, Lpl/c;->H:I
iput v0, p0, Lpl/c;->I:I
iput v1, p0, Lpl/c;->J:I
const v4, 0x3e4ccccd # 0.2f
iput v4, p0, Lpl/c;->K:F
iput v1, p0, Lpl/c;->L:I
iput-boolean v1, p0, Lpl/c;->M:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
iput-wide v4, p0, Lpl/c;->N:J
iput-wide v4, p0, Lpl/c;->O:J
iput-boolean v1, p0, Lpl/c;->W:Z
const/4 v4, -0x1
iput v4, p0, Lpl/c;->X:I
iput-boolean v1, p0, Lpl/c;->Y:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v5
iput-wide v5, p0, Lpl/c;->a0:J
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v5
iput-wide v5, p0, Lpl/c;->b0:J
iput v1, p0, Lpl/c;->c0:I
iput-boolean v1, p0, Lpl/c;->d0:Z
iput-boolean v0, p0, Lpl/c;->e0:Z
iput v4, p0, Lpl/c;->f0:I
iput-boolean v1, p0, Lpl/c;->g0:Z
iput-boolean v1, p0, Lpl/c;->h0:Z
iput-boolean v1, p0, Lpl/c;->i0:Z
iput-boolean v1, p0, Lpl/c;->j0:Z
iput-boolean v1, p0, Lpl/c;->k0:Z
iput-boolean v1, p0, Lpl/c;->l0:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v5
iput-wide v5, p0, Lpl/c;->m0:J
iput-wide v2, p0, Lpl/c;->n0:J
iput v4, p0, Lpl/c;->o0:I
iput v4, p0, Lpl/c;->s0:I
const-string v0, "ds_liveness_check_android"
iput-object v0, p0, Lpl/c;->t0:Ljava/lang/String;
iput-boolean v1, p0, Lpl/c;->u0:Z
iput-boolean v1, p0, Lpl/c;->v0:Z
iput v4, p0, Lpl/c;->w0:I
iput-boolean v1, p0, Lpl/c;->x0:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
iput-wide v2, p0, Lpl/c;->y0:J
iput v1, p0, Lpl/c;->z0:I
invoke-virtual {p0, p1}, Lpl/c;->a(Lcom/shopee/livenesscheck/data/Config;)V
iput-object p2, p0, Lpl/c;->T:Lpl/b;
iput-object p3, p0, Lpl/c;->V:Landroid/content/Context;
new-instance p2, Lpl/a;
invoke-direct {p2, p1}, Lpl/a;-><init>(Lcom/shopee/livenesscheck/data/Config;)V
iput-object p2, p0, Lpl/c;->p0:Lpl/a;
iget p1, p0, Lpl/c;->b:I
new-array p1, p1, [Z
iput-object p1, p0, Lpl/c;->Z:[Z
const/4 p1, 0x0
:goto_df
iget p2, p0, Lpl/c;->b:I
if-ge p1, p2, :cond_ea
iget-object p2, p0, Lpl/c;->Z:[Z
aput-boolean v1, p2, p1
add-int/lit8 p1, p1, 0x1
goto :goto_df
:cond_ea
return-void
.end method
.method public static a(II)I
.registers 3
new-instance v0, Ljava/util/Random;
invoke-direct {v0}, Ljava/util/Random;-><init>()V
sub-int/2addr p1, p0
add-int/lit8 p1, p1, 0x1
invoke-virtual {v0, p1}, Ljava/util/Random;->nextInt(I)I
move-result p1
add-int/2addr p1, p0
return p1
.end method
# virtual methods
.method public final a([F)F
.registers 5
const/4 v0, 0x0
aget v0, p1, v0
const/4 v1, 0x1
:goto_4
array-length v2, p1
if-ge v1, v2, :cond_12
aget v2, p1, v1
cmpl-float v2, v2, v0
if-lez v2, :cond_f
aget v0, p1, v1
:cond_f
add-int/lit8 v1, v1, 0x1
goto :goto_4
:cond_12
return v0
.end method
.method public final a(Landroid/util/SparseArray;)I
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Lcom/google/android/gms/vision/face/Face;",
">;)I"
}
.end annotation
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result v0
const/4 v1, -0x1
if-lez v0, :cond_29
const/4 v0, 0x0
const/high16 v2, -0x40800000 # -1.0f
:goto_a
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result v3
if-ge v0, v3, :cond_29
invoke-virtual {p1, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/android/gms/vision/face/Face;
invoke-virtual {v3}, Lcom/google/android/gms/vision/face/Face;->getWidth()F
move-result v4
invoke-virtual {v3}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result v3
mul-float v4, v4, v3
cmpl-float v3, v4, v2
if-lez v3, :cond_26
move v1, v0
move v2, v4
:cond_26
add-int/lit8 v0, v0, 0x1
goto :goto_a
:cond_29
return v1
.end method
.method public final a(Landroid/util/SparseArray;FF)I
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Lcom/google/android/gms/vision/face/Face;",
">;FF)I"
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
:goto_2
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result v2
if-ge v0, v2, :cond_29
invoke-virtual {p1, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/gms/vision/face/Face;
invoke-virtual {v2}, Lcom/google/android/gms/vision/face/Face;->getWidth()F
move-result v3
div-float/2addr v3, p2
iget v4, p0, Lpl/c;->K:F
cmpl-float v3, v3, v4
if-lez v3, :cond_26
invoke-virtual {v2}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result v2
div-float/2addr v2, p3
iget v3, p0, Lpl/c;->K:F
cmpl-float v2, v2, v3
if-lez v2, :cond_26
add-int/lit8 v1, v1, 0x1
:cond_26
add-int/lit8 v0, v0, 0x1
goto :goto_2
:cond_29
return v1
.end method
.method public final a(Lcom/google/android/gms/vision/face/Face;)I
.registers 21
move-object/from16 v0, p0
const-string v1, "Bright"
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v2
const/16 v4, 0xc
new-array v5, v4, [F
new-array v4, v4, [F
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/face/Face;->getLandmarks()Ljava/util/List;
move-result-object v6
invoke-interface {v6}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v6
:goto_16
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v7
if-eqz v7, :cond_3b
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v7
check-cast v7, Lcom/google/android/gms/vision/face/Landmark;
invoke-virtual {v7}, Lcom/google/android/gms/vision/face/Landmark;->getType()I
move-result v8
invoke-virtual {v7}, Lcom/google/android/gms/vision/face/Landmark;->getPosition()Landroid/graphics/PointF;
move-result-object v9
iget v9, v9, Landroid/graphics/PointF;->x:F
aput v9, v5, v8
invoke-virtual {v7}, Lcom/google/android/gms/vision/face/Landmark;->getType()I
move-result v8
invoke-virtual {v7}, Lcom/google/android/gms/vision/face/Landmark;->getPosition()Landroid/graphics/PointF;
move-result-object v7
iget v7, v7, Landroid/graphics/PointF;->y:F
aput v7, v4, v8
goto :goto_16
:cond_3b
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v4
iget v4, v4, Landroid/graphics/PointF;->x:F
const/4 v4, 0x2
aget v6, v5, v4
const/4 v7, 0x3
aget v8, v5, v7
invoke-static {v6, v8}, Ljava/lang/Math;->min(FF)F
move-result v6
const/16 v8, 0x8
aget v8, v5, v8
const/16 v9, 0x9
aget v5, v5, v9
invoke-static {v8, v5}, Ljava/lang/Math;->max(FF)F
move-result v5
sub-float/2addr v5, v6
invoke-static {v5}, Ljava/lang/Math;->abs(F)F
move-result v5
const/high16 v8, 0x40000000 # 2.0f
cmpg-float v9, v5, v8
if-gez v9, :cond_64
const/high16 v5, 0x40000000 # 2.0f
:cond_64
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v8
iget v8, v8, Landroid/graphics/PointF;->y:F
iget-object v9, v0, Lpl/c;->T:Lpl/b;
invoke-virtual {v9}, Lpl/b;->a()Lcom/google/android/gms/vision/Frame;
move-result-object v9
invoke-virtual {v9}, Lcom/google/android/gms/vision/Frame;->getMetadata()Lcom/google/android/gms/vision/Frame$Metadata;
move-result-object v10
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/face/Face;->getWidth()F
move-result v11
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result v12
invoke-virtual {v10}, Lcom/google/android/gms/vision/Frame$Metadata;->getRotation()I
move-result v13
const/4 v14, 0x1
if-eq v13, v14, :cond_b9
if-eq v13, v4, :cond_9d
if-eq v13, v7, :cond_89
:goto_87
move v5, v12
goto :goto_cd
:cond_89
invoke-virtual {v10}, Lcom/google/android/gms/vision/Frame$Metadata;->getWidth()I
move-result v11
int-to-float v11, v11
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result v12
sub-float/2addr v11, v12
sub-float/2addr v11, v8
invoke-static {v11}, Ljava/lang/Math;->abs(F)F
move-result v8
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result v11
goto :goto_c8
:cond_9d
invoke-virtual {v10}, Lcom/google/android/gms/vision/Frame$Metadata;->getWidth()I
move-result v13
int-to-float v13, v13
sub-float/2addr v13, v5
sub-float/2addr v13, v6
invoke-static {v13}, Ljava/lang/Math;->abs(F)F
move-result v6
invoke-virtual {v10}, Lcom/google/android/gms/vision/Frame$Metadata;->getHeight()I
move-result v5
int-to-float v5, v5
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result v13
sub-float/2addr v5, v13
sub-float/2addr v5, v8
invoke-static {v5}, Ljava/lang/Math;->abs(F)F
move-result v5
move v8, v5
goto :goto_87
:cond_b9
invoke-virtual {v10}, Lcom/google/android/gms/vision/Frame$Metadata;->getHeight()I
move-result v11
int-to-float v11, v11
sub-float/2addr v11, v5
sub-float/2addr v11, v6
invoke-static {v11}, Ljava/lang/Math;->abs(F)F
move-result v6
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result v11
:goto_c8
move/from16 v18, v8
move v8, v6
move/from16 v6, v18
:goto_cd
invoke-virtual {v10}, Lcom/google/android/gms/vision/Frame$Metadata;->getWidth()I
move-result v12
int-to-float v12, v12
sub-float/2addr v12, v6
const/high16 v13, 0x3f800000 # 1.0f
sub-float/2addr v12, v13
cmpl-float v12, v11, v12
if-ltz v12, :cond_e1
invoke-virtual {v10}, Lcom/google/android/gms/vision/Frame$Metadata;->getWidth()I
move-result v11
int-to-float v11, v11
sub-float/2addr v11, v6
sub-float/2addr v11, v13
:cond_e1
invoke-virtual {v10}, Lcom/google/android/gms/vision/Frame$Metadata;->getHeight()I
move-result v12
int-to-float v12, v12
sub-float/2addr v12, v8
sub-float/2addr v12, v13
cmpl-float v12, v5, v12
if-ltz v12, :cond_f3
invoke-virtual {v10}, Lcom/google/android/gms/vision/Frame$Metadata;->getHeight()I
move-result v5
int-to-float v5, v5
sub-float/2addr v5, v8
sub-float/2addr v5, v13
:cond_f3
const/4 v12, 0x0
:try_start_f4
invoke-virtual {v0, v9, v10}, Lpl/c;->a(Lcom/google/android/gms/vision/Frame;Lcom/google/android/gms/vision/Frame$Metadata;)Landroid/graphics/Bitmap;
move-result-object v9
float-to-int v6, v6
float-to-int v8, v8
float-to-int v11, v11
float-to-int v5, v5
invoke-static {v9, v6, v8, v11, v5}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;
move-result-object v5
if-eq v9, v5, :cond_105
invoke-virtual {v9}, Landroid/graphics/Bitmap;->recycle()V
:cond_105
invoke-virtual {v0, v5, v10}, Lpl/c;->a(Landroid/graphics/Bitmap;Lcom/google/android/gms/vision/Frame$Metadata;)Landroid/graphics/Bitmap;
move-result-object v12
if-eq v5, v12, :cond_114
invoke-virtual {v5}, Landroid/graphics/Bitmap;->recycle()V
:try_end_10e
.catchall {:try_start_f4 .. :try_end_10e} :catchall_10f
goto :goto_114
:catchall_10f
const-string v5, "Fail to convert frame to bitmap, crop face or rotate image."
invoke-static {v1, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_114
:goto_114
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Frame pre-processing time:"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v8
sub-long/2addr v8, v2
const-wide/32 v2, 0xf4240
div-long/2addr v8, v2
invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v1, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v5
const/4 v8, 0x4
new-array v9, v8, [F
fill-array-data v9, :array_2e2
const/4 v11, 0x0
:try_start_13c
iget-object v13, v0, Lpl/c;->U:Lcom/shopee/livenesscheck/tflite/Classifier;
invoke-virtual {v13, v12, v11}, Lcom/shopee/livenesscheck/tflite/Classifier;->b(Landroid/graphics/Bitmap;I)Ljava/util/Map;
move-result-object v13
invoke-virtual {v12}, Landroid/graphics/Bitmap;->recycle()V
invoke-interface {v13}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v12
invoke-interface {v12}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v12
:try_end_14d
.catchall {:try_start_13c .. :try_end_14d} :catchall_21c
const/4 v13, 0x0
:goto_14e
:try_start_14e
invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
move-result v15
if-eqz v15, :cond_222
invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v15
check-cast v15, Ljava/util/Map$Entry;
new-instance v10, Ljava/text/DecimalFormat;
const-string v2, "0.00"
invoke-direct {v10, v2}, Ljava/text/DecimalFormat;-><init>(Ljava/lang/String;)V
invoke-interface {v15}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
invoke-virtual {v10, v2}, Ljava/text/DecimalFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
invoke-interface {v15}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
const/4 v3, -0x1
invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
move-result v10
sparse-switch v10, :sswitch_data_2cc
goto :goto_1a8
:sswitch_177
const-string v10, "block"
invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1a8
const/4 v3, 0x2
goto :goto_1a8
:sswitch_181
const-string v10, "dark"
invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1a8
const/4 v3, 0x4
goto :goto_1a8
:sswitch_18b
const-string v10, "blur"
invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1a8
const/4 v3, 0x1
goto :goto_1a8
:sswitch_195
const-string v10, "ok"
invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1a8
const/4 v3, 0x0
goto :goto_1a8
:sswitch_19f
const-string v10, "bright"
invoke-virtual {v2, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1a8
const/4 v3, 0x3
:cond_1a8
:goto_1a8
if-eqz v3, :cond_1e7
if-eq v3, v14, :cond_1da
if-eq v3, v4, :cond_1cd
if-eq v3, v7, :cond_1c0
if-eq v3, v8, :cond_1b3
goto :goto_1f1
:cond_1b3
invoke-interface {v15}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Float;
invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F
move-result v2
aput v2, v9, v7
goto :goto_1f1
:cond_1c0
invoke-interface {v15}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Float;
invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F
move-result v2
aput v2, v9, v4
goto :goto_1f1
:cond_1cd
invoke-interface {v15}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Float;
invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F
move-result v2
aput v2, v9, v14
goto :goto_1f1
:cond_1da
invoke-interface {v15}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Float;
invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F
move-result v2
aput v2, v9, v11
goto :goto_1f1
:cond_1e7
invoke-interface {v15}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Float;
invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F
move-result v13
:goto_1f1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Inference Result: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v15}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ";"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v15}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:try_end_217
.catchall {:try_start_14e .. :try_end_217} :catchall_21d
const-wide/32 v2, 0xf4240
goto/16 :goto_14e
:catchall_21c
const/4 v13, 0x0
:catchall_21d
const-string v2, "Fail to do inference."
invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_222
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Face part inference time:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v16
sub-long v16, v16, v5
const-wide/32 v5, 0xf4240
div-long v5, v16, v5
invoke-virtual {v2, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
iget v1, v0, Lpl/c;->v:F
cmpl-float v1, v13, v1
if-lez v1, :cond_249
move v1, v13
goto :goto_24a
:cond_249
const/4 v1, 0x0
:goto_24a
new-array v2, v8, [F
aget v3, v9, v11
iget v5, v0, Lpl/c;->w:F
cmpl-float v3, v3, v5
if-lez v3, :cond_257
aget v3, v9, v11
goto :goto_258
:cond_257
const/4 v3, 0x0
:goto_258
aput v3, v2, v11
aget v3, v9, v14
iget v5, v0, Lpl/c;->x:F
cmpl-float v3, v3, v5
if-lez v3, :cond_265
aget v3, v9, v14
goto :goto_266
:cond_265
const/4 v3, 0x0
:goto_266
aput v3, v2, v14
aget v3, v9, v4
iget v5, v0, Lpl/c;->y:F
cmpl-float v3, v3, v5
if-lez v3, :cond_273
aget v3, v9, v4
goto :goto_274
:cond_273
const/4 v3, 0x0
:goto_274
aput v3, v2, v4
aget v3, v9, v7
iget v5, v0, Lpl/c;->z:F
cmpl-float v3, v3, v5
if-lez v3, :cond_281
aget v3, v9, v7
goto :goto_282
:cond_281
const/4 v3, 0x0
:goto_282
aput v3, v2, v7
iget v3, v0, Lpl/c;->v:F
const/4 v5, 0x0
cmpl-float v6, v3, v5
if-lez v6, :cond_2bb
cmpl-float v1, v1, v3
if-lez v1, :cond_290
goto :goto_2ca
:cond_290
invoke-virtual {v0, v2}, Lpl/c;->a([F)F
move-result v1
cmpl-float v1, v1, v5
if-lez v1, :cond_29d
invoke-virtual {v0, v2}, Lpl/c;->b([F)I
move-result v1
goto :goto_2c8
:cond_29d
aget v1, v9, v11
cmpl-float v1, v13, v1
if-lez v1, :cond_2b6
aget v1, v9, v14
cmpl-float v1, v13, v1
if-lez v1, :cond_2b6
aget v1, v9, v4
cmpl-float v1, v13, v1
if-lez v1, :cond_2b6
aget v1, v9, v7
cmpl-float v1, v13, v1
if-lez v1, :cond_2b6
goto :goto_2ca
:cond_2b6
invoke-virtual {v0, v9}, Lpl/c;->b([F)I
move-result v1
goto :goto_2c8
:cond_2bb
invoke-virtual {v0, v2}, Lpl/c;->a([F)F
move-result v1
const/4 v3, 0x0
cmpl-float v1, v1, v3
if-lez v1, :cond_2ca
invoke-virtual {v0, v2}, Lpl/c;->b([F)I
move-result v1
:goto_2c8
add-int/lit8 v11, v1, 0x1
:cond_2ca
:goto_2ca
return v11
nop
:sswitch_data_2cc
.sparse-switch
-0x524d5106 -> :sswitch_19f
0xddc -> :sswitch_195
0x2e3067 -> :sswitch_18b
0x2eef76 -> :sswitch_181
0x597c48d -> :sswitch_177
.end sparse-switch
:array_2e2
.array-data 4
0x0
0x0
0x0
0x0
.end array-data
.end method
.method public final a(Landroid/graphics/Bitmap;Lcom/google/android/gms/vision/Frame$Metadata;)Landroid/graphics/Bitmap;
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/OutOfMemoryError;
}
.end annotation
invoke-virtual {p2}, Lcom/google/android/gms/vision/Frame$Metadata;->getRotation()I
move-result p2
const/4 v0, 0x1
if-eq p2, v0, :cond_15
const/4 v0, 0x2
if-eq p2, v0, :cond_12
const/4 v0, 0x3
if-eq p2, v0, :cond_f
const/4 p2, 0x0
goto :goto_17
:cond_f
const/high16 p2, 0x43870000 # 270.0f
goto :goto_17
:cond_12
const/high16 p2, 0x43340000 # 180.0f
goto :goto_17
:cond_15
const/high16 p2, 0x42b40000 # 90.0f
:goto_17
new-instance v5, Landroid/graphics/Matrix;
invoke-direct {v5}, Landroid/graphics/Matrix;-><init>()V
invoke-virtual {v5, p2}, Landroid/graphics/Matrix;->setRotate(F)V
const/4 v1, 0x0
const/4 v2, 0x0
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v3
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v4
const/4 v6, 0x1
move-object v0, p1
invoke-static/range {v0 .. v6}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
move-result-object p1
return-object p1
.end method
.method public final a(Lcom/google/android/gms/vision/Frame;Lcom/google/android/gms/vision/Frame$Metadata;)Landroid/graphics/Bitmap;
.registers 9
invoke-virtual {p1}, Lcom/google/android/gms/vision/Frame;->getGrayscaleImageData()Ljava/nio/ByteBuffer;
move-result-object p1
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v1
new-instance p1, Landroid/graphics/YuvImage;
invoke-virtual {p2}, Lcom/google/android/gms/vision/Frame$Metadata;->getWidth()I
move-result v3
invoke-virtual {p2}, Lcom/google/android/gms/vision/Frame$Metadata;->getHeight()I
move-result v4
const/16 v2, 0x11
const/4 v5, 0x0
move-object v0, p1
invoke-direct/range {v0 .. v5}, Landroid/graphics/YuvImage;-><init>([BIII[I)V
new-instance v0, Ljava/io/ByteArrayOutputStream;
invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V
new-instance v1, Landroid/graphics/Rect;
invoke-virtual {p2}, Lcom/google/android/gms/vision/Frame$Metadata;->getWidth()I
move-result v2
invoke-virtual {p2}, Lcom/google/android/gms/vision/Frame$Metadata;->getHeight()I
move-result p2
const/4 v3, 0x0
invoke-direct {v1, v3, v3, v2, p2}, Landroid/graphics/Rect;-><init>(IIII)V
const/16 p2, 0x64
invoke-virtual {p1, v1, p2, v0}, Landroid/graphics/YuvImage;->compressToJpeg(Landroid/graphics/Rect;ILjava/io/OutputStream;)Z
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p1
array-length p2, p1
invoke-static {p1, v3, p2}, Landroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
move-result-object p1
return-object p1
.end method
.method public final a()V
.registers 7
iget v0, p0, Lpl/c;->H:I
const/4 v1, 0x1
add-int/2addr v0, v1
iput v0, p0, Lpl/c;->H:I
iget v2, p0, Lpl/c;->G:I
const/4 v3, 0x0
if-ge v0, v2, :cond_36
iget v0, p0, Lpl/c;->L:I
iget v2, p0, Lpl/c;->b:I
if-ne v0, v2, :cond_27
iget-boolean v0, p0, Lpl/c;->d0:Z
if-eqz v0, :cond_27
iget-object v0, p0, Lpl/c;->T:Lpl/b;
invoke-virtual {p0, v0}, Lpl/c;->a(Lpl/b;)V
iget-object v0, p0, Lpl/c;->q0:Lol/a;
if-eqz v0, :cond_23
iget-object v1, p0, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v0, v3, v1}, Lol/a;->onResult(ILjava/lang/String;)V
:cond_23
invoke-virtual {p0}, Lpl/c;->g()V
goto :goto_5c
:cond_27
iget-wide v2, p0, Lpl/c;->h:J
const-wide/16 v4, 0x0
cmp-long v0, v2, v4
if-lez v0, :cond_32
invoke-virtual {p0, v2, v3, v1}, Lpl/c;->a(JI)V
:cond_32
invoke-virtual {p0}, Lpl/c;->e()V
goto :goto_5c
:cond_36
iget-object v0, p0, Lpl/c;->T:Lpl/b;
invoke-virtual {p0, v0}, Lpl/c;->a(Lpl/b;)V
iget v0, p0, Lpl/c;->L:I
iget v1, p0, Lpl/c;->b:I
if-ne v0, v1, :cond_4f
iget-boolean v0, p0, Lpl/c;->d0:Z
if-eqz v0, :cond_4f
iget-object v0, p0, Lpl/c;->q0:Lol/a;
if-eqz v0, :cond_59
iget-object v1, p0, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v0, v3, v1}, Lol/a;->onResult(ILjava/lang/String;)V
goto :goto_59
:cond_4f
iget-object v0, p0, Lpl/c;->q0:Lol/a;
if-eqz v0, :cond_59
const/4 v1, 0x2
iget-object v2, p0, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v0, v1, v2}, Lol/a;->onResult(ILjava/lang/String;)V
:cond_59
:goto_59
invoke-virtual {p0}, Lpl/c;->g()V
:goto_5c
return-void
.end method
.method public final a(I)V
.registers 12
iget-boolean v0, p0, Lpl/c;->F:Z
const/4 v1, 0x1
if-eqz v0, :cond_b
if-eq p1, v1, :cond_5b
invoke-virtual {p0}, Lpl/c;->b()V
goto :goto_5b
:cond_b
const-wide/16 v2, 0x0
const-wide/16 v4, -0x1
if-le p1, v1, :cond_33
iput-wide v4, p0, Lpl/c;->D:J
iget-wide v6, p0, Lpl/c;->E:J
cmp-long v0, v6, v2
if-gez v0, :cond_20
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
iput-wide v6, p0, Lpl/c;->E:J
goto :goto_35
:cond_20
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
iget-wide v8, p0, Lpl/c;->E:J
sub-long/2addr v6, v8
iget-wide v8, p0, Lpl/c;->C:J
cmp-long v0, v6, v8
if-lez v0, :cond_35
iput-wide v4, p0, Lpl/c;->E:J
invoke-virtual {p0}, Lpl/c;->b()V
goto :goto_35
:cond_33
iput-wide v4, p0, Lpl/c;->E:J
:cond_35
:goto_35
if-ge p1, v1, :cond_59
iput-wide v4, p0, Lpl/c;->E:J
iget-wide v0, p0, Lpl/c;->D:J
cmp-long p1, v0, v2
if-gez p1, :cond_46
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->D:J
goto :goto_5b
:cond_46
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iget-wide v2, p0, Lpl/c;->D:J
sub-long/2addr v0, v2
iget-wide v2, p0, Lpl/c;->B:J
cmp-long p1, v0, v2
if-lez p1, :cond_5b
iput-wide v4, p0, Lpl/c;->D:J
invoke-virtual {p0}, Lpl/c;->b()V
goto :goto_5b
:cond_59
iput-wide v4, p0, Lpl/c;->D:J
:cond_5b
:goto_5b
return-void
.end method
.method public final a(JI)V
.registers 4
iput-wide p1, p0, Lpl/c;->n0:J
iput p3, p0, Lpl/c;->o0:I
const/4 p1, 0x1
iput-boolean p1, p0, Lpl/c;->l0:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide p1
iput-wide p1, p0, Lpl/c;->m0:J
return-void
.end method
.method public final a(Lcom/google/android/gms/vision/face/Face;FF)V
.registers 8
iget-boolean v0, p0, Lpl/c;->W:Z
if-nez v0, :cond_d6
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getEulerY()F
move-result v0
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v0
iget v1, p0, Lpl/c;->j:F
cmpg-float v0, v0, v1
if-gtz v0, :cond_d6
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getEulerZ()F
move-result v0
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v0
iget v1, p0, Lpl/c;->k:F
cmpg-float v0, v0, v1
if-gtz v0, :cond_d6
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v0
iget v0, v0, Landroid/graphics/PointF;->x:F
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getWidth()F
move-result v1
add-float/2addr v0, v1
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v1
iget v1, v1, Landroid/graphics/PointF;->y:F
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result v2
add-float/2addr v1, v2
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v2
iget v2, v2, Landroid/graphics/PointF;->x:F
iget v3, p0, Lpl/c;->p:F
mul-float v3, v3, p2
cmpl-float v2, v2, v3
if-lez v2, :cond_d6
iget v2, p0, Lpl/c;->q:F
mul-float v2, v2, p2
sub-float v2, p2, v2
cmpg-float v0, v0, v2
if-gez v0, :cond_d6
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v0
iget v0, v0, Landroid/graphics/PointF;->y:F
iget v2, p0, Lpl/c;->r:F
mul-float v2, v2, p3
cmpl-float v0, v0, v2
if-lez v0, :cond_d6
iget v0, p0, Lpl/c;->s:F
mul-float v0, v0, p3
sub-float v0, p3, v0
cmpg-float v0, v1, v0
if-gez v0, :cond_d6
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getWidth()F
move-result v0
div-float/2addr v0, p2
iget p2, p0, Lpl/c;->l:F
cmpl-float p2, v0, p2
if-ltz p2, :cond_d6
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result p2
div-float/2addr p2, p3
iget p3, p0, Lpl/c;->m:F
cmpl-float p2, p2, p3
if-ltz p2, :cond_d6
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object p2
iget p2, p2, Landroid/graphics/PointF;->x:F
iget p3, p0, Lpl/c;->P:F
sub-float/2addr p2, p3
invoke-static {p2}, Ljava/lang/Math;->abs(F)F
move-result p2
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getWidth()F
move-result p3
div-float/2addr p2, p3
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object p3
iget p3, p3, Landroid/graphics/PointF;->y:F
iget v0, p0, Lpl/c;->Q:F
sub-float/2addr p3, v0
invoke-static {p3}, Ljava/lang/Math;->abs(F)F
move-result p3
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result v0
div-float/2addr p3, v0
iget v0, p0, Lpl/c;->n:F
cmpg-float p2, p2, v0
if-gtz p2, :cond_d6
iget p2, p0, Lpl/c;->o:F
cmpg-float p2, p3, p2
if-gtz p2, :cond_d6
iget-boolean p2, p0, Lpl/c;->u:Z
const/4 p3, 0x1
if-eqz p2, :cond_bc
iput-boolean p3, p0, Lpl/c;->v0:Z
invoke-virtual {p0, p1}, Lpl/c;->a(Lcom/google/android/gms/vision/face/Face;)I
move-result p1
iput p1, p0, Lpl/c;->w0:I
iput p1, p0, Lpl/c;->s0:I
goto :goto_bf
:cond_bc
const/4 p1, 0x0
iput p1, p0, Lpl/c;->w0:I
:goto_bf
iget p1, p0, Lpl/c;->w0:I
if-nez p1, :cond_d6
iput-boolean p3, p0, Lpl/c;->W:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide p1
iput-wide p1, p0, Lpl/c;->a0:J
iget-boolean p1, p0, Lpl/c;->j0:Z
if-nez p1, :cond_d6
iget-object p1, p0, Lpl/c;->T:Lpl/b;
invoke-virtual {p0, p1}, Lpl/c;->a(Lpl/b;)V
iput-boolean p3, p0, Lpl/c;->j0:Z
:cond_d6
return-void
.end method
.method public final a(Lcom/shopee/livenesscheck/data/Config;)V
.registers 4
.param p1 # Lcom/shopee/livenesscheck/data/Config;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
if-nez p1, :cond_7
new-instance p1, Lcom/shopee/livenesscheck/data/Config;
invoke-direct {p1}, Lcom/shopee/livenesscheck/data/Config;-><init>()V
:cond_7
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getPhoto_quality()I
move-result v0
iput v0, p0, Lpl/c;->a:I
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getStepNumberSet()I
move-result v0
iput v0, p0, Lpl/c;->b:I
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getCHECK_FROM_N_Milliseconds()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->d:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getSkipFirstNMilliseconds()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->c:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getCHECK_PER_N_Milliseconds()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->e:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getWaitingTimeAfterTimeout()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->h:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getWaitingTimeAfterSuccess()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->i:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getxThreshold_left()F
move-result v0
iput v0, p0, Lpl/c;->p:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getxThreshold_right()F
move-result v0
iput v0, p0, Lpl/c;->q:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getyThreshold_top()F
move-result v0
iput v0, p0, Lpl/c;->r:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getyThreshold_bottom()F
move-result v0
iput v0, p0, Lpl/c;->s:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getQcErrorMessageChangeTime()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->t:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->isQcFeatureOn()Z
move-result v0
iput-boolean v0, p0, Lpl/c;->u:Z
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getQcModelThresholdOK()F
move-result v0
iput v0, p0, Lpl/c;->v:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getQcModelThresholdBlur()F
move-result v0
iput v0, p0, Lpl/c;->w:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getQcModelThresholdBlock()F
move-result v0
iput v0, p0, Lpl/c;->x:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getQcModelThresholdBright()F
move-result v0
iput v0, p0, Lpl/c;->y:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getQcModelThresholdDark()F
move-result v0
iput v0, p0, Lpl/c;->z:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getFrontalFaceCheckPeriod()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->f:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getLivenessCheckTimePeriod()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->g:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getFrontalFaceEulerYThreshold()F
move-result v0
iput v0, p0, Lpl/c;->j:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getFrontalFaceEulerZThreshold()F
move-result v0
iput v0, p0, Lpl/c;->k:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getFrontalFaceWidthMinRate()F
move-result v0
iput v0, p0, Lpl/c;->l:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getFrontalFaceHeightMinRate()F
move-result v0
iput v0, p0, Lpl/c;->m:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getLastFrameXDiffThreshold()F
move-result v0
iput v0, p0, Lpl/c;->n:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getLastFrameYDiffThreshold()F
move-result v0
iput v0, p0, Lpl/c;->o:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getCheckFrontalFaceCenterXThreshold()F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getCheckFrontalFaceCenterYThreshold()F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getLastFrameDiffScaleOfSecondSnapshot()F
move-result v0
iput v0, p0, Lpl/c;->A:F
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getConsecutiveNoFaceFrameThreshold()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->B:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getConsecutiveMoreThanOneFaceFrameThreshold()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->C:J
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->isOneFrameNoFaceReject()Z
move-result v0
iput-boolean v0, p0, Lpl/c;->F:Z
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getMaximumTimeOutTimes()I
move-result v0
iput v0, p0, Lpl/c;->G:I
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getMaximumNotOneFaceTimes()I
move-result v0
iput v0, p0, Lpl/c;->I:I
invoke-virtual {p1}, Lcom/shopee/livenesscheck/data/Config;->getSignificantFaceRate()F
move-result p1
iput p1, p0, Lpl/c;->K:F
return-void
.end method
.method public a(Ljava/io/File;)V
.registers 2
.param p1 # Ljava/io/File;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iput-object p1, p0, Lpl/c;->r0:Ljava/io/File;
return-void
.end method
.method public a(Lol/a;)V
.registers 2
.param p1 # Lol/a;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iput-object p1, p0, Lpl/c;->q0:Lol/a;
return-void
.end method
.method public final a(Lpl/b;)V
.registers 7
const/4 v0, 0x4
:try_start_1
iget v1, p0, Lpl/c;->z0:I
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lpl/c;->z0:I
invoke-virtual {p1}, Lpl/b;->a()Lcom/google/android/gms/vision/Frame;
move-result-object p1
iget-object v1, p0, Lpl/c;->r0:Ljava/io/File;
if-eqz v1, :cond_12
iget-object v1, p0, Lpl/c;->r0:Ljava/io/File;
goto :goto_18
:cond_12
sget-object v1, Landroid/os/Environment;->DIRECTORY_DOWNLOADS:Ljava/lang/String;
invoke-static {v1}, Landroid/os/Environment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
move-result-object v1
:goto_18
new-instance v2, Ljava/text/SimpleDateFormat;
const-string v3, "yyyyMMdd_HHmmss"
sget-object v4, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-direct {v2, v3, v4}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
new-instance v3, Ljava/util/Date;
invoke-direct {v3}, Ljava/util/Date;-><init>()V
invoke-virtual {v2, v3}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v2
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v1
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "/faceSnapshot"
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lpl/c;->z0:I
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, "_"
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ".jpg"
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
if-eqz p1, :cond_9e
new-instance v2, Ljava/io/File;
invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v1
:try_end_5c
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_5c} :catch_bb
.catch Ljava/lang/OutOfMemoryError; {:try_start_1 .. :try_end_5c} :catch_ad
if-nez v1, :cond_66
:try_start_5e
invoke-virtual {v2}, Ljava/io/File;->createNewFile()Z
:try_end_61
.catch Ljava/io/IOException; {:try_start_5e .. :try_end_61} :catch_62
.catch Ljava/lang/Exception; {:try_start_5e .. :try_end_61} :catch_bb
.catch Ljava/lang/OutOfMemoryError; {:try_start_5e .. :try_end_61} :catch_ad
goto :goto_66
:catch_62
move-exception v1
:try_start_63
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
:cond_66
:goto_66
new-instance v1, Ljava/io/FileOutputStream;
invoke-direct {v1, v2}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_6b
.catch Ljava/lang/Exception; {:try_start_63 .. :try_end_6b} :catch_bb
.catch Ljava/lang/OutOfMemoryError; {:try_start_63 .. :try_end_6b} :catch_ad
:try_start_6b
invoke-virtual {p1}, Lcom/google/android/gms/vision/Frame;->getMetadata()Lcom/google/android/gms/vision/Frame$Metadata;
move-result-object v3
invoke-virtual {p0, p1, v3}, Lpl/c;->a(Lcom/google/android/gms/vision/Frame;Lcom/google/android/gms/vision/Frame$Metadata;)Landroid/graphics/Bitmap;
move-result-object p1
invoke-virtual {p0, p1, v3}, Lpl/c;->a(Landroid/graphics/Bitmap;Lcom/google/android/gms/vision/Frame$Metadata;)Landroid/graphics/Bitmap;
move-result-object v3
if-eq p1, v3, :cond_7c
invoke-virtual {p1}, Landroid/graphics/Bitmap;->recycle()V
:cond_7c
sget-object p1, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
iget v4, p0, Lpl/c;->a:I
invoke-virtual {v3, p1, v4, v1}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
invoke-virtual {v3}, Landroid/graphics/Bitmap;->recycle()V
:try_end_86
.catchall {:try_start_6b .. :try_end_86} :catchall_96
:try_start_86
invoke-virtual {v1}, Ljava/io/FileOutputStream;->flush()V
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
iget-object p1, p0, Lpl/c;->q0:Lol/a;
if-eqz p1, :cond_c8
iget-object p1, p0, Lpl/c;->q0:Lol/a;
invoke-interface {p1, v2}, Lol/a;->a(Ljava/io/File;)V
goto :goto_c8
:catchall_96
move-exception p1
invoke-virtual {v1}, Ljava/io/FileOutputStream;->flush()V
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
throw p1
:cond_9e
iget-object p1, p0, Lpl/c;->q0:Lol/a;
if-eqz p1, :cond_a9
iget-object p1, p0, Lpl/c;->q0:Lol/a;
iget-object v1, p0, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {p1, v0, v1}, Lol/a;->onResult(ILjava/lang/String;)V
:cond_a9
invoke-virtual {p0}, Lpl/c;->g()V
:try_end_ac
.catch Ljava/lang/Exception; {:try_start_86 .. :try_end_ac} :catch_bb
.catch Ljava/lang/OutOfMemoryError; {:try_start_86 .. :try_end_ac} :catch_ad
goto :goto_c8
:catch_ad
nop
iget-object p1, p0, Lpl/c;->q0:Lol/a;
if-eqz p1, :cond_b7
iget-object v1, p0, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {p1, v0, v1}, Lol/a;->onResult(ILjava/lang/String;)V
:cond_b7
invoke-virtual {p0}, Lpl/c;->g()V
goto :goto_c8
:catch_bb
nop
iget-object p1, p0, Lpl/c;->q0:Lol/a;
if-eqz p1, :cond_c5
iget-object v1, p0, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {p1, v0, v1}, Lol/a;->onResult(ILjava/lang/String;)V
:cond_c5
invoke-virtual {p0}, Lpl/c;->g()V
:cond_c8
:goto_c8
return-void
.end method
.method public final b([F)I
.registers 6
const/4 v0, 0x0
aget v1, p1, v0
const/4 v2, 0x1
:goto_4
array-length v3, p1
if-ge v2, v3, :cond_14
aget v3, p1, v2
cmpl-float v3, v3, v1
if-lez v3, :cond_11
aget v0, p1, v2
move v1, v0
move v0, v2
:cond_11
add-int/lit8 v2, v2, 0x1
goto :goto_4
:cond_14
return v0
.end method
.method public final b()V
.registers 5
iget v0, p0, Lpl/c;->J:I
const/4 v1, 0x1
add-int/2addr v0, v1
iput v0, p0, Lpl/c;->J:I
iget v2, p0, Lpl/c;->I:I
if-ge v0, v2, :cond_1f
invoke-virtual {p0}, Lpl/c;->e()V
const/4 v0, 0x0
iput-boolean v0, p0, Lpl/c;->x0:Z
iput-boolean v0, p0, Lpl/c;->l0:Z
iget-object v2, p0, Lpl/c;->q0:Lol/a;
if-eqz v2, :cond_1a
const/4 v3, -0x1
invoke-interface {v2, v0, v3, v1}, Lol/a;->onStateChanged(III)V
:cond_1a
iput-boolean v1, p0, Lpl/c;->g0:Z
iput-boolean v0, p0, Lpl/c;->h0:Z
goto :goto_31
:cond_1f
iget-object v0, p0, Lpl/c;->T:Lpl/b;
invoke-virtual {p0, v0}, Lpl/c;->a(Lpl/b;)V
iget-object v0, p0, Lpl/c;->q0:Lol/a;
if-eqz v0, :cond_2e
const/4 v1, 0x3
iget-object v2, p0, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v0, v1, v2}, Lol/a;->onResult(ILjava/lang/String;)V
:cond_2e
invoke-virtual {p0}, Lpl/c;->g()V
:goto_31
return-void
.end method
.method public final b(Lcom/google/android/gms/vision/face/Face;FF)Z
.registers 5
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getEulerY()F
move-result p2
invoke-static {p2}, Ljava/lang/Math;->abs(F)F
move-result p2
iget p3, p0, Lpl/c;->j:F
cmpg-float p2, p2, p3
if-gtz p2, :cond_54
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getEulerZ()F
move-result p2
invoke-static {p2}, Ljava/lang/Math;->abs(F)F
move-result p2
iget p3, p0, Lpl/c;->k:F
cmpg-float p2, p2, p3
if-gtz p2, :cond_54
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object p2
iget p2, p2, Landroid/graphics/PointF;->x:F
iget p3, p0, Lpl/c;->R:F
sub-float/2addr p2, p3
invoke-static {p2}, Ljava/lang/Math;->abs(F)F
move-result p2
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getWidth()F
move-result p3
div-float/2addr p2, p3
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object p3
iget p3, p3, Landroid/graphics/PointF;->y:F
iget v0, p0, Lpl/c;->S:F
sub-float/2addr p3, v0
invoke-static {p3}, Ljava/lang/Math;->abs(F)F
move-result p3
invoke-virtual {p1}, Lcom/google/android/gms/vision/face/Face;->getHeight()F
move-result p1
div-float/2addr p3, p1
iget p1, p0, Lpl/c;->n:F
iget v0, p0, Lpl/c;->A:F
mul-float p1, p1, v0
cmpg-float p1, p2, p1
if-gtz p1, :cond_54
iget p1, p0, Lpl/c;->o:F
mul-float p1, p1, v0
cmpg-float p1, p3, p1
if-gtz p1, :cond_54
const/4 p1, 0x1
return p1
:cond_54
const/4 p1, 0x0
return p1
.end method
.method public final c()V
.registers 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lpl/c;->t0:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "_"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v1
invoke-virtual {v1}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lpl/c;->t0:Ljava/lang/String;
return-void
.end method
.method public final d()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lpl/c;->U:Lcom/shopee/livenesscheck/tflite/Classifier;
if-eqz v0, :cond_a
invoke-virtual {v0}, Lcom/shopee/livenesscheck/tflite/Classifier;->a()V
const/4 v0, 0x0
iput-object v0, p0, Lpl/c;->U:Lcom/shopee/livenesscheck/tflite/Classifier;
:cond_a
iget-object v0, p0, Lpl/c;->V:Landroid/content/Context;
sget-object v1, Lcom/shopee/livenesscheck/tflite/Classifier$Model;->MOBILENET_V2:Lcom/shopee/livenesscheck/tflite/Classifier$Model;
sget-object v2, Lcom/shopee/livenesscheck/tflite/Classifier$Device;->CPU:Lcom/shopee/livenesscheck/tflite/Classifier$Device;
const/4 v3, 0x1
invoke-static {v0, v1, v2, v3}, Lcom/shopee/livenesscheck/tflite/Classifier;->a(Landroid/content/Context;Lcom/shopee/livenesscheck/tflite/Classifier$Model;Lcom/shopee/livenesscheck/tflite/Classifier$Device;I)Lcom/shopee/livenesscheck/tflite/Classifier;
move-result-object v0
iput-object v0, p0, Lpl/c;->U:Lcom/shopee/livenesscheck/tflite/Classifier;
return-void
.end method
.method public final e()V
.registers 4
const/4 v0, 0x0
iput v0, p0, Lpl/c;->c0:I
iget-object v1, p0, Lpl/c;->p0:Lpl/a;
invoke-virtual {v1}, Lpl/a;->a()V
iput-boolean v0, p0, Lpl/c;->W:Z
iput-boolean v0, p0, Lpl/c;->d0:Z
iput v0, p0, Lpl/c;->L:I
iput-boolean v0, p0, Lpl/c;->Y:Z
const/4 v1, -0x1
iput v1, p0, Lpl/c;->X:I
const/4 v1, 0x0
:goto_14
iget v2, p0, Lpl/c;->b:I
if-ge v1, v2, :cond_1f
iget-object v2, p0, Lpl/c;->Z:[Z
aput-boolean v0, v2, v1
add-int/lit8 v1, v1, 0x1
goto :goto_14
:cond_1f
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->N:J
iput-wide v0, p0, Lpl/c;->O:J
return-void
.end method
.method public final f()V
.registers 3
const/4 v0, 0x0
iput v0, p0, Lpl/c;->c0:I
iget-object v1, p0, Lpl/c;->p0:Lpl/a;
invoke-virtual {v1}, Lpl/a;->a()V
iput-boolean v0, p0, Lpl/c;->d0:Z
iput-boolean v0, p0, Lpl/c;->h0:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lpl/c;->a0:J
iput-wide v0, p0, Lpl/c;->O:J
return-void
.end method
.method public final g()V
.registers 4
const/4 v0, 0x0
iput-boolean v0, p0, Lpl/c;->e0:Z
iput-boolean v0, p0, Lpl/c;->j0:Z
iput v0, p0, Lpl/c;->J:I
iput v0, p0, Lpl/c;->H:I
iput-boolean v0, p0, Lpl/c;->i0:Z
iput-boolean v0, p0, Lpl/c;->M:Z
iput-boolean v0, p0, Lpl/c;->l0:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
iput-wide v1, p0, Lpl/c;->b0:J
iput-boolean v0, p0, Lpl/c;->u0:Z
iput-boolean v0, p0, Lpl/c;->g0:Z
iput-boolean v0, p0, Lpl/c;->x0:Z
iput-boolean v0, p0, Lpl/c;->k0:Z
const/4 v0, -0x1
iput v0, p0, Lpl/c;->s0:I
iget-object v0, p0, Lpl/c;->U:Lcom/shopee/livenesscheck/tflite/Classifier;
if-eqz v0, :cond_2a
invoke-virtual {v0}, Lcom/shopee/livenesscheck/tflite/Classifier;->a()V
const/4 v0, 0x0
iput-object v0, p0, Lpl/c;->U:Lcom/shopee/livenesscheck/tflite/Classifier;
:cond_2a
invoke-virtual {p0}, Lpl/c;->e()V
return-void
.end method
.method public final h()V
.registers 7
iget v0, p0, Lpl/c;->L:I
iget v1, p0, Lpl/c;->b:I
const/4 v2, 0x1
sub-int/2addr v1, v2
const/4 v3, 0x3
const/4 v4, 0x0
if-ge v0, v1, :cond_34
iget-object v1, p0, Lpl/c;->Z:[Z
aget-boolean v0, v1, v0
if-nez v0, :cond_34
invoke-static {v4, v3}, Lpl/c;->a(II)I
move-result v0
iput v0, p0, Lpl/c;->f0:I
:goto_16
iget v0, p0, Lpl/c;->f0:I
iget v1, p0, Lpl/c;->X:I
if-ne v0, v1, :cond_23
invoke-static {v4, v3}, Lpl/c;->a(II)I
move-result v0
iput v0, p0, Lpl/c;->f0:I
goto :goto_16
:cond_23
if-eqz v0, :cond_27
if-ne v0, v2, :cond_29
:cond_27
iput-boolean v2, p0, Lpl/c;->Y:Z
:cond_29
iget v0, p0, Lpl/c;->f0:I
iput v0, p0, Lpl/c;->X:I
iget-object v0, p0, Lpl/c;->Z:[Z
iget v1, p0, Lpl/c;->L:I
aput-boolean v2, v0, v1
goto :goto_71
:cond_34
iget v0, p0, Lpl/c;->L:I
iget v1, p0, Lpl/c;->b:I
add-int/lit8 v5, v1, -0x1
if-ne v0, v5, :cond_71
iget-object v5, p0, Lpl/c;->Z:[Z
aget-boolean v0, v5, v0
if-nez v0, :cond_71
if-le v1, v2, :cond_61
iget-boolean v0, p0, Lpl/c;->Y:Z
if-eqz v0, :cond_5b
invoke-static {v4, v3}, Lpl/c;->a(II)I
move-result v0
iput v0, p0, Lpl/c;->f0:I
:goto_4e
iget v0, p0, Lpl/c;->f0:I
iget v1, p0, Lpl/c;->X:I
if-ne v0, v1, :cond_61
invoke-static {v4, v3}, Lpl/c;->a(II)I
move-result v0
iput v0, p0, Lpl/c;->f0:I
goto :goto_4e
:cond_5b
invoke-static {v4, v2}, Lpl/c;->a(II)I
move-result v0
iput v0, p0, Lpl/c;->f0:I
:cond_61
iget v0, p0, Lpl/c;->b:I
if-ne v0, v2, :cond_6b
invoke-static {v4, v3}, Lpl/c;->a(II)I
move-result v0
iput v0, p0, Lpl/c;->f0:I
:cond_6b
iget-object v0, p0, Lpl/c;->Z:[Z
iget v1, p0, Lpl/c;->L:I
aput-boolean v2, v0, v1
:cond_71
:goto_71
return-void
.end method
.method public receiveDetections(Lcom/google/android/gms/vision/Detector$Detections;)V
.registers 21
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/gms/vision/Detector$Detections<",
"Lcom/google/android/gms/vision/face/Face;",
">;)V"
}
.end annotation
move-object/from16 v1, p0
const-string v0, "Bright"
iget-object v2, v1, Lpl/c;->t0:Ljava/lang/String;
const-string v3, "ds_liveness_check_android"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1a
invoke-virtual/range {p0 .. p0}, Lpl/c;->c()V
iget-object v2, v1, Lpl/c;->q0:Lol/a;
if-eqz v2, :cond_1a
iget-object v3, v1, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v2, v3}, Lol/a;->onGeneratedUUID(Ljava/lang/String;)V
:cond_1a
iget-boolean v2, v1, Lpl/c;->k0:Z
const/4 v3, -0x1
const/4 v4, 0x0
const/4 v5, 0x1
if-nez v2, :cond_33
iget-boolean v2, v1, Lpl/c;->e0:Z
if-eqz v2, :cond_33
iget-object v2, v1, Lpl/c;->q0:Lol/a;
if-eqz v2, :cond_2f
iget v6, v1, Lpl/c;->L:I
add-int/2addr v6, v5
invoke-interface {v2, v4, v3, v6}, Lol/a;->onStateChanged(III)V
:cond_2f
iput-boolean v5, v1, Lpl/c;->g0:Z
iput-boolean v5, v1, Lpl/c;->k0:Z
:cond_33
iget-boolean v2, v1, Lpl/c;->u:Z
if-eqz v2, :cond_88
iget-boolean v2, v1, Lpl/c;->u0:Z
if-nez v2, :cond_88
iget-boolean v2, v1, Lpl/c;->e0:Z
if-eqz v2, :cond_88
:try_start_3f
invoke-virtual/range {p0 .. p0}, Lpl/c;->d()V
:try_end_42
.catchall {:try_start_3f .. :try_end_42} :catchall_7a
:try_start_42
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v6
sget-object v2, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
const/16 v8, 0xe0
invoke-static {v8, v8, v2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v2
iget-object v8, v1, Lpl/c;->U:Lcom/shopee/livenesscheck/tflite/Classifier;
invoke-virtual {v8, v2, v4}, Lcom/shopee/livenesscheck/tflite/Classifier;->b(Landroid/graphics/Bitmap;I)Ljava/util/Map;
invoke-virtual {v2}, Landroid/graphics/Bitmap;->recycle()V
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "First self created frame inference time:"
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v8
sub-long/2addr v8, v6
const-wide/32 v6, 0xf4240
div-long/2addr v8, v6
invoke-virtual {v2, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:try_end_73
.catchall {:try_start_42 .. :try_end_73} :catchall_74
goto :goto_81
:catchall_74
:try_start_74
const-string v2, "Fail to do first self created frame inference."
invoke-static {v0, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:try_end_79
.catchall {:try_start_74 .. :try_end_79} :catchall_7a
goto :goto_81
:catchall_7a
:try_start_7a
const-string v2, "Fail when init classifier."
invoke-static {v0, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
iput-boolean v4, v1, Lpl/c;->u:Z
:try_end_81
.catchall {:try_start_7a .. :try_end_81} :catchall_84
:goto_81
iput-boolean v5, v1, Lpl/c;->u0:Z
goto :goto_88
:catchall_84
move-exception v0
iput-boolean v5, v1, Lpl/c;->u0:Z
throw v0
:cond_88
:goto_88
iput v3, v1, Lpl/c;->s0:I
iput-boolean v4, v1, Lpl/c;->v0:Z
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/Detector$Detections;->getFrameMetadata()Lcom/google/android/gms/vision/Frame$Metadata;
move-result-object v0
invoke-virtual {v0}, Lcom/google/android/gms/vision/Frame$Metadata;->getWidth()I
move-result v2
int-to-float v2, v2
invoke-virtual {v0}, Lcom/google/android/gms/vision/Frame$Metadata;->getHeight()I
move-result v6
int-to-float v6, v6
invoke-virtual {v0}, Lcom/google/android/gms/vision/Frame$Metadata;->getRotation()I
move-result v7
const/4 v8, 0x3
if-eq v7, v5, :cond_a7
invoke-virtual {v0}, Lcom/google/android/gms/vision/Frame$Metadata;->getRotation()I
move-result v0
if-ne v0, v8, :cond_ac
:cond_a7
move/from16 v18, v6
move v6, v2
move/from16 v2, v18
:cond_ac
iget-boolean v0, v1, Lpl/c;->l0:Z
const/4 v7, 0x2
if-eqz v0, :cond_130
iput-boolean v5, v1, Lpl/c;->W:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v9
iget-wide v11, v1, Lpl/c;->m0:J
sub-long/2addr v9, v11
iget-wide v11, v1, Lpl/c;->n0:J
cmp-long v0, v9, v11
if-lez v0, :cond_c2
iput-boolean v4, v1, Lpl/c;->l0:Z
:cond_c2
iget-boolean v0, v1, Lpl/c;->W:Z
if-eqz v0, :cond_d1
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/Detector$Detections;->getDetectedItems()Landroid/util/SparseArray;
move-result-object v0
invoke-virtual {v1, v0, v2, v6}, Lpl/c;->a(Landroid/util/SparseArray;FF)I
move-result v0
invoke-virtual {v1, v0}, Lpl/c;->a(I)V
:cond_d1
iget v0, v1, Lpl/c;->o0:I
if-ne v0, v5, :cond_10c
iget-boolean v0, v1, Lpl/c;->W:Z
if-eqz v0, :cond_10c
invoke-virtual/range {p0 .. p0}, Lpl/c;->h()V
iget v0, v1, Lpl/c;->f0:I
iget-boolean v9, v1, Lpl/c;->g0:Z
if-nez v9, :cond_f1
iget-boolean v9, v1, Lpl/c;->e0:Z
if-eqz v9, :cond_f1
iget-object v9, v1, Lpl/c;->q0:Lol/a;
if-eqz v9, :cond_ed
invoke-interface {v9, v7, v3, v5}, Lol/a;->onStateChanged(III)V
:cond_ed
iput-boolean v5, v1, Lpl/c;->g0:Z
iput-boolean v4, v1, Lpl/c;->h0:Z
:cond_f1
invoke-virtual/range {p0 .. p0}, Lpl/c;->e()V
invoke-virtual/range {p0 .. p0}, Lpl/c;->h()V
iput v0, v1, Lpl/c;->f0:I
if-eqz v0, :cond_fd
if-ne v0, v5, :cond_ff
:cond_fd
iput-boolean v5, v1, Lpl/c;->Y:Z
:cond_ff
iget v0, v1, Lpl/c;->f0:I
iput v0, v1, Lpl/c;->X:I
iput-boolean v5, v1, Lpl/c;->W:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v9
iput-wide v9, v1, Lpl/c;->a0:J
goto :goto_130
:cond_10c
iget v0, v1, Lpl/c;->o0:I
if-ne v0, v7, :cond_130
iget-boolean v0, v1, Lpl/c;->W:Z
if-eqz v0, :cond_130
invoke-virtual/range {p0 .. p0}, Lpl/c;->h()V
iget-boolean v0, v1, Lpl/c;->g0:Z
if-nez v0, :cond_12d
iget-boolean v0, v1, Lpl/c;->e0:Z
if-eqz v0, :cond_12d
iget-object v0, v1, Lpl/c;->q0:Lol/a;
if-eqz v0, :cond_129
iget v9, v1, Lpl/c;->L:I
add-int/2addr v9, v5
invoke-interface {v0, v8, v3, v9}, Lol/a;->onStateChanged(III)V
:cond_129
iput-boolean v5, v1, Lpl/c;->g0:Z
iput-boolean v4, v1, Lpl/c;->h0:Z
:cond_12d
invoke-virtual/range {p0 .. p0}, Lpl/c;->f()V
:cond_130
:goto_130
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v9
iget-wide v11, v1, Lpl/c;->b0:J
sub-long/2addr v9, v11
iget-wide v11, v1, Lpl/c;->c:J
cmp-long v0, v9, v11
if-lez v0, :cond_39b
iget-boolean v0, v1, Lpl/c;->e0:Z
if-eqz v0, :cond_39b
iget-boolean v0, v1, Lpl/c;->l0:Z
if-nez v0, :cond_39b
iget-boolean v0, v1, Lpl/c;->M:Z
if-nez v0, :cond_151
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v9
iput-wide v9, v1, Lpl/c;->N:J
iput-boolean v5, v1, Lpl/c;->M:Z
:cond_151
invoke-virtual/range {p1 .. p1}, Lcom/google/android/gms/vision/Detector$Detections;->getDetectedItems()Landroid/util/SparseArray;
move-result-object v0
invoke-virtual {v1, v0, v2, v6}, Lpl/c;->a(Landroid/util/SparseArray;FF)I
move-result v9
iget-boolean v10, v1, Lpl/c;->W:Z
if-eqz v10, :cond_160
invoke-virtual {v1, v9}, Lpl/c;->a(I)V
:cond_160
invoke-virtual {v1, v0}, Lpl/c;->a(Landroid/util/SparseArray;)I
move-result v10
if-ltz v10, :cond_185
if-ne v9, v5, :cond_185
invoke-virtual {v0, v10}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v9
check-cast v9, Lcom/google/android/gms/vision/face/Face;
invoke-virtual {v1, v9, v2, v6}, Lpl/c;->a(Lcom/google/android/gms/vision/face/Face;FF)V
iget-boolean v11, v1, Lpl/c;->W:Z
if-nez v11, :cond_185
invoke-virtual {v9}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v11
iget v11, v11, Landroid/graphics/PointF;->x:F
iput v11, v1, Lpl/c;->P:F
invoke-virtual {v9}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v9
iget v9, v9, Landroid/graphics/PointF;->y:F
iput v9, v1, Lpl/c;->Q:F
:cond_185
iget-boolean v9, v1, Lpl/c;->W:Z
const/4 v11, 0x7
const/4 v12, 0x6
const/4 v13, 0x4
const/4 v14, 0x5
if-nez v9, :cond_1dd
iget-boolean v9, v1, Lpl/c;->e0:Z
if-eqz v9, :cond_1dd
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v15
iget-wide v3, v1, Lpl/c;->N:J
sub-long/2addr v15, v3
iget-wide v3, v1, Lpl/c;->f:J
cmp-long v17, v15, v3
if-lez v17, :cond_1dd
iget-object v3, v1, Lpl/c;->T:Lpl/b;
invoke-virtual {v1, v3}, Lpl/c;->a(Lpl/b;)V
iget-object v3, v1, Lpl/c;->q0:Lol/a;
if-eqz v3, :cond_1dd
iget-boolean v4, v1, Lpl/c;->u:Z
if-eqz v4, :cond_1d5
iget v4, v1, Lpl/c;->s0:I
if-eq v4, v5, :cond_1cf
if-eq v4, v7, :cond_1c9
if-eq v4, v8, :cond_1c3
if-eq v4, v13, :cond_1bb
iget-object v4, v1, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v3, v5, v4}, Lol/a;->onResult(ILjava/lang/String;)V
goto :goto_1da
:cond_1bb
const/16 v4, 0x8
iget-object v15, v1, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v3, v4, v15}, Lol/a;->onResult(ILjava/lang/String;)V
goto :goto_1da
:cond_1c3
iget-object v4, v1, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v3, v11, v4}, Lol/a;->onResult(ILjava/lang/String;)V
goto :goto_1da
:cond_1c9
iget-object v4, v1, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v3, v12, v4}, Lol/a;->onResult(ILjava/lang/String;)V
goto :goto_1da
:cond_1cf
iget-object v4, v1, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v3, v14, v4}, Lol/a;->onResult(ILjava/lang/String;)V
goto :goto_1da
:cond_1d5
iget-object v4, v1, Lpl/c;->t0:Ljava/lang/String;
invoke-interface {v3, v5, v4}, Lol/a;->onResult(ILjava/lang/String;)V
:goto_1da
invoke-virtual/range {p0 .. p0}, Lpl/c;->g()V
:cond_1dd
iget-boolean v3, v1, Lpl/c;->W:Z
if-nez v3, :cond_288
iget-boolean v3, v1, Lpl/c;->e0:Z
if-eqz v3, :cond_288
iget-boolean v3, v1, Lpl/c;->u:Z
if-eqz v3, :cond_26f
iget v3, v1, Lpl/c;->s0:I
if-lez v3, :cond_241
if-ge v3, v14, :cond_241
iget-boolean v3, v1, Lpl/c;->x0:Z
if-eqz v3, :cond_205
if-eqz v3, :cond_288
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
move/from16 p1, v10
iget-wide v9, v1, Lpl/c;->y0:J
sub-long/2addr v3, v9
iget-wide v9, v1, Lpl/c;->t:J
cmp-long v16, v3, v9
if-lez v16, :cond_28a
goto :goto_207
:cond_205
move/from16 p1, v10
:goto_207
iget-object v3, v1, Lpl/c;->q0:Lol/a;
if-eqz v3, :cond_28a
iget v4, v1, Lpl/c;->s0:I
if-eq v4, v5, :cond_22e
if-eq v4, v7, :cond_226
if-eq v4, v8, :cond_21e
if-eq v4, v13, :cond_216
goto :goto_235
:cond_216
iget v4, v1, Lpl/c;->L:I
add-int/2addr v4, v5
const/4 v9, -0x1
invoke-interface {v3, v11, v9, v4}, Lol/a;->onStateChanged(III)V
goto :goto_235
:cond_21e
const/4 v9, -0x1
iget v4, v1, Lpl/c;->L:I
add-int/2addr v4, v5
invoke-interface {v3, v12, v9, v4}, Lol/a;->onStateChanged(III)V
goto :goto_235
:cond_226
const/4 v9, -0x1
iget v4, v1, Lpl/c;->L:I
add-int/2addr v4, v5
invoke-interface {v3, v14, v9, v4}, Lol/a;->onStateChanged(III)V
goto :goto_235
:cond_22e
const/4 v9, -0x1
iget v4, v1, Lpl/c;->L:I
add-int/2addr v4, v5
invoke-interface {v3, v13, v9, v4}, Lol/a;->onStateChanged(III)V
:goto_235
iput-boolean v5, v1, Lpl/c;->x0:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
iput-wide v3, v1, Lpl/c;->y0:J
const/4 v3, 0x0
iput-boolean v3, v1, Lpl/c;->g0:Z
goto :goto_28a
:cond_241
move/from16 p1, v10
iget-boolean v3, v1, Lpl/c;->x0:Z
if-eqz v3, :cond_28a
iget-boolean v3, v1, Lpl/c;->v0:Z
if-nez v3, :cond_28a
iget-boolean v3, v1, Lpl/c;->g0:Z
if-nez v3, :cond_28a
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
iget-wide v10, v1, Lpl/c;->y0:J
sub-long/2addr v3, v10
iget-wide v10, v1, Lpl/c;->t:J
cmp-long v12, v3, v10
if-lez v12, :cond_28a
iget-object v3, v1, Lpl/c;->q0:Lol/a;
if-eqz v3, :cond_269
iget v4, v1, Lpl/c;->L:I
add-int/2addr v4, v5
const/4 v9, -0x1
const/4 v10, 0x0
invoke-interface {v3, v10, v9, v4}, Lol/a;->onStateChanged(III)V
goto :goto_26a
:cond_269
const/4 v10, 0x0
:goto_26a
iput-boolean v5, v1, Lpl/c;->g0:Z
iput-boolean v10, v1, Lpl/c;->x0:Z
goto :goto_28a
:cond_26f
move/from16 p1, v10
iget-boolean v3, v1, Lpl/c;->g0:Z
if-nez v3, :cond_28a
iget-object v3, v1, Lpl/c;->q0:Lol/a;
if-eqz v3, :cond_282
iget v4, v1, Lpl/c;->L:I
add-int/2addr v4, v5
const/4 v9, -0x1
const/4 v10, 0x0
invoke-interface {v3, v10, v9, v4}, Lol/a;->onStateChanged(III)V
goto :goto_283
:cond_282
const/4 v10, 0x0
:goto_283
iput-boolean v5, v1, Lpl/c;->g0:Z
iput-boolean v10, v1, Lpl/c;->h0:Z
goto :goto_28a
:cond_288
move/from16 p1, v10
:cond_28a
:goto_28a
iget-boolean v3, v1, Lpl/c;->W:Z
if-eqz v3, :cond_39b
invoke-virtual/range {p0 .. p0}, Lpl/c;->h()V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
iget-wide v10, v1, Lpl/c;->a0:J
sub-long/2addr v3, v10
iget-wide v10, v1, Lpl/c;->g:J
cmp-long v12, v3, v10
if-lez v12, :cond_2a1
invoke-virtual/range {p0 .. p0}, Lpl/c;->a()V
:cond_2a1
if-ltz p1, :cond_39b
move/from16 v3, p1
invoke-virtual {v0, v3}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/gms/vision/face/Face;
iget-object v3, v1, Lpl/c;->p0:Lpl/a;
invoke-virtual {v3, v0}, Lpl/a;->a(Lcom/google/android/gms/vision/face/Face;)V
iget v3, v1, Lpl/c;->c0:I
add-int/2addr v3, v5
iput v3, v1, Lpl/c;->c0:I
iget-boolean v3, v1, Lpl/c;->h0:Z
if-nez v3, :cond_2de
iget v3, v1, Lpl/c;->f0:I
if-eqz v3, :cond_2cb
if-eq v3, v5, :cond_2c9
if-eq v3, v7, :cond_2c7
if-eq v3, v8, :cond_2c5
const/4 v3, -0x1
goto :goto_2cc
:cond_2c5
const/4 v3, 0x3
goto :goto_2cc
:cond_2c7
const/4 v3, 0x2
goto :goto_2cc
:cond_2c9
const/4 v3, 0x1
goto :goto_2cc
:cond_2cb
const/4 v3, 0x0
:goto_2cc
iget-object v4, v1, Lpl/c;->q0:Lol/a;
if-eqz v4, :cond_2d9
const/4 v9, -0x1
if-eq v3, v9, :cond_2d9
iget v9, v1, Lpl/c;->L:I
add-int/2addr v9, v5
invoke-interface {v4, v5, v3, v9}, Lol/a;->onStateChanged(III)V
:cond_2d9
iput-boolean v5, v1, Lpl/c;->h0:Z
const/4 v3, 0x0
iput-boolean v3, v1, Lpl/c;->g0:Z
:cond_2de
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
iget-wide v9, v1, Lpl/c;->a0:J
sub-long/2addr v3, v9
iget-wide v9, v1, Lpl/c;->d:J
cmp-long v11, v3, v9
if-lez v11, :cond_39b
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
iget-wide v9, v1, Lpl/c;->O:J
sub-long/2addr v3, v9
iget-wide v9, v1, Lpl/c;->e:J
cmp-long v11, v3, v9
if-lez v11, :cond_39b
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
iput-wide v3, v1, Lpl/c;->O:J
iget v3, v1, Lpl/c;->f0:I
if-eqz v3, :cond_324
if-eq v3, v5, :cond_31b
if-eq v3, v7, :cond_312
if-eq v3, v8, :cond_309
goto :goto_32c
:cond_309
iget-object v3, v1, Lpl/c;->p0:Lpl/a;
invoke-virtual {v3}, Lpl/a;->i()Z
move-result v3
iput-boolean v3, v1, Lpl/c;->d0:Z
goto :goto_32c
:cond_312
iget-object v3, v1, Lpl/c;->p0:Lpl/a;
invoke-virtual {v3}, Lpl/a;->g()Z
move-result v3
iput-boolean v3, v1, Lpl/c;->d0:Z
goto :goto_32c
:cond_31b
iget-object v3, v1, Lpl/c;->p0:Lpl/a;
invoke-virtual {v3}, Lpl/a;->h()Z
move-result v3
iput-boolean v3, v1, Lpl/c;->d0:Z
goto :goto_32c
:cond_324
iget-object v3, v1, Lpl/c;->p0:Lpl/a;
invoke-virtual {v3}, Lpl/a;->f()Z
move-result v3
iput-boolean v3, v1, Lpl/c;->d0:Z
:goto_32c
iget-boolean v3, v1, Lpl/c;->d0:Z
if-eqz v3, :cond_359
iget v3, v1, Lpl/c;->L:I
iget v4, v1, Lpl/c;->b:I
sub-int/2addr v4, v5
if-ge v3, v4, :cond_359
add-int/2addr v3, v5
iput v3, v1, Lpl/c;->L:I
const/4 v3, 0x0
iput v3, v1, Lpl/c;->c0:I
iget-object v4, v1, Lpl/c;->p0:Lpl/a;
invoke-virtual {v4}, Lpl/a;->a()V
iget-wide v8, v1, Lpl/c;->i:J
const-wide/16 v10, 0x0
cmp-long v4, v8, v10
if-lez v4, :cond_34d
invoke-virtual {v1, v8, v9, v7}, Lpl/c;->a(JI)V
:cond_34d
iput-boolean v3, v1, Lpl/c;->d0:Z
iput-boolean v3, v1, Lpl/c;->h0:Z
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
iput-wide v3, v1, Lpl/c;->a0:J
iput-wide v3, v1, Lpl/c;->O:J
:cond_359
iget-boolean v3, v1, Lpl/c;->d0:Z
if-eqz v3, :cond_367
iget v3, v1, Lpl/c;->L:I
iget v4, v1, Lpl/c;->b:I
sub-int/2addr v4, v5
if-ne v3, v4, :cond_367
add-int/2addr v3, v5
iput v3, v1, Lpl/c;->L:I
:cond_367
iget v3, v1, Lpl/c;->L:I
iget v4, v1, Lpl/c;->b:I
if-ne v3, v4, :cond_39b
invoke-virtual {v1, v0, v2, v6}, Lpl/c;->b(Lcom/google/android/gms/vision/face/Face;FF)Z
move-result v2
iput-boolean v2, v1, Lpl/c;->i0:Z
if-nez v2, :cond_385
invoke-virtual {v0}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v2
iget v2, v2, Landroid/graphics/PointF;->x:F
iput v2, v1, Lpl/c;->R:F
invoke-virtual {v0}, Lcom/google/android/gms/vision/face/Face;->getPosition()Landroid/graphics/PointF;
move-result-object v0
iget v0, v0, Landroid/graphics/PointF;->y:F
iput v0, v1, Lpl/c;->S:F
:cond_385
iget-boolean v0, v1, Lpl/c;->i0:Z
if-eqz v0, :cond_39b
iget-object v0, v1, Lpl/c;->T:Lpl/b;
invoke-virtual {v1, v0}, Lpl/c;->a(Lpl/b;)V
iget-object v0, v1, Lpl/c;->q0:Lol/a;
if-eqz v0, :cond_398
iget-object v2, v1, Lpl/c;->t0:Ljava/lang/String;
const/4 v3, 0x0
invoke-interface {v0, v3, v2}, Lol/a;->onResult(ILjava/lang/String;)V
:cond_398
invoke-virtual/range {p0 .. p0}, Lpl/c;->g()V
:cond_39b
return-void
.end method
.method public release()V
.registers 1
return-void
.end method