a.smali 
.class public final Lcom/tencent/liteav/videoproducer/capture/b/a;
.super Lcom/tencent/liteav/videoproducer/capture/CameraControllerInterface;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    }
.end annotation
# static fields
.field private static final b:Ljava/util/HashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/HashMap<",
            "Ljava/lang/String;",
            "Landroid/hardware/camera2/CameraCharacteristics;",
            ">;"
        }
    .end annotation
.end field
.field private static c:Z
.field private static d:Ljava/lang/String;
.field private static e:Ljava/lang/String;
# instance fields
.field private A:F
.field private final B:Landroid/hardware/camera2/CameraDevice$StateCallback;
.field private final C:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
.field private final D:Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
.field private final E:Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;
.field public a:Z
.field private final f:Landroid/os/Handler;
.field private final g:Lcom/tencent/liteav/base/util/v;
.field private final h:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private final i:Ljava/util/concurrent/atomic/AtomicReference;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/atomic/AtomicReference<",
            "Landroid/hardware/camera2/CameraDevice;",
            ">;"
        }
    .end annotation
.end field
.field private final j:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private final k:Ljava/util/concurrent/atomic/AtomicReference;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/atomic/AtomicReference<",
            "Landroid/hardware/camera2/CameraCaptureSession;",
            ">;"
        }
    .end annotation
.end field
.field private l:Landroid/hardware/camera2/CaptureRequest;
.field private m:Landroid/hardware/camera2/CaptureRequest$Builder;
.field private n:Lcom/tencent/liteav/base/util/Size;
.field private o:Lcom/tencent/liteav/videobase/utils/Rotation;
.field private p:Landroid/graphics/SurfaceTexture;
.field private q:Z
.field private r:Z
.field private s:Z
.field private t:I
.field private u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
.field private v:Z
.field private w:Ljava/util/concurrent/CountDownLatch;
.field private x:Ljava/util/concurrent/CountDownLatch;
.field private y:Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;
.field private z:F
# direct methods
.method static constructor <clinit>()V
    .registers 1
    .line 65
    new-instance v0, Ljava/util/HashMap;
    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
    sput-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a;->b:Ljava/util/HashMap;
    const-string v0, ""
    .line 68
    sput-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
    .line 69
    sput-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
    return-void
