VideoCaptureCamera1$3.smali 
.class Lio/agora/rtc2/video/VideoCaptureCamera1$3;
.super Ljava/lang/Object;
.source "VideoCaptureCamera1.java"
# interfaces
.implements Landroid/hardware/Camera$FaceDetectionListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
    value = Lio/agora/rtc2/video/VideoCaptureCamera1;->onFaceDetectionRequestChanged()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x0
    name = null
.end annotation
# instance fields
.field private mLastFocusedTs:J
.field final synthetic this$0:Lio/agora/rtc2/video/VideoCaptureCamera1;
# direct methods
.method constructor <init>(Lio/agora/rtc2/video/VideoCaptureCamera1;)V
    .registers 2
    .line 589
    iput-object p1, p0, Lio/agora/rtc2/video/VideoCaptureCamera1$3;->this$0:Lio/agora/rtc2/video/VideoCaptureCamera1;
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    return-void
.end method
# virtual methods
.method public onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
    .registers 8
    .line 594
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureCamera1$3;->this$0:Lio/agora/rtc2/video/VideoCaptureCamera1;
    iget-boolean v0, v0, Lio/agora/rtc2/video/VideoCaptureCamera1;->mEnableFaceDetection:Z
    if-eqz v0, :cond_b
    .line 595
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureCamera1$3;->this$0:Lio/agora/rtc2/video/VideoCaptureCamera1;
    # invokes: Lio/agora/rtc2/video/VideoCaptureCamera1;->notifyFaceDetection([Landroid/hardware/Camera$Face;)V
    invoke-static {v0, p1}, Lio/agora/rtc2/video/VideoCaptureCamera1;->access$200(Lio/agora/rtc2/video/VideoCaptureCamera1;[Landroid/hardware/Camera$Face;)V
    :cond_b
    if-eqz p1, :cond_c9
    .line 598
    array-length v0, p1
    if-eqz v0, :cond_c9
    if-eqz p2, :cond_c9
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureCamera1$3;->this$0:Lio/agora/rtc2/video/VideoCaptureCamera1;
    iget-boolean v0, v0, Lio/agora/rtc2/video/VideoCaptureCamera1;->mEnableAutoFaceFocus:Z
    if-nez v0, :cond_1a
    goto/16 :goto_c9
    .line 602
    :cond_1a
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
    move-result-wide v0
    iget-wide v2, p0, Lio/agora/rtc2/video/VideoCaptureCamera1$3;->mLastFocusedTs:J
    sub-long/2addr v0, v2
    const-wide/16 v2, 0xbb8
    cmp-long v0, v0, v2
    const/4 v1, 0x0
    if-gez v0, :cond_3a
    .line 603
    aget-object p2, p1, v1
    iget p2, p2, Landroid/hardware/Camera$Face;->score:I
    const/16 v0, 0x14
    if-le p2, v0, :cond_39
    .line 604
    iget-object p2, p0, Lio/agora/rtc2/video/VideoCaptureCamera1$3;->this$0:Lio/agora/rtc2/video/VideoCaptureCamera1;
    aget-object p1, p1, v1
    iget-object p1, p1, Landroid/hardware/Camera$Face;->rect:Landroid/graphics/Rect;
    invoke-virtual {p2, p1}, Lio/agora/rtc2/video/VideoCaptureCamera1;->notifyCameraFocusAreaChanged(Landroid/graphics/Rect;)V
    :cond_39
    return-void
    .line 617
    :cond_3a
    aget-object v0, p1, v1
    iget v0, v0, Landroid/hardware/Camera$Face;->score:I
    const/16 v2, 0x32
    if-gt v0, v2, :cond_5f
    .line 618
    # getter for: Lio/agora/rtc2/video/VideoCaptureCamera1;->TAG:Ljava/lang/String;
    invoke-static {}, Lio/agora/rtc2/video/VideoCaptureCamera1;->access$000()Ljava/lang/String;
    move-result-object p2
    new-instance v0, Ljava/lang/StringBuilder;
    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
    const-string v2, "face score = "
    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    aget-object p1, p1, v1
    iget p1, p1, Landroid/hardware/Camera$Face;->score:I
    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p1
    invoke-static {p2, p1}, Lio/agora/base/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
    return-void
    .line 623
    :cond_5f
    :try_start_5f
    new-instance v0, Ljava/util/ArrayList;
    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
    .line 624
    new-instance v2, Landroid/hardware/Camera$Area;
    aget-object v3, p1, v1
    iget-object v3, v3, Landroid/hardware/Camera$Face;->rect:Landroid/graphics/Rect;
    const/16 v4, 0x3e8
    invoke-direct {v2, v3, v4}, Landroid/hardware/Camera$Area;-><init>(Landroid/graphics/Rect;I)V
    .line 625
    invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
    .line 627
    invoke-virtual {p2}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
    move-result-object v2
    invoke-virtual {v2}, Landroid/hardware/Camera$Parameters;->getMaxNumFocusAreas()I
    move-result v2
    if-lez v2, :cond_83
    .line 628
    invoke-virtual {p2}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
    move-result-object v2
    invoke-virtual {v2, v0}, Landroid/hardware/Camera$Parameters;->setFocusAreas(Ljava/util/List;)V
    .line 631
    :cond_83
    invoke-virtual {p2}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
    move-result-object v2
    invoke-virtual {v2}, Landroid/hardware/Camera$Parameters;->getMaxNumMeteringAreas()I
    move-result v2
    if-lez v2, :cond_94
    .line 632
    invoke-virtual {p2}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
    move-result-object v2
    invoke-virtual {v2, v0}, Landroid/hardware/Camera$Parameters;->setMeteringAreas(Ljava/util/List;)V
    .line 635
    :cond_94
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureCamera1$3;->this$0:Lio/agora/rtc2/video/VideoCaptureCamera1;
    aget-object p1, p1, v1
    iget-object p1, p1, Landroid/hardware/Camera$Face;->rect:Landroid/graphics/Rect;
    invoke-virtual {v0, p1}, Lio/agora/rtc2/video/VideoCaptureCamera1;->notifyCameraFocusAreaChanged(Landroid/graphics/Rect;)V
    .line 637
    new-instance p1, Lio/agora/rtc2/video/VideoCaptureCamera1$3$1;
    invoke-direct {p1, p0}, Lio/agora/rtc2/video/VideoCaptureCamera1$3$1;-><init>(Lio/agora/rtc2/video/VideoCaptureCamera1$3;)V
    invoke-virtual {p2, p1}, Landroid/hardware/Camera;->autoFocus(Landroid/hardware/Camera$AutoFocusCallback;)V
    .line 654
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
    move-result-wide p1
    iput-wide p1, p0, Lio/agora/rtc2/video/VideoCaptureCamera1$3;->mLastFocusedTs:J
    :try_end_ab
    .catch Ljava/lang/RuntimeException; {:try_start_5f .. :try_end_ab} :catch_ac
    goto :goto_c9
    :catch_ac
    move-exception p1
    .line 656
    # getter for: Lio/agora/rtc2/video/VideoCaptureCamera1;->TAG:Ljava/lang/String;
    invoke-static {}, Lio/agora/rtc2/video/VideoCaptureCamera1;->access$000()Ljava/lang/String;
    move-result-object p2
    new-instance v0, Ljava/lang/StringBuilder;
    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
    const-string v1, "Exception in onFaceDetection callback: "
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-static {p1}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
    move-result-object p1
    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p1
    invoke-static {p2, p1}, Lio/agora/base/internal/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
    :cond_c9
    :goto_c9
    return-void
.end method