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