.end method
.method public constructor <init>(Lcom/tencent/liteav/base/util/v;)V
    .registers 4
    .line 193
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/CameraControllerInterface;-><init>()V
    .line 71
    new-instance v0, Landroid/os/Handler;
    invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
    move-result-object v1
    invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
    .line 73
    new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
    const/4 v1, 0x0
    invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
    .line 74
    new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
    invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
    .line 75
    new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
    invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->j:Ljava/util/concurrent/atomic/AtomicBoolean;
    .line 76
    new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
    invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
    .line 82
    sget-object v0, Lcom/tencent/liteav/videobase/utils/Rotation;->a:Lcom/tencent/liteav/videobase/utils/Rotation;
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
    const/4 v0, 0x1
    .line 84
    iput-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
    .line 85
    iput-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->r:Z
    .line 86
    iput-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->s:Z
    const/4 v0, -0x1
    .line 87
    iput v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
    .line 88
    sget-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    .line 89
    iput-boolean v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
    .line 90
    iput-boolean v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->a:Z
    const/4 v0, 0x0
    .line 96
    iput v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->z:F
    .line 97
    iput v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->A:F
    .line 105
    new-instance v0, Lcom/tencent/liteav/videoproducer/capture/b/a$1;
    invoke-direct {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/b/a$1;-><init>(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->B:Landroid/hardware/camera2/CameraDevice$StateCallback;
    .line 147
    new-instance v0, Lcom/tencent/liteav/videoproducer/capture/b/a$2;
    invoke-direct {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/b/a$2;-><init>(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->C:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
    .line 162
    new-instance v0, Lcom/tencent/liteav/videoproducer/capture/b/a$3;
    invoke-direct {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/b/a$3;-><init>(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->D:Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
    .line 853
    new-instance v0, Lcom/tencent/liteav/videoproducer/capture/b/a$4;
    invoke-direct {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/b/a$4;-><init>(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->E:Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;
    .line 194
    iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->g:Lcom/tencent/liteav/base/util/v;
    return-void
.end method
.method static synthetic a([I[I)I
    .registers 3
    const/4 v0, 0x1
    .line 773
    aget p0, p0, v0
    aget p1, p1, v0
    sub-int/2addr p0, p1
    return p0
.end method
.method private a()Landroid/hardware/camera2/CameraCharacteristics;
    .registers 3
    .line 588
    iget-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
    invoke-static {v0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(Z)Ljava/lang/String;
    move-result-object v0
    .line 589
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v1
    if-nez v1, :cond_15
    .line 590
    sget-object v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->b:Ljava/util/HashMap;
    invoke-virtual {v1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/hardware/camera2/CameraCharacteristics;
    return-object v0
    :cond_15
    const/4 v0, 0x0
    return-object v0
.end method
.method private a(I)Landroid/util/Range;
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I)",
            "Landroid/util/Range<",
            "Ljava/lang/Integer;",
            ">;"
        }
    .end annotation
    .line 767
    invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
    move-result-object v0
    const-string v1, "preferred fps: "
    invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    const-string v1, "Camera2Controller"
    invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    .line 768
    new-instance v0, Landroid/util/Range;
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v1
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v2
    invoke-direct {v0, v1, v2}, Landroid/util/Range;-><init>(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
    .line 769
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->f()Ljava/util/List;
    move-result-object v1
    .line 770
    invoke-static {v1}, Lcom/tencent/liteav/videobase/utils/c;->a(Ljava/util/Collection;)Z
    move-result v2
    if-eqz v2, :cond_27
    return-object v0
    .line 773
    :cond_27
    invoke-static {}, Lcom/tencent/liteav/videoproducer/capture/b/c;->a()Ljava/util/Comparator;
    move-result-object v2
    invoke-static {v1, v2}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
    const/4 v2, 0x0
    .line 775
    invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
    move-result-object v1
    :cond_33
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
    move-result v3
    const/4 v4, 0x1
    const/4 v5, 0x0
    if-eqz v3, :cond_4a
    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
    move-result-object v3
    check-cast v3, [I
    .line 776
    aget v6, v3, v5
    if-gt v6, p1, :cond_33
    aget v6, v3, v4
    if-gt p1, v6, :cond_33
    move-object v2, v3
    :cond_4a
    if-eqz v2, :cond_61
    .line 782
    array-length p1, v2
    const/4 v1, 0x2
    if-lt p1, v1, :cond_61
    .line 783
    new-instance v0, Landroid/util/Range;
    aget p1, v2, v5
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object p1
    aget v1, v2, v4
    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v1
    invoke-direct {v0, p1, v1}, Landroid/util/Range;-><init>(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
    :cond_61
    return-object v0
.end method
.method static synthetic a(Z)Ljava/lang/String;
    .registers 1
    .line 57
    invoke-static {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(Z)Ljava/lang/String;
    move-result-object p0
    return-object p0
.end method
.method private a(F)V
    .registers 4
    .line 284
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    if-eqz v0, :cond_17
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    if-nez v0, :cond_b
    goto :goto_17
    .line 288
    :cond_b
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object v1, Landroid/hardware/camera2/CaptureRequest;->SCALER_CROP_REGION:Landroid/hardware/camera2/CaptureRequest$Key;
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c(F)Landroid/graphics/Rect;
    move-result-object p1
    invoke-virtual {v0, v1, p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    return-void
    .line 285
    :cond_17
    :goto_17
    new-instance v0, Ljava/lang/StringBuilder;
    const-string v1, "setZoom fail, scale:"
    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
    const-string p1, " mPreviewBuilder is null."
    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
    const-string v0, "Camera2Controller"
    invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
    .registers 2
    .line 443
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->g()Z
    move-result v0
    if-eqz v0, :cond_e
    const-string p0, "Camera2Controller"
    const-string v0, "onCameraError, but camera is invalid, do not send camera error."
    .line 444
    invoke-static {p0, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return-void
    .line 447
    :cond_e
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->y:Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;
    if-eqz v0, :cond_15
    .line 449
    invoke-interface {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;->onCameraError(Lcom/tencent/liteav/videoproducer/capture/CameraControllerInterface;)V
    :cond_15
    return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoproducer/capture/b/a;Z)V
    .registers 3
    .line 4483
    invoke-static {p1}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
    move-result-object p1
    const-string v0, "onFocusCallback success:"
    invoke-virtual {v0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    const-string v0, "Camera2Controller"
    invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    const/4 p1, 0x1
    .line 4484
    iput-boolean p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->a:Z
    return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoproducer/capture/b/a;ZLandroid/hardware/camera2/CameraCaptureSession;)V
    .registers 3
    .line 57
    invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(ZLandroid/hardware/camera2/CameraCaptureSession;)V
    return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoproducer/capture/b/a;ZLandroid/hardware/camera2/CameraDevice;)V
    .registers 3
    .line 57
    invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(ZLandroid/hardware/camera2/CameraDevice;)V
    return-void
.end method
.method private a(ZLandroid/hardware/camera2/CameraCaptureSession;)V
    .registers 5
    .line 474
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
    .line 475
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->j:Ljava/util/concurrent/atomic/AtomicBoolean;
    invoke-virtual {v1, p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
    .line 476
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
    invoke-virtual {p1, p2}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
    if-eqz v0, :cond_11
    .line 478
    invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
    :cond_11
    return-void
.end method
.method private a(ZLandroid/hardware/camera2/CameraDevice;)V
    .registers 5
    .line 465
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
    .line 466
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
    invoke-virtual {v1, p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
    .line 467
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
    invoke-virtual {p1, p2}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
    if-eqz v0, :cond_11
    .line 469
    invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
    :cond_11
    return-void
.end method
.method private a(II)Z
    .registers 8
    .line 597
    iget-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
    invoke-static {v0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(Z)Ljava/lang/String;
    move-result-object v0
    .line 598
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v1
    const/4 v2, 0x0
    const-string v3, "Camera2Controller"
    if-nez v1, :cond_15
    const-string p1, "openCamera fail getCameraCharacteristics null"
    .line 599
    invoke-static {v3, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return v2
    .line 604
    :cond_15
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v1
    sget-object v4, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_ORIENTATION:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v1, v4}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v1
    check-cast v1, Ljava/lang/Integer;
    invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
    move-result v1
    .line 603
    invoke-static {v1}, Lcom/tencent/liteav/videobase/utils/Rotation;->a(I)Lcom/tencent/liteav/videobase/utils/Rotation;
    move-result-object v1
    iput-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
    .line 607
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->e()Ljava/util/List;
    move-result-object v1
    iget-object v4, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
    .line 606
    invoke-static {v1, v4, p1, p2}, Lcom/tencent/liteav/videoproducer/capture/ai;->a(Ljava/util/List;Lcom/tencent/liteav/videobase/utils/Rotation;II)Lcom/tencent/liteav/base/util/Size;
    move-result-object p1
    iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    .line 608
    new-instance p1, Ljava/lang/StringBuilder;
    const-string p2, "openCamera ,id:"
    invoke-direct {p1, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    const-string p2, ","
    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-boolean p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
    if-eqz p2, :cond_4d
    const-string p2, "front camera"
    goto :goto_4f
    :cond_4d
    const-string p2, "back camera"
    :goto_4f
    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    const-string p2, " mPreviewSize "
    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
    const-string p2, " mCameraRotation "
    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
    const-string p2, " mIsCameraSupportAutoFocus "
    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-boolean p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->s:Z
    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p1
    invoke-static {v3, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    .line 614
    :try_start_77
    new-instance p1, Ljava/util/concurrent/CountDownLatch;
    const/4 p2, 0x1
    invoke-direct {p1, p2}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
    iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
    .line 616
    invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
    move-result-object p1
    const-string p2, "camera"
    invoke-virtual {p1, p2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object p1
    check-cast p1, Landroid/hardware/camera2/CameraManager;
    .line 618
    iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->B:Landroid/hardware/camera2/CameraDevice$StateCallback;
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
    invoke-virtual {p1, v0, p2, v1}, Landroid/hardware/camera2/CameraManager;->openCamera(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Landroid/os/Handler;)V
    .line 619
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
    invoke-virtual {p1}, Ljava/util/concurrent/CountDownLatch;->await()V
    :try_end_97
    .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_97} :catch_98
    goto :goto_aa
    :catch_98
    move-exception p1
    .line 621
    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    move-result-object p1
    const-string p2, "openCamera exception:"
    invoke-virtual {p2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    invoke-static {v3, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    const/4 p1, 0x0
    .line 622
    invoke-direct {p0, v2, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(ZLandroid/hardware/camera2/CameraDevice;)V
    .line 624
    :goto_aa
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
    invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
    move-result p1
    return p1
.end method
.method private a(Landroid/graphics/SurfaceTexture;)Z
    .registers 5
    .line 629
    :try_start_0
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
    invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/hardware/camera2/CameraDevice;
    if-eqz v0, :cond_46
    if-eqz p1, :cond_46
    .line 633
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b()V
    .line 635
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->p:Landroid/graphics/SurfaceTexture;
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v1, v1, Lcom/tencent/liteav/base/util/Size;->width:I
    iget-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v2, v2, Lcom/tencent/liteav/base/util/Size;->height:I
    invoke-virtual {p1, v1, v2}, Landroid/graphics/SurfaceTexture;->setDefaultBufferSize(II)V
    .line 636
    new-instance p1, Landroid/view/Surface;
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->p:Landroid/graphics/SurfaceTexture;
    invoke-direct {p1, v1}, Landroid/view/Surface;-><init>(Landroid/graphics/SurfaceTexture;)V
    const/4 v1, 0x3
    .line 639
    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraDevice;->createCaptureRequest(I)Landroid/hardware/camera2/CaptureRequest$Builder;
    move-result-object v1
    iput-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    .line 640
    invoke-virtual {v1, p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->addTarget(Landroid/view/Surface;)V
    .line 641
    invoke-static {p1}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
    move-result-object p1
    .line 642
    new-instance v1, Ljava/util/concurrent/CountDownLatch;
    const/4 v2, 0x1
    invoke-direct {v1, v2}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
    iput-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
    .line 643
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->C:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
    iget-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
    invoke-virtual {v0, p1, v1, v2}, Landroid/hardware/camera2/CameraDevice;->createCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    .line 644
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
    invoke-virtual {p1}, Ljava/util/concurrent/CountDownLatch;->await()V
    goto :goto_5b
    .line 631
    :cond_46
    new-instance p1, Ljava/io/IOException;
    const-string v0, "startPreview cameraDevice null!"
    invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
    throw p1
    :try_end_4e
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4e} :catch_4e
    :catch_4e
    move-exception p1
    const-string v0, "Camera2Controller"
    const-string v1, "startPreview exception"
    .line 646
    invoke-static {v0, v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
    const/4 p1, 0x0
    const/4 v0, 0x0
    .line 647
    invoke-direct {p0, p1, v0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(ZLandroid/hardware/camera2/CameraCaptureSession;)V
    .line 649
    :goto_5b
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->j:Ljava/util/concurrent/atomic/AtomicBoolean;
    invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
    move-result p1
    return p1
.end method
.method private static b(Z)Ljava/lang/String;
    .registers 1
    if-eqz p0, :cond_10
    .line 577
    sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result p0
    if-nez p0, :cond_d
    sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
    goto :goto_1d
    :cond_d
    sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
    goto :goto_1d
    .line 579
    :cond_10
    sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result p0
    if-nez p0, :cond_1b
    sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
    goto :goto_1d
    :cond_1b
    sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
    :goto_1d
    return-object p0
.end method
.method static synthetic b(Lcom/tencent/liteav/videoproducer/capture/b/a;)Ljava/util/concurrent/atomic/AtomicBoolean;
    .registers 1
    .line 57
    iget-object p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
    return-object p0
.end method
.method private b()V
    .registers 3
    .line 653
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
    const/4 v1, 0x0
    invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/hardware/camera2/CameraCaptureSession;
    if-eqz v0, :cond_1f
    .line 656
    :try_start_b
    invoke-virtual {v0}, Landroid/hardware/camera2/CameraCaptureSession;->close()V
    :try_end_e
    .catch Ljava/lang/Exception; {:try_start_b .. :try_end_e} :catch_f
    return-void
    :catch_f
    move-exception v0
    .line 658
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    move-result-object v0
    const-string v1, "closePreviewSession fail, Exception:"
    invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    const-string v1, "Camera2Controller"
    invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    :cond_1f
    return-void
.end method
.method private b(F)V
    .registers 6
    .line 299
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    const-string v1, "Camera2Controller"
    if-eqz v0, :cond_59
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    if-nez v0, :cond_d
    goto :goto_59
    .line 306
    :cond_d
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    sget-object v2, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_COMPENSATION_RANGE:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v0, v2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/util/Range;
    .line 307
    invoke-virtual {v0}, Landroid/util/Range;->getLower()Ljava/lang/Comparable;
    move-result-object v2
    check-cast v2, Ljava/lang/Integer;
    invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
    move-result v2
    .line 308
    invoke-virtual {v0}, Landroid/util/Range;->getUpper()Ljava/lang/Comparable;
    move-result-object v0
    check-cast v0, Ljava/lang/Integer;
    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
    move-result v0
    if-nez v2, :cond_37
    if-nez v0, :cond_37
    const-string p1, "camera doesn\'t support exposure compensation"
    .line 310
    invoke-static {v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    return-void
    :cond_37
    const/high16 v1, 0x3f800000    # 1.0f
    const/high16 v3, -0x40800000    # -1.0f
    .line 317
    invoke-static {p1, v3, v1}, Lcom/tencent/liteav/base/util/h;->a(FFF)F
    move-result p1
    sub-int v1, v0, v2
    int-to-float v1, v1
    sub-float/2addr p1, v3
    mul-float/2addr v1, p1
    const/high16 p1, 0x40000000    # 2.0f
    div-float/2addr v1, p1
    float-to-int p1, v1
    add-int/2addr p1, v2
    .line 321
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object v3, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_EXPOSURE_COMPENSATION:Landroid/hardware/camera2/CaptureRequest$Key;
    .line 322
    invoke-static {p1, v2, v0}, Lcom/tencent/liteav/base/util/h;->a(III)I
    move-result p1
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object p1
    .line 321
    invoke-virtual {v1, v3, p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    return-void
    .line 300
    :cond_59
    :goto_59
    new-instance v0, Ljava/lang/StringBuilder;
    const-string v2, "setExposureCompensation fail, value:"
    invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
    const-string p1, " mCameraStatus:"
    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p1
    invoke-static {v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return-void
.end method
.method private c(F)Landroid/graphics/Rect;
    .registers 8
    .line 715
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_INFO_ACTIVE_ARRAY_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/graphics/Rect;
    .line 716
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v1
    sget-object v2, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_MAX_DIGITAL_ZOOM:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v1, v2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v1
    check-cast v1, Ljava/lang/Float;
    invoke-virtual {v1}, Ljava/lang/Float;->floatValue()F
    move-result v1
    const/4 v2, 0x0
    const/high16 v3, 0x3f800000    # 1.0f
    .line 718
    invoke-static {p1, v2, v3}, Lcom/tencent/liteav/base/util/h;->a(FFF)F
    move-result p1
    sub-float v2, v1, v3
    mul-float/2addr p1, v2
    add-float/2addr p1, v3
    .line 723
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v4
    int-to-float v4, v4
    div-float/2addr v4, v1
    float-to-int v4, v4
    .line 724
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v5
    int-to-float v5, v5
    div-float/2addr v5, v1
    float-to-int v1, v5
    .line 725
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v5
    sub-int/2addr v5, v4
    .line 726
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v4
    sub-int/2addr v4, v1
    int-to-float v1, v5
    sub-float v3, p1, v3
    mul-float/2addr v1, v3
    div-float/2addr v1, v2
    const/high16 v5, 0x40000000    # 2.0f
    div-float/2addr v1, v5
    float-to-int v1, v1
    int-to-float v4, v4
    mul-float/2addr v4, v3
    div-float/2addr v4, v2
    div-float/2addr v4, v5
    float-to-int v2, v4
    .line 732
    new-instance v3, Landroid/graphics/Rect;
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v4
    sub-int/2addr v4, v1
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v5
    sub-int/2addr v5, v2
    invoke-direct {v3, v1, v2, v4, v5}, Landroid/graphics/Rect;-><init>(IIII)V
    .line 733
    new-instance v1, Ljava/lang/StringBuilder;
    const-string v2, "calculateZoomRect calculatedZoomLevel:"
    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
    const-string p1, " rect:"
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
    const-string p1, " newRect2:"
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p1
    const-string v0, "Camera2Controller"
    invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    return-object v3
.end method
.method private c()V
    .registers 3
    .line 664
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
    const/4 v1, 0x0
    invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/hardware/camera2/CameraDevice;
    if-eqz v0, :cond_1f
    .line 667
    :try_start_b
    invoke-virtual {v0}, Landroid/hardware/camera2/CameraDevice;->close()V
    :try_end_e
    .catch Ljava/lang/Exception; {:try_start_b .. :try_end_e} :catch_f
    goto :goto_1f
    :catch_f
    move-exception v0
    .line 669
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    move-result-object v0
    const-string v1, "closeCamera fail, Exception:"
    invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    const-string v1, "Camera2Controller"
    invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    .line 673
    :cond_1f
    :goto_1f
    invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
    move-result-object v0
    const-string v1, "camera"
    invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/hardware/camera2/CameraManager;
    .line 675
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->D:Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraManager;->unregisterAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V
    return-void
.end method
.method static synthetic c(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
    .registers 2
    .line 4442
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->g:Lcom/tencent/liteav/base/util/v;
    invoke-static {p0}, Lcom/tencent/liteav/videoproducer/capture/b/b;->a(Lcom/tencent/liteav/videoproducer/capture/b/a;)Ljava/lang/Runnable;
    move-result-object p0
    invoke-interface {v0, p0}, Lcom/tencent/liteav/base/util/v;->a(Ljava/lang/Runnable;)V
    return-void
.end method
.method private c(Z)V
    .registers 5
    .line 704
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    if-nez v0, :cond_5
    return-void
    :cond_5
    if-eqz p1, :cond_9
    const/4 p1, 0x1
    goto :goto_a
    :cond_9
    const/4 p1, 0x3
    .line 709
    :goto_a
    sget-object v1, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v2
    invoke-virtual {v0, v1, v2}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    .line 710
    invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
    move-result-object p1
    const-string v0, "setFocusModeWithoutUpdatePreview to "
    invoke-virtual {v0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    const-string v0, "Camera2Controller"
    invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    return-void
.end method
.method private d()V
    .registers 4
    .line 692
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
    invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/hardware/camera2/CameraCaptureSession;
    if-eqz v0, :cond_28
    .line 693
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    if-nez v1, :cond_f
    goto :goto_28
    .line 697
    :cond_f
    :try_start_f
    invoke-virtual {v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;
    move-result-object v1
    const/4 v2, 0x0
    invoke-virtual {v0, v1, v2, v2}, Landroid/hardware/camera2/CameraCaptureSession;->setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
    :try_end_17
    .catch Ljava/lang/Exception; {:try_start_f .. :try_end_17} :catch_18
    return-void
    :catch_18
    move-exception v0
    .line 699
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    move-result-object v0
    const-string v1, "updatePreview exception:"
    invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    const-string v1, "Camera2Controller"
    invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    :cond_28
    :goto_28
    return-void
.end method
.method static synthetic d(Lcom/tencent/liteav/videoproducer/capture/b/a;)Z
    .registers 1
    .line 57
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->g()Z
    move-result p0
    return p0
.end method
.method private e()Ljava/util/List;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "Lcom/tencent/liteav/base/util/Size;",
            ">;"
        }
    .end annotation
    .line 740
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    const/4 v1, 0x0
    const-string v2, "Camera2Controller"
    if-nez v0, :cond_f
    const-string v0, "getPreviewSizes error, Characteristics is null"
    .line 741
    invoke-static {v2, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return-object v1
    .line 745
    :cond_f
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    sget-object v3, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_STREAM_CONFIGURATION_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v0, v3}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/hardware/camera2/params/StreamConfigurationMap;
    if-nez v0, :cond_23
    const-string v0, "getPreviewSizes map null"
    .line 748
    invoke-static {v2, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return-object v1
    .line 752
    :cond_23
    const-class v3, Landroid/graphics/SurfaceTexture;
    invoke-virtual {v0, v3}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(Ljava/lang/Class;)[Landroid/util/Size;
    move-result-object v0
    if-nez v0, :cond_31
    const-string v0, "getPreviewSizes choices is null"
    .line 754
    invoke-static {v2, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return-object v1
    .line 758
    :cond_31
    new-instance v1, Ljava/util/ArrayList;
    invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
    .line 759
    array-length v2, v0
    const/4 v3, 0x0
    :goto_38
    if-ge v3, v2, :cond_4f
    aget-object v4, v0, v3
    .line 760
    new-instance v5, Lcom/tencent/liteav/base/util/Size;
    invoke-virtual {v4}, Landroid/util/Size;->getWidth()I
    move-result v6
    invoke-virtual {v4}, Landroid/util/Size;->getHeight()I
    move-result v4
    invoke-direct {v5, v6, v4}, Lcom/tencent/liteav/base/util/Size;-><init>(II)V
    .line 761
    invoke-interface {v1, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
    add-int/lit8 v3, v3, 0x1
    goto :goto_38
    :cond_4f
    return-object v1
.end method
.method static synthetic e(Lcom/tencent/liteav/videoproducer/capture/b/a;)Z
    .registers 1
    .line 57
    iget-boolean p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
    return p0
.end method
.method private f()Ljava/util/List;
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "[I>;"
        }
    .end annotation
    .line 789
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    const/4 v1, 0x0
    const/4 v2, 0x1
    if-nez v0, :cond_19
    new-array v0, v2, [Ljava/lang/Object;
    .line 790
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v2
    aput-object v2, v0, v1
    const-string v1, "Camera2Controller"
    const-string v2, "getPreviewFps error, Characteristics: "
    invoke-static {v1, v2, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
    const/4 v0, 0x0
    return-object v0
    .line 794
    :cond_19
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    sget-object v3, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v0, v3}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, [Landroid/util/Range;
    .line 796
    new-instance v3, Ljava/util/ArrayList;
    invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
    if-eqz v0, :cond_53
    .line 798
    array-length v4, v0
    move v5, v1
    :goto_2e
    if-ge v5, v4, :cond_53
    aget-object v6, v0, v5
    const/4 v7, 0x2
    new-array v7, v7, [I
    .line 799
    invoke-virtual {v6}, Landroid/util/Range;->getLower()Ljava/lang/Comparable;
    move-result-object v8
    check-cast v8, Ljava/lang/Integer;
    invoke-virtual {v8}, Ljava/lang/Integer;->intValue()I
    move-result v8
    aput v8, v7, v1
    invoke-virtual {v6}, Landroid/util/Range;->getUpper()Ljava/lang/Comparable;
    move-result-object v6
    check-cast v6, Ljava/lang/Integer;
    invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
    move-result v6
    aput v6, v7, v2
    .line 800
    invoke-interface {v3, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
    add-int/lit8 v5, v5, 0x1
    goto :goto_2e
    :cond_53
    return-object v3
.end method
.method static synthetic f(Lcom/tencent/liteav/videoproducer/capture/b/a;)Ljava/util/concurrent/atomic/AtomicReference;
    .registers 1
    .line 57
    iget-object p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
    return-object p0
.end method
.method private g()Z
    .registers 3
    .line 807
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    if-eqz v0, :cond_13
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    if-eqz v0, :cond_13
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    sget-object v1, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->b:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    if-eq v0, v1, :cond_11
    goto :goto_13
    :cond_11
    const/4 v0, 0x0
    return v0
    :cond_13
    :goto_13
    const/4 v0, 0x1
    return v0
.end method
.method static synthetic g(Lcom/tencent/liteav/videoproducer/capture/b/a;)Z
    .registers 2
    const/4 v0, 0x0
    .line 57
    iput-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
    return v0
.end method
.method static synthetic h(Lcom/tencent/liteav/videoproducer/capture/b/a;)Landroid/hardware/camera2/CaptureRequest$Builder;
    .registers 1
    .line 57
    iget-object p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    return-object p0
.end method
.method static synthetic i(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
    .registers 1
    .line 57
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
    return-void
.end method
.method static synthetic j(Lcom/tencent/liteav/videoproducer/capture/b/a;)Lcom/tencent/liteav/base/util/v;
    .registers 1
    .line 57
    iget-object p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->g:Lcom/tencent/liteav/base/util/v;
    return-object p0
.end method
# virtual methods
.method public final enableTapToFocus(Z)V
    .registers 2
    .line 370
    iput-boolean p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->r:Z
    .line 371
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c(Z)V
    .line 372
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
    return-void
.end method
.method public final getCameraRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
    .registers 2
    .line 327
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
    return-object v0
.end method
.method public final getCameraRotationValue()I
    .registers 2
    .line 332
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
    .line 4045
    iget v0, v0, Lcom/tencent/liteav/videobase/utils/Rotation;->mValue:I
    return v0
.end method
.method public final getMaxZoom()I
    .registers 2
    const/16 v0, 0x64
    return v0
.end method
.method public final getPreviewSize()Lcom/tencent/liteav/base/util/Size;
    .registers 2
    .line 342
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    return-object v0
.end method
.method public final isCameraAutoFocusFaceModeSupported()Z
    .registers 3
    .line 391
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    if-eqz v0, :cond_1a
    .line 392
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->STATISTICS_INFO_MAX_FACE_COUNT:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Ljava/lang/Integer;
    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
    move-result v0
    if-lez v0, :cond_1a
    const/4 v0, 0x1
    return v0
    :cond_1a
    const/4 v0, 0x0
    return v0
.end method
.method public final isCameraFocusPositionInPreviewSupported()Z
    .registers 3
    .line 399
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    if-eqz v0, :cond_1a
    .line 400
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_MAX_REGIONS_AF:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Ljava/lang/Integer;
    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
    move-result v0
    if-lez v0, :cond_1a
    const/4 v0, 0x1
    return v0
    :cond_1a
    const/4 v0, 0x0
    return v0
.end method
.method public final isCurrentPreviewSizeAspectRatioMatch(IIZ)Z
    .registers 10
    .line 408
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->e()Ljava/util/List;
    move-result-object v0
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
    .line 407
    invoke-static {v0, v1, p1, p2}, Lcom/tencent/liteav/videoproducer/capture/ai;->a(Ljava/util/List;Lcom/tencent/liteav/videobase/utils/Rotation;II)Lcom/tencent/liteav/base/util/Size;
    move-result-object p1
    .line 410
    invoke-virtual {p1}, Lcom/tencent/liteav/base/util/Size;->getArea()I
    move-result p2
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    invoke-virtual {v0}, Lcom/tencent/liteav/base/util/Size;->getArea()I
    move-result v0
    const/4 v1, 0x0
    if-le p2, v0, :cond_19
    move p2, v1
    goto :goto_1a
    :cond_19
    const/4 p2, 0x1
    :goto_1a
    if-eqz p3, :cond_35
    .line 414
    invoke-virtual {p1}, Lcom/tencent/liteav/base/util/Size;->aspectRatio()D
    move-result-wide v2
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    invoke-virtual {p1}, Lcom/tencent/liteav/base/util/Size;->aspectRatio()D
    move-result-wide v4
    sub-double/2addr v2, v4
    invoke-static {v2, v3}, Ljava/lang/Math;->abs(D)D
    move-result-wide v2
    const-wide v4, 0x3f50624dd2f1a9fcL    # 0.001
    cmpl-double p1, v2, v4
    if-lez p1, :cond_35
    goto :goto_36
    :cond_35
    move v1, p2
    .line 417
    :goto_36
    invoke-static {v1}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
    move-result-object p1
    const-string p2, "isCurrentPreviewSizeAspectRatioMatch:"
    invoke-virtual {p2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    const-string p2, "Camera2Controller"
    invoke-static {p2, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    return v1
.end method
.method public final isTorchSupported()Z
    .registers 3
    .line 385
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    if-eqz v0, :cond_1a
    .line 386
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->FLASH_INFO_AVAILABLE:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Ljava/lang/Boolean;
    invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
    move-result v0
    if-eqz v0, :cond_1a
    const/4 v0, 0x1
    return v0
    :cond_1a
    const/4 v0, 0x0
    return v0
.end method
.method public final isZoomSupported()Z
    .registers 3
    .line 377
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    if-eqz v0, :cond_1d
    .line 378
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_MAX_DIGITAL_ZOOM:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Ljava/lang/Float;
    invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F
    move-result v0
    const/4 v1, 0x0
    cmpl-float v0, v0, v1
    if-lez v0, :cond_1d
    const/4 v0, 0x1
    return v0
    :cond_1d
    const/4 v0, 0x0
    return v0
.end method
.method public final setCloudConfig(Lcom/tencent/liteav/videoproducer/capture/CaptureCloudConfig;)V
    .registers 2
    return-void
.end method
.method public final setExposureCompensation(F)V
    .registers 2
    .line 293
    iput p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->z:F
    .line 294
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(F)V
    .line 295
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
    return-void
.end method
.method public final setServerConfig(Lcom/tencent/liteav/videoproducer/producer/ServerVideoProducerConfig;)V
    .registers 2
    return-void
.end method
.method public final setZoom(F)V
    .registers 2
    .line 278
    iput p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->A:F
    .line 279
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(F)V
    .line 280
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
    return-void
.end method
.method public final startAutoFocusAtPosition(II)V
    .registers 25
    move-object/from16 v1, p0
    move/from16 v0, p1
    move/from16 v2, p2
    .line 231
    iget-boolean v3, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->r:Z
    if-eqz v3, :cond_1c1
    iget-boolean v3, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->s:Z
    if-nez v3, :cond_10
    goto/16 :goto_1c1
    .line 235
    :cond_10
    invoke-direct/range {p0 .. p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->g()Z
    move-result v3
    const-string v4, "Camera2Controller"
    if-nez v3, :cond_1a4
    iget-boolean v3, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
    if-eqz v3, :cond_1e
    goto/16 :goto_1a4
    .line 242
    :cond_1e
    iget-object v3, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
    invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
    move-result-object v3
    check-cast v3, Landroid/hardware/camera2/CameraCaptureSession;
    if-nez v3, :cond_2e
    const-string v0, "CameraCaptureSession get fail"
    .line 244
    invoke-static {v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return-void
    :cond_2e
    const/4 v5, 0x2
    const/4 v6, 0x1
    const/4 v7, 0x0
    if-ltz v0, :cond_18e
    .line 248
    iget-object v8, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v8, v8, Lcom/tencent/liteav/base/util/Size;->width:I
    if-ge v0, v8, :cond_18e
    if-ltz v2, :cond_18e
    iget-object v8, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v8, v8, Lcom/tencent/liteav/base/util/Size;->height:I
    if-lt v2, v8, :cond_43
    goto/16 :goto_18e
    :cond_43
    new-array v5, v5, [Ljava/lang/Object;
    .line 252
    invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v8
    aput-object v8, v5, v7
    invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v8
    aput-object v8, v5, v6
    const-string v8, "Start auto focus at (%d, %d)"
    invoke-static {v4, v8, v5}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
    int-to-double v8, v0
    int-to-double v10, v2
    .line 3817
    iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->l:Landroid/hardware/camera2/CaptureRequest;
    sget-object v2, Landroid/hardware/camera2/CaptureRequest;->SCALER_CROP_REGION:Landroid/hardware/camera2/CaptureRequest$Key;
    invoke-virtual {v0, v2}, Landroid/hardware/camera2/CaptureRequest;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/graphics/Rect;
    if-nez v0, :cond_75
    const-string v0, "getMeteringRect can\'t get crop region"
    .line 3819
    invoke-static {v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    .line 3820
    invoke-direct/range {p0 .. p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v0
    sget-object v2, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_INFO_ACTIVE_ARRAY_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v0, v2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/graphics/Rect;
    .line 3824
    :cond_75
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v2
    .line 3825
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v5
    .line 3826
    iget-object v12, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v12, v12, Lcom/tencent/liteav/base/util/Size;->height:I
    mul-int/2addr v12, v2
    iget-object v13, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v13, v13, Lcom/tencent/liteav/base/util/Size;->width:I
    mul-int/2addr v13, v5
    const-wide/16 v16, 0x0
    const-wide/high16 v18, 0x3ff0000000000000L    # 1.0
    if-le v12, v13, :cond_a8
    int-to-double v12, v5
    mul-double v12, v12, v18
    .line 3827
    iget-object v5, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v5, v5, Lcom/tencent/liteav/base/util/Size;->height:I
    int-to-double v6, v5
    div-double/2addr v12, v6
    int-to-double v5, v2
    .line 3829
    iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v2, v2, Lcom/tencent/liteav/base/util/Size;->width:I
    int-to-double v14, v2
    mul-double/2addr v14, v12
    sub-double/2addr v5, v14
    const-wide/high16 v14, 0x4000000000000000L    # 2.0
    div-double/2addr v5, v14
    move-wide/from16 v20, v5
    move-wide/from16 v5, v16
    move-wide/from16 v16, v20
    goto :goto_bd
    :cond_a8
    int-to-double v6, v2
    mul-double v6, v6, v18
    .line 3831
    iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v2, v2, Lcom/tencent/liteav/base/util/Size;->width:I
    int-to-double v12, v2
    div-double v12, v6, v12
    int-to-double v5, v5
    .line 3833
    iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
    iget v2, v2, Lcom/tencent/liteav/base/util/Size;->height:I
    int-to-double v14, v2
    mul-double/2addr v14, v12
    sub-double/2addr v5, v14
    const-wide/high16 v14, 0x4000000000000000L    # 2.0
    div-double/2addr v5, v14
    :goto_bd
    mul-double/2addr v8, v12
    add-double v8, v8, v16
    .line 3837
    iget v2, v0, Landroid/graphics/Rect;->left:I
    int-to-double v14, v2
    add-double/2addr v8, v14
    mul-double/2addr v10, v12
    add-double/2addr v10, v5
    .line 3838
    iget v2, v0, Landroid/graphics/Rect;->top:I
    int-to-double v5, v2
    add-double/2addr v10, v5
    .line 3841
    new-instance v2, Landroid/graphics/Rect;
    invoke-direct {v2}, Landroid/graphics/Rect;-><init>()V
    .line 3843
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v5
    int-to-double v5, v5
    const-wide v12, 0x3fa999999999999aL    # 0.05
    mul-double/2addr v5, v12
    sub-double v5, v8, v5
    double-to-int v5, v5
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v6
    const/4 v7, 0x0
    .line 3842
    invoke-static {v5, v7, v6}, Lcom/tencent/liteav/base/util/h;->a(III)I
    move-result v5
    iput v5, v2, Landroid/graphics/Rect;->left:I
    .line 3845
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v5
    int-to-double v5, v5
    mul-double/2addr v5, v12
    add-double/2addr v8, v5
    double-to-int v5, v8
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v6
    .line 3844
    invoke-static {v5, v7, v6}, Lcom/tencent/liteav/base/util/h;->a(III)I
    move-result v5
    iput v5, v2, Landroid/graphics/Rect;->right:I
    .line 3847
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v5
    int-to-double v5, v5
    mul-double/2addr v5, v12
    sub-double v5, v10, v5
    double-to-int v5, v5
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v6
    .line 3846
    invoke-static {v5, v7, v6}, Lcom/tencent/liteav/base/util/h;->a(III)I
    move-result v5
    iput v5, v2, Landroid/graphics/Rect;->top:I
    .line 3849
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v5
    int-to-double v5, v5
    mul-double/2addr v5, v12
    add-double/2addr v10, v5
    double-to-int v5, v10
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v0
    .line 3848
    invoke-static {v5, v7, v0}, Lcom/tencent/liteav/base/util/h;->a(III)I
    move-result v0
    iput v0, v2, Landroid/graphics/Rect;->bottom:I
    .line 256
    :try_start_11f
    iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object v5, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_REGIONS:Landroid/hardware/camera2/CaptureRequest$Key;
    const/4 v6, 0x1
    new-array v7, v6, [Landroid/hardware/camera2/params/MeteringRectangle;
    new-instance v6, Landroid/hardware/camera2/params/MeteringRectangle;
    const/16 v8, 0x3e8
    invoke-direct {v6, v2, v8}, Landroid/hardware/camera2/params/MeteringRectangle;-><init>(Landroid/graphics/Rect;I)V
    const/4 v9, 0x0
    aput-object v6, v7, v9
    invoke-virtual {v0, v5, v7}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    .line 258
    iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object v5, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_REGIONS:Landroid/hardware/camera2/CaptureRequest$Key;
    const/4 v6, 0x1
    new-array v7, v6, [Landroid/hardware/camera2/params/MeteringRectangle;
    new-instance v6, Landroid/hardware/camera2/params/MeteringRectangle;
    invoke-direct {v6, v2, v8}, Landroid/hardware/camera2/params/MeteringRectangle;-><init>(Landroid/graphics/Rect;I)V
    const/4 v2, 0x0
    aput-object v6, v7, v2
    invoke-virtual {v0, v5, v7}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    .line 260
    iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object v2, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;
    const/4 v5, 0x1
    .line 261
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v6
    .line 260
    invoke-virtual {v0, v2, v6}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    .line 262
    iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object v2, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_TRIGGER:Landroid/hardware/camera2/CaptureRequest$Key;
    .line 263
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v6
    .line 262
    invoke-virtual {v0, v2, v6}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    .line 264
    iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object v2, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_PRECAPTURE_TRIGGER:Landroid/hardware/camera2/CaptureRequest$Key;
    .line 265
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v6
    .line 264
    invoke-virtual {v0, v2, v6}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    .line 266
    iput-boolean v5, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
    const/4 v0, 0x0
    .line 267
    iput-boolean v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->a:Z
    .line 268
    iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->setTag(Ljava/lang/Object;)V
    .line 269
    iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    .line 270
    invoke-virtual {v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;
    move-result-object v0
    iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->E:Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;
    iget-object v5, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
    .line 269
    invoke-virtual {v3, v0, v2, v5}, Landroid/hardware/camera2/CameraCaptureSession;->setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
    :try_end_17e
    .catch Ljava/lang/Exception; {:try_start_11f .. :try_end_17e} :catch_17f
    return-void
    :catch_17f
    move-exception v0
    .line 272
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    move-result-object v0
    const-string v2, "startAutoFocusAtPosition exception:"
    invoke-virtual {v2, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    invoke-static {v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return-void
    :cond_18e
    :goto_18e
    new-array v3, v5, [Ljava/lang/Object;
    .line 249
    invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v0
    const/4 v5, 0x0
    aput-object v0, v3, v5
    invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v0
    const/4 v2, 0x1
    aput-object v0, v3, v2
    const-string v0, "Start auto focus at (%d, %d) invalid "
    invoke-static {v4, v0, v3}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
    return-void
    .line 236
    :cond_1a4
    :goto_1a4
    new-instance v0, Ljava/lang/StringBuilder;
    const-string v2, "autoFocus not preview, mCameraStatus:"
    invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
    const-string v2, " mIsAutoFocusing:"
    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-boolean v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v0
    invoke-static {v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    :cond_1c1
    :goto_1c1
    return-void
.end method
.method public final startCapture(Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;Landroid/graphics/SurfaceTexture;Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;)Z
    .registers 16
    const-string v0, "1"
    .line 200
    iput-object p3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->y:Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;
    .line 1533
    sget-boolean p3, Lcom/tencent/liteav/videoproducer/capture/b/a;->c:Z
    const-string v1, "camera"
    const/4 v2, 0x1
    const/4 v3, 0x0
    const-string v4, "Camera2Controller"
    if-nez p3, :cond_8e
    .line 1539
    :try_start_e
    invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
    move-result-object p3
    invoke-virtual {p3, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object p3
    check-cast p3, Landroid/hardware/camera2/CameraManager;
    .line 1541
    invoke-virtual {p3}, Landroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String;
    move-result-object v5
    array-length v6, v5
    move v7, v3
    :goto_1e
    if-ge v7, v6, :cond_5e
    aget-object v8, v5, v7
    .line 1542
    invoke-virtual {p3, v8}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object v9
    .line 1543
    sget-object v10, Landroid/hardware/camera2/CameraCharacteristics;->LENS_FACING:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {v9, v10}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object v10
    check-cast v10, Ljava/lang/Integer;
    if-eqz v10, :cond_44
    .line 1549
    invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I
    move-result v11
    if-nez v11, :cond_44
    .line 1550
    invoke-virtual {v0, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v11
    if-eqz v11, :cond_44
    .line 1551
    sget-object v10, Lcom/tencent/liteav/videoproducer/capture/b/a;->b:Ljava/util/HashMap;
    invoke-virtual {v10, v8, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    .line 1552
    sput-object v8, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
    goto :goto_5b
    :cond_44
    if-eqz v10, :cond_5b
    .line 1553
    invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I
    move-result v10
    if-ne v10, v2, :cond_5b
    const-string v10, "0"
    .line 1554
    invoke-virtual {v10, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v10
    if-eqz v10, :cond_5b
    .line 1555
    sget-object v10, Lcom/tencent/liteav/videoproducer/capture/b/a;->b:Ljava/util/HashMap;
    invoke-virtual {v10, v8, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    .line 1556
    sput-object v8, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
    :cond_5b
    :goto_5b
    add-int/lit8 v7, v7, 0x1
    goto :goto_1e
    .line 1559
    :cond_5e
    new-instance p3, Ljava/lang/StringBuilder;
    const-string v5, "initCamera2Ability front:"
    invoke-direct {p3, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    sget-object v5, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
    invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    const-string v5, ", back:"
    invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    sget-object v5, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
    invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p3
    invoke-static {v4, p3}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_7b
    .catch Ljava/lang/Exception; {:try_start_e .. :try_end_7b} :catch_7c
    goto :goto_8c
    :catch_7c
    move-exception p3
    .line 1563
    sput-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
    .line 1564
    invoke-static {p3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    move-result-object p3
    const-string v0, "initCamera2Ability exception!"
    invoke-virtual {v0, p3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p3
    invoke-static {v4, p3}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    .line 1566
    :goto_8c
    sput-boolean v2, Lcom/tencent/liteav/videoproducer/capture/b/a;->c:Z
    :cond_8e
    if-eqz p1, :cond_164
    if-nez p2, :cond_94
    goto/16 :goto_164
    .line 207
    :cond_94
    iget-object p3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    sget-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    if-eq p3, v0, :cond_a0
    const-string p1, "it\'s capturing, you should Stop first."
    .line 208
    invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return v3
    .line 2489
    :cond_a0
    iput-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->p:Landroid/graphics/SurfaceTexture;
    .line 2490
    iget-object p3, p1, Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;->a:Ljava/lang/Boolean;
    invoke-virtual {p3}, Ljava/lang/Boolean;->booleanValue()Z
    move-result p3
    iput-boolean p3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
    .line 3424
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object p3
    if-nez p3, :cond_b2
    :goto_b0
    move p3, v3
    goto :goto_eb
    .line 3428
    :cond_b2
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
    move-result-object p3
    sget-object v0, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AF_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key;
    invoke-virtual {p3, v0}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
    move-result-object p3
    check-cast p3, [I
    .line 3429
    array-length v0, p3
    if-eqz v0, :cond_cb
    array-length v0, p3
    if-ne v0, v2, :cond_c9
    aget p3, p3, v3
    if-nez p3, :cond_c9
    goto :goto_cb
    :cond_c9
    move p3, v2
    goto :goto_eb
    .line 3432
    :cond_cb
    :goto_cb
    new-instance p3, Ljava/lang/StringBuilder;
    const-string v0, "Current "
    invoke-direct {p3, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    iget-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
    if-eqz v0, :cond_d9
    const-string v0, "front camera "
    goto :goto_db
    :cond_d9
    const-string v0, "back camera "
    :goto_db
    invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    const-string v0, " is not support auto focus."
    invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p3
    invoke-static {v4, p3}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
    goto :goto_b0
    .line 2491
    :goto_eb
    iput-boolean p3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->s:Z
    .line 2493
    invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
    move-result-object p3
    invoke-virtual {p3, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object p3
    check-cast p3, Landroid/hardware/camera2/CameraManager;
    .line 2495
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->D:Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
    invoke-virtual {p3, v0, v1}, Landroid/hardware/camera2/CameraManager;->registerAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Landroid/os/Handler;)V
    .line 2497
    iget p3, p1, Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;->c:I
    iget v0, p1, Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;->d:I
    invoke-direct {p0, p3, v0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(II)Z
    move-result p3
    if-nez p3, :cond_115
    const-string p1, "openCamera failed."
    .line 2499
    invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    .line 2500
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c()V
    .line 2501
    sget-object p1, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    return v3
    .line 2506
    :cond_115
    invoke-direct {p0, p2}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(Landroid/graphics/SurfaceTexture;)Z
    move-result p2
    if-nez p2, :cond_128
    const-string p1, "startPreview failed."
    .line 2508
    invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    .line 2509
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b()V
    .line 2510
    sget-object p1, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    return v3
    .line 2514
    :cond_128
    iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object p3, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_MODE:Landroid/hardware/camera2/CaptureRequest$Key;
    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v0
    invoke-virtual {p2, p3, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    .line 2516
    iget p1, p1, Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;->b:I
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(I)Landroid/util/Range;
    move-result-object p1
    .line 2518
    iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object p3, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_TARGET_FPS_RANGE:Landroid/hardware/camera2/CaptureRequest$Key;
    invoke-virtual {p2, p3, p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    .line 2519
    iget-boolean p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->r:Z
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c(Z)V
    .line 2520
    iget p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->A:F
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(F)V
    .line 2521
    iget p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->z:F
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(F)V
    .line 2522
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    invoke-virtual {p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;
    move-result-object p1
    iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->l:Landroid/hardware/camera2/CaptureRequest;
    .line 2523
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
    .line 2524
    sget-object p1, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->b:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    const-string p1, "startCaptureInternal ok."
    .line 2525
    invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    return v2
    :cond_164
    :goto_164
    const-string p1, "captureParams or surfaceTexture is null"
    .line 203
    invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return v3
.end method
.method public final stopCapture()V
    .registers 4
    .line 3679
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
    if-eqz v0, :cond_7
    .line 3681
    invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
    :cond_7
    const/4 v0, 0x0
    .line 3683
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
    .line 3684
    iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
    if-eqz v1, :cond_11
    .line 3686
    invoke-virtual {v1}, Ljava/util/concurrent/CountDownLatch;->countDown()V
    .line 3688
    :cond_11
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
    .line 217
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b()V
    .line 218
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c()V
    .line 219
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->l:Landroid/hardware/camera2/CaptureRequest;
    const/4 v1, 0x0
    .line 220
    iput-boolean v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->a:Z
    .line 221
    iget-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
    invoke-virtual {v2, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
    .line 223
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->p:Landroid/graphics/SurfaceTexture;
    const/4 v0, -0x1
    .line 224
    iput v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
    .line 225
    sget-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    const-string v0, "Camera2Controller"
    const-string v1, "stopCapture success"
    .line 226
    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    return-void
.end method
.method public final turnOnTorch(Z)V
    .registers 7
    .line 347
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->g()Z
    move-result v0
    const-string v1, "Camera2Controller"
    if-eqz v0, :cond_1c
    .line 348
    new-instance p1, Ljava/lang/StringBuilder;
    const-string v0, "turnOnTorch error mCameraStatus:"
    invoke-direct {p1, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p1
    invoke-static {v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    return-void
    :cond_1c
    const/4 v0, 0x1
    const/4 v2, 0x0
    if-eqz p1, :cond_28
    .line 352
    iget v3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
    const/4 v4, 0x2
    if-eq v3, v4, :cond_28
    .line 353
    iput v4, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
    goto :goto_2e
    :cond_28
    if-nez p1, :cond_2d
    .line 356
    iput v2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
    goto :goto_2e
    :cond_2d
    move v0, v2
    .line 359
    :goto_2e
    new-instance v2, Ljava/lang/StringBuilder;
    const-string v3, "turnOnTorch:"
    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
    const-string p1, ", mode:"
    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
    const-string p1, ", updateView:"
    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p1
    invoke-static {v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
    if-eqz v0, :cond_63
    .line 363
    iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->FLASH_MODE:Landroid/hardware/camera2/CaptureRequest$Key;
    iget v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v1
    invoke-virtual {p1, v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
    .line 364
    invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
    :cond_63
    return-void
.end method