d.smali

.class public final Lcom/otaliastudios/cameraview/engine/d;
.super Lcom/otaliastudios/cameraview/engine/o;
.source "SourceFile"

# interfaces
.implements Landroid/media/ImageReader$OnImageAvailableListener;
.implements Lcom/otaliastudios/cameraview/engine/action/c;


# instance fields
.field public final c0:Landroid/hardware/camera2/CameraManager;

.field public d0:Ljava/lang/String;

.field public e0:Landroid/hardware/camera2/CameraDevice;

.field public f0:Landroid/hardware/camera2/CameraCharacteristics;

.field public g0:Landroid/hardware/camera2/CameraCaptureSession;

.field public h0:Landroid/hardware/camera2/CaptureRequest$Builder;

.field public i0:Landroid/hardware/camera2/TotalCaptureResult;

.field public final j0:Lcom/otaliastudios/cameraview/engine/mappers/b;

.field public k0:Landroid/media/ImageReader;

.field public l0:Landroid/view/Surface;

.field public m0:Landroid/view/Surface;

.field public n0:Lcom/otaliastudios/cameraview/p$a;

.field public o0:Landroid/media/ImageReader;

.field public final p0:Ljava/util/concurrent/CopyOnWriteArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lcom/otaliastudios/cameraview/engine/action/a;",
            ">;"
        }
    .end annotation
.end field

.field public q0:Lcom/otaliastudios/cameraview/engine/meter/g;

.field public final r0:Lcom/otaliastudios/cameraview/engine/d$i;


# direct methods
.method public constructor <init>(Lcom/otaliastudios/cameraview/engine/p$g;)V
    .registers 3

    .line 1
    invoke-direct {p0, p1}, Lcom/otaliastudios/cameraview/engine/o;-><init>(Lcom/otaliastudios/cameraview/engine/p$g;)V

    .line 2
    sget-object p1, Lcom/otaliastudios/cameraview/engine/mappers/b;->a:Lcom/otaliastudios/cameraview/engine/mappers/b;

    if-nez p1, :cond_e

    .line 3
    new-instance p1, Lcom/otaliastudios/cameraview/engine/mappers/b;

    invoke-direct {p1}, Lcom/otaliastudios/cameraview/engine/mappers/b;-><init>()V

    sput-object p1, Lcom/otaliastudios/cameraview/engine/mappers/b;->a:Lcom/otaliastudios/cameraview/engine/mappers/b;

    .line 4
    :cond_e
    sget-object p1, Lcom/otaliastudios/cameraview/engine/mappers/b;->a:Lcom/otaliastudios/cameraview/engine/mappers/b;

    .line 5
    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/d;->j0:Lcom/otaliastudios/cameraview/engine/mappers/b;

    .line 6
    new-instance p1, Ljava/util/concurrent/CopyOnWriteArrayList;

    invoke-direct {p1}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V

    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/d;->p0:Ljava/util/concurrent/CopyOnWriteArrayList;

    .line 7
    new-instance p1, Lcom/otaliastudios/cameraview/engine/d$i;

    invoke-direct {p1, p0}, Lcom/otaliastudios/cameraview/engine/d$i;-><init>(Lcom/otaliastudios/cameraview/engine/d;)V

    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/d;->r0:Lcom/otaliastudios/cameraview/engine/d$i;

    .line 8
    iget-object p1, p0, Lcom/otaliastudios/cameraview/engine/p;->c:Lcom/otaliastudios/cameraview/engine/p$g;

    .line 9
    check-cast p1, Lcom/otaliastudios/cameraview/CameraView$c;

    invoke-virtual {p1}, Lcom/otaliastudios/cameraview/CameraView$c;->g()Landroid/content/Context;

    move-result-object p1

    const-string v0, "camera"

    .line 10
    invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Landroid/hardware/camera2/CameraManager;

    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/d;->c0:Landroid/hardware/camera2/CameraManager;

    .line 11
    new-instance p1, Lcom/otaliastudios/cameraview/engine/action/g;

    invoke-direct {p1}, Lcom/otaliastudios/cameraview/engine/action/g;-><init>()V

    invoke-virtual {p1, p0}, Lcom/otaliastudios/cameraview/engine/action/e;->m(Lcom/otaliastudios/cameraview/engine/action/c;)V

    return-void
.end method

.method public static c0(Lcom/otaliastudios/cameraview/engine/d;)V
    .registers 4

    .line 1
    invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    const/4 v0, 0x2

    new-array v0, v0, [Lcom/otaliastudios/cameraview/engine/action/e;

    .line 2
    new-instance v1, Lcom/otaliastudios/cameraview/engine/h;

    invoke-direct {v1, p0}, Lcom/otaliastudios/cameraview/engine/h;-><init>(Lcom/otaliastudios/cameraview/engine/d;)V

    const/4 v2, 0x0

    aput-object v1, v0, v2

    new-instance v1, Lcom/otaliastudios/cameraview/engine/meter/h;

    invoke-direct {v1}, Lcom/otaliastudios/cameraview/engine/meter/h;-><init>()V

    const/4 v2, 0x1

    aput-object v1, v0, v2

    .line 3
    new-instance v1, Lcom/otaliastudios/cameraview/engine/action/h;

    invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    invoke-direct {v1, v0}, Lcom/otaliastudios/cameraview/engine/action/h;-><init>(Ljava/util/List;)V

    .line 4
    invoke-virtual {v1, p0}, Lcom/otaliastudios/cameraview/engine/action/e;->m(Lcom/otaliastudios/cameraview/engine/action/c;)V

    return-void
.end method


# virtual methods
.method public final A(Lcom/otaliastudios/cameraview/controls/g;)V
    .registers 6

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->r:Lcom/otaliastudios/cameraview/controls/g;

    .line 2
    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/o;->r:Lcom/otaliastudios/cameraview/controls/g;

    .line 3
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 4
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "hdr ("

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string p1, ")"

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    sget-object v2, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->ENGINE:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v3, Lcom/otaliastudios/cameraview/engine/d$e;

    invoke-direct {v3, p0, v0}, Lcom/otaliastudios/cameraview/engine/d$e;-><init>(Lcom/otaliastudios/cameraview/engine/d;Lcom/otaliastudios/cameraview/controls/g;)V

    invoke-virtual {v1, p1, v2, v3}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final B(Landroid/location/Location;)V
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->t:Landroid/location/Location;

    .line 2
    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/o;->t:Landroid/location/Location;

    .line 3
    iget-object p1, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 4
    sget-object v1, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->ENGINE:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v2, Lcom/otaliastudios/cameraview/engine/d$c;

    invoke-direct {v2, p0, v0}, Lcom/otaliastudios/cameraview/engine/d$c;-><init>(Lcom/otaliastudios/cameraview/engine/d;Landroid/location/Location;)V

    const-string v0, "location"

    invoke-virtual {p1, v0, v1, v2}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final C(Lcom/otaliastudios/cameraview/controls/i;)V
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->s:Lcom/otaliastudios/cameraview/controls/i;

    if-eq p1, v0, :cond_28

    .line 2
    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/o;->s:Lcom/otaliastudios/cameraview/controls/i;

    .line 3
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 4
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "picture format ("

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string p1, ")"

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    sget-object v1, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->ENGINE:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v2, Lcom/otaliastudios/cameraview/engine/d$j;

    invoke-direct {v2, p0}, Lcom/otaliastudios/cameraview/engine/d$j;-><init>(Lcom/otaliastudios/cameraview/engine/d;)V

    invoke-virtual {v0, p1, v1, v2}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    :cond_28
    return-void
.end method

.method public final D(Z)V
    .registers 2

    .line 1
    iput-boolean p1, p0, Lcom/otaliastudios/cameraview/engine/o;->x:Z

    const/4 p1, 0x0

    .line 2
    invoke-static {p1}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final E(F)V
    .registers 6

    .line 1
    iget v0, p0, Lcom/otaliastudios/cameraview/engine/o;->A:F

    .line 2
    iput p1, p0, Lcom/otaliastudios/cameraview/engine/o;->A:F

    .line 3
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 4
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "preview fps ("

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    const-string p1, ")"

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    sget-object v2, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->ENGINE:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v3, Lcom/otaliastudios/cameraview/engine/d$h;

    invoke-direct {v3, p0, v0}, Lcom/otaliastudios/cameraview/engine/d$h;-><init>(Lcom/otaliastudios/cameraview/engine/d;F)V

    invoke-virtual {v1, p1, v2, v3}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final F(Lcom/otaliastudios/cameraview/controls/l;)V
    .registers 6

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->p:Lcom/otaliastudios/cameraview/controls/l;

    .line 2
    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/o;->p:Lcom/otaliastudios/cameraview/controls/l;

    .line 3
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 4
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "white balance ("

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string p1, ")"

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    sget-object v2, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->ENGINE:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v3, Lcom/otaliastudios/cameraview/engine/d$d;

    invoke-direct {v3, p0, v0}, Lcom/otaliastudios/cameraview/engine/d$d;-><init>(Lcom/otaliastudios/cameraview/engine/d;Lcom/otaliastudios/cameraview/controls/l;)V

    invoke-virtual {v1, p1, v2, v3}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final G(F[Landroid/graphics/PointF;Z)V
    .registers 14

    .line 1
    iget v2, p0, Lcom/otaliastudios/cameraview/engine/o;->u:F

    .line 2
    iput p1, p0, Lcom/otaliastudios/cameraview/engine/o;->u:F

    .line 3
    iget-object v6, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 4
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "zoom ("

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    const-string v1, ")"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v7

    sget-object v8, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->ENGINE:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v9, Lcom/otaliastudios/cameraview/engine/d$f;

    move-object v0, v9

    move-object v1, p0

    move v3, p3

    move v4, p1

    move-object v5, p2

    invoke-direct/range {v0 .. v5}, Lcom/otaliastudios/cameraview/engine/d$f;-><init>(Lcom/otaliastudios/cameraview/engine/d;FZF[Landroid/graphics/PointF;)V

    invoke-virtual {v6, v7, v8, v9}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final H(F)V
    .registers 2

    return-void
.end method

.method public final J(Lcom/otaliastudios/cameraview/gesture/a;Lcom/otaliastudios/cameraview/metering/b;Landroid/graphics/PointF;)V
    .registers 8

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 2
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "autofocus ("

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v2, ")"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    sget-object v2, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->PREVIEW:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v3, Lcom/otaliastudios/cameraview/engine/d$m;

    invoke-direct {v3, p0, p1, p3, p2}, Lcom/otaliastudios/cameraview/engine/d$m;-><init>(Lcom/otaliastudios/cameraview/engine/d;Lcom/otaliastudios/cameraview/gesture/a;Landroid/graphics/PointF;Lcom/otaliastudios/cameraview/metering/b;)V

    invoke-virtual {v0, v1, v2, v3}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final T()Ljava/util/List;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "Lcom/otaliastudios/cameraview/size/b;",
            ">;"
        }
    .end annotation

    .line 1
    :try_start_0
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->c0:Landroid/hardware/camera2/CameraManager;

    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->d0:Ljava/lang/String;

    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;

    move-result-object v0

    .line 2
    sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_STREAM_CONFIGURATION_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key;

    .line 3
    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/hardware/camera2/params/StreamConfigurationMap;

    if-eqz v0, :cond_42

    .line 4
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/o;->f:Lcom/otaliastudios/cameraview/preview/a;

    invoke-virtual {v1}, Lcom/otaliastudios/cameraview/preview/a;->f()Ljava/lang/Class;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(Ljava/lang/Class;)[Landroid/util/Size;

    move-result-object v0

    .line 5
    new-instance v1, Ljava/util/ArrayList;

    array-length v2, v0

    invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V

    .line 6
    array-length v2, v0

    const/4 v3, 0x0

    :goto_24
    if-ge v3, v2, :cond_41

    aget-object v4, v0, v3

    .line 7
    new-instance v5, Lcom/otaliastudios/cameraview/size/b;

    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/otaliastudios/cameraview/size/b;-><init>(II)V

    .line 8
    invoke-virtual {v1, v5}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v4

    if-nez v4, :cond_3e

    invoke-virtual {v1, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    :cond_3e
    add-int/lit8 v3, v3, 0x1

    goto :goto_24

    :cond_41
    return-object v1

    .line 9
    :cond_42
    new-instance v0, Ljava/lang/RuntimeException;

    const-string v1, "StreamConfigurationMap is null. Should not happen."

    invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw v0
    :try_end_4a
    .catch Landroid/hardware/camera2/CameraAccessException; {:try_start_0 .. :try_end_4a} :catch_4a

    :catch_4a
    move-exception v0

    .line 10
    invoke-virtual {p0, v0}, Lcom/otaliastudios/cameraview/engine/d;->o0(Landroid/hardware/camera2/CameraAccessException;)Lcom/otaliastudios/cameraview/a;

    move-result-object v0

    throw v0
.end method

.method public final V(I)Lcom/otaliastudios/cameraview/frame/c;
    .registers 3

    new-instance v0, Lcom/otaliastudios/cameraview/frame/e;

    invoke-direct {v0, p1}, Lcom/otaliastudios/cameraview/frame/e;-><init>(I)V

    return-object v0
.end method

.method public final X()V
    .registers 5

    .line 1
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v1, 0x2

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    const-string v3, "onPreviewStreamSizeChanged:"

    aput-object v3, v1, v2

    const/4 v2, 0x1

    const-string v3, "Calling restartBind()."

    aput-object v3, v1, v2

    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 2
    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/engine/p;->v()Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final Y(Lcom/otaliastudios/cameraview/o$a;Z)V
    .registers 8

    const/4 v0, 0x1

    const-string v1, "onTakePicture:"

    const/4 v2, 0x0

    const/4 v3, 0x2

    if-eqz p2, :cond_2c

    .line 1
    sget-object p2, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v3, v3, [Ljava/lang/Object;

    aput-object v1, v3, v2

    const-string v1, "doMetering is true. Delaying."

    aput-object v1, v3, v0

    invoke-virtual {p2, v3}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    const-wide/16 v0, 0x9c4

    const/4 p2, 0x0

    .line 2
    invoke-virtual {p0, p2}, Lcom/otaliastudios/cameraview/engine/d;->p0(Lcom/otaliastudios/cameraview/metering/b;)Lcom/otaliastudios/cameraview/engine/meter/g;

    move-result-object p2

    .line 3
    new-instance v2, Lcom/otaliastudios/cameraview/engine/action/i;

    invoke-direct {v2, v0, v1, p2}, Lcom/otaliastudios/cameraview/engine/action/i;-><init>(JLcom/otaliastudios/cameraview/engine/action/e;)V

    .line 4
    new-instance p2, Lcom/otaliastudios/cameraview/engine/d$t;

    invoke-direct {p2, p0, p1}, Lcom/otaliastudios/cameraview/engine/d$t;-><init>(Lcom/otaliastudios/cameraview/engine/d;Lcom/otaliastudios/cameraview/o$a;)V

    invoke-virtual {v2, p2}, Lcom/otaliastudios/cameraview/engine/action/e;->f(Lcom/otaliastudios/cameraview/engine/action/b;)V

    .line 5
    invoke-virtual {v2, p0}, Lcom/otaliastudios/cameraview/engine/action/e;->m(Lcom/otaliastudios/cameraview/engine/action/c;)V

    goto :goto_64

    .line 6
    :cond_2c
    sget-object p2, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v4, v3, [Ljava/lang/Object;

    aput-object v1, v4, v2

    const-string v1, "doMetering is false. Performing."

    aput-object v1, v4, v0

    invoke-virtual {p2, v4}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 7
    iget-object p2, p0, Lcom/otaliastudios/cameraview/engine/o;->L:Lcom/otaliastudios/cameraview/engine/offset/a;

    .line 8
    sget-object v0, Lcom/otaliastudios/cameraview/engine/offset/c;->SENSOR:Lcom/otaliastudios/cameraview/engine/offset/c;

    sget-object v1, Lcom/otaliastudios/cameraview/engine/offset/c;->OUTPUT:Lcom/otaliastudios/cameraview/engine/offset/c;

    sget-object v2, Lcom/otaliastudios/cameraview/engine/offset/b;->RELATIVE_TO_SENSOR:Lcom/otaliastudios/cameraview/engine/offset/b;

    invoke-virtual {p2, v0, v1, v2}, Lcom/otaliastudios/cameraview/engine/offset/a;->c(Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/b;)I

    move-result p2

    iput p2, p1, Lcom/otaliastudios/cameraview/o$a;->b:I

    .line 9
    invoke-virtual {p0, v1}, Lcom/otaliastudios/cameraview/engine/o;->S(Lcom/otaliastudios/cameraview/engine/offset/c;)Lcom/otaliastudios/cameraview/size/b;

    move-result-object p2

    iput-object p2, p1, Lcom/otaliastudios/cameraview/o$a;->c:Lcom/otaliastudios/cameraview/size/b;

    .line 10
    :try_start_4d
    iget-object p2, p0, Lcom/otaliastudios/cameraview/engine/d;->e0:Landroid/hardware/camera2/CameraDevice;

    .line 11
    invoke-virtual {p2, v3}, Landroid/hardware/camera2/CameraDevice;->createCaptureRequest(I)Landroid/hardware/camera2/CaptureRequest$Builder;

    move-result-object p2

    .line 12
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    invoke-virtual {p0, p2, v0}, Lcom/otaliastudios/cameraview/engine/d;->e0(Landroid/hardware/camera2/CaptureRequest$Builder;Landroid/hardware/camera2/CaptureRequest$Builder;)V

    .line 13
    new-instance v0, Lcom/otaliastudios/cameraview/picture/b;

    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->o0:Landroid/media/ImageReader;

    invoke-direct {v0, p1, p0, p2, v1}, Lcom/otaliastudios/cameraview/picture/b;-><init>(Lcom/otaliastudios/cameraview/o$a;Lcom/otaliastudios/cameraview/engine/d;Landroid/hardware/camera2/CaptureRequest$Builder;Landroid/media/ImageReader;)V

    iput-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->h:Lcom/otaliastudios/cameraview/picture/c;

    .line 14
    invoke-virtual {v0}, Lcom/otaliastudios/cameraview/picture/b;->e()V
    :try_end_64
    .catch Landroid/hardware/camera2/CameraAccessException; {:try_start_4d .. :try_end_64} :catch_65

    :goto_64
    return-void

    :catch_65
    move-exception p1

    .line 15
    invoke-virtual {p0, p1}, Lcom/otaliastudios/cameraview/engine/d;->o0(Landroid/hardware/camera2/CameraAccessException;)Lcom/otaliastudios/cameraview/a;

    move-result-object p1

    throw p1
.end method

.method public final Z(Lcom/otaliastudios/cameraview/p$a;)V
    .registers 11

    .line 1
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    const-string v4, "onTakeVideo"

    aput-object v4, v2, v3

    const/4 v5, 0x1

    const-string v6, "called."

    aput-object v6, v2, v5

    invoke-virtual {v0, v2}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 2
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/o;->L:Lcom/otaliastudios/cameraview/engine/offset/a;

    .line 3
    sget-object v6, Lcom/otaliastudios/cameraview/engine/offset/c;->SENSOR:Lcom/otaliastudios/cameraview/engine/offset/c;

    sget-object v7, Lcom/otaliastudios/cameraview/engine/offset/c;->OUTPUT:Lcom/otaliastudios/cameraview/engine/offset/c;

    sget-object v8, Lcom/otaliastudios/cameraview/engine/offset/b;->RELATIVE_TO_SENSOR:Lcom/otaliastudios/cameraview/engine/offset/b;

    invoke-virtual {v2, v6, v7, v8}, Lcom/otaliastudios/cameraview/engine/offset/a;->c(Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/b;)I

    move-result v2

    iput v2, p1, Lcom/otaliastudios/cameraview/p$a;->b:I

    .line 4
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/o;->L:Lcom/otaliastudios/cameraview/engine/offset/a;

    .line 5
    invoke-virtual {v2, v6, v7}, Lcom/otaliastudios/cameraview/engine/offset/a;->b(Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/c;)Z

    move-result v2

    if-eqz v2, :cond_2f

    .line 6
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/o;->j:Lcom/otaliastudios/cameraview/size/b;

    invoke-virtual {v2}, Lcom/otaliastudios/cameraview/size/b;->b()Lcom/otaliastudios/cameraview/size/b;

    move-result-object v2

    goto :goto_31

    :cond_2f
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/o;->j:Lcom/otaliastudios/cameraview/size/b;

    :goto_31
    iput-object v2, p1, Lcom/otaliastudios/cameraview/p$a;->c:Lcom/otaliastudios/cameraview/size/b;

    new-array v1, v1, [Ljava/lang/Object;

    aput-object v4, v1, v3

    const-string v2, "calling restartBind."

    aput-object v2, v1, v5

    .line 7
    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    .line 8
    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/d;->n0:Lcom/otaliastudios/cameraview/p$a;

    .line 9
    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/engine/p;->v()Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final a()V
    .registers 6

    .line 1
    invoke-super {p0}, Lcom/otaliastudios/cameraview/engine/o;->a()V

    .line 2
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->i:Lcom/otaliastudios/cameraview/video/c;

    instance-of v0, v0, Lcom/otaliastudios/cameraview/video/b;

    const/4 v1, 0x0

    const/4 v2, 0x1

    const/4 v3, 0x2

    if-eqz v0, :cond_21

    sget-object v0, Landroid/hardware/camera2/CameraCharacteristics;->INFO_SUPPORTED_HARDWARE_LEVEL:Landroid/hardware/camera2/CameraCharacteristics$Key;

    const/4 v4, -0x1

    .line 3
    invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    invoke-virtual {p0, v0, v4}, Lcom/otaliastudios/cameraview/engine/d;->t0(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)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-ne v0, v3, :cond_21

    const/4 v0, 0x1

    goto :goto_22

    :cond_21
    const/4 v0, 0x0

    :goto_22
    if-eqz v0, :cond_51

    .line 4
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v3, v3, [Ljava/lang/Object;

    const-string v4, "Applying the Issue549 workaround."

    aput-object v4, v3, v1

    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object v4

    aput-object v4, v3, v2

    invoke-virtual {v0, v3}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    .line 5
    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/engine/d;->s0()V

    new-array v3, v2, [Ljava/lang/Object;

    const-string v4, "Applied the Issue549 workaround. Sleeping..."

    aput-object v4, v3, v1

    .line 6
    invoke-virtual {v0, v3}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    const-wide/16 v3, 0x258

    .line 7
    :try_start_43
    invoke-static {v3, v4}, Ljava/lang/Thread;->sleep(J)V
    :try_end_46
    .catch Ljava/lang/InterruptedException; {:try_start_43 .. :try_end_46} :catch_46

    .line 8
    :catch_46
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v2, v2, [Ljava/lang/Object;

    const-string v3, "Applied the Issue549 workaround. Slept!"

    aput-object v3, v2, v1

    invoke-virtual {v0, v2}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    :cond_51
    return-void
.end method

.method public final b(Lcom/otaliastudios/cameraview/o$a;Ljava/lang/Exception;)V
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->h:Lcom/otaliastudios/cameraview/picture/c;

    instance-of v0, v0, Lcom/otaliastudios/cameraview/picture/b;

    .line 2
    invoke-super {p0, p1, p2}, Lcom/otaliastudios/cameraview/engine/o;->b(Lcom/otaliastudios/cameraview/o$a;Ljava/lang/Exception;)V

    if-eqz v0, :cond_d

    .line 3
    iget-boolean p1, p0, Lcom/otaliastudios/cameraview/engine/o;->y:Z

    if-nez p1, :cond_13

    :cond_d
    if-nez v0, :cond_15

    .line 4
    iget-boolean p1, p0, Lcom/otaliastudios/cameraview/engine/o;->z:Z

    if-eqz p1, :cond_15

    :cond_13
    const/4 p1, 0x1

    goto :goto_16

    :cond_15
    const/4 p1, 0x0

    :goto_16
    if-eqz p1, :cond_26

    .line 5
    iget-object p1, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 6
    sget-object p2, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->PREVIEW:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v0, Lcom/otaliastudios/cameraview/engine/d$u;

    invoke-direct {v0, p0}, Lcom/otaliastudios/cameraview/engine/d$u;-><init>(Lcom/otaliastudios/cameraview/engine/d;)V

    const-string v1, "reset metering after picture"

    invoke-virtual {p1, v1, p2, v0}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    :cond_26
    return-void
.end method

.method public final c(Lcom/otaliastudios/cameraview/p$a;Ljava/lang/Exception;)V
    .registers 5

    .line 1
    invoke-super {p0, p1, p2}, Lcom/otaliastudios/cameraview/engine/o;->c(Lcom/otaliastudios/cameraview/p$a;Ljava/lang/Exception;)V

    .line 2
    iget-object p1, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 3
    sget-object p2, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->BIND:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v0, Lcom/otaliastudios/cameraview/engine/d$a;

    invoke-direct {v0, p0}, Lcom/otaliastudios/cameraview/engine/d$a;-><init>(Lcom/otaliastudios/cameraview/engine/d;)V

    const-string v1, "restore preview template"

    invoke-virtual {p1, v1, p2, v0}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final varargs d0([Landroid/view/Surface;)V
    .registers 6

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->m0:Landroid/view/Surface;

    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->addTarget(Landroid/view/Surface;)V

    .line 2
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->l0:Landroid/view/Surface;

    if-eqz v0, :cond_10

    .line 3
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    invoke-virtual {v1, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->addTarget(Landroid/view/Surface;)V

    .line 4
    :cond_10
    array-length v0, p1

    const/4 v1, 0x0

    :goto_12
    if-ge v1, v0, :cond_28

    aget-object v2, p1, v1

    if-eqz v2, :cond_20

    .line 5
    iget-object v3, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    invoke-virtual {v3, v2}, Landroid/hardware/camera2/CaptureRequest$Builder;->addTarget(Landroid/view/Surface;)V

    add-int/lit8 v1, v1, 0x1

    goto :goto_12

    .line 6
    :cond_20
    new-instance p1, Ljava/lang/IllegalArgumentException;

    const-string v0, "Should not add a null surface."

    invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw p1

    :cond_28
    return-void
.end method

.method public final e(Lcom/otaliastudios/cameraview/controls/d;)Z
    .registers 12

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->j0:Lcom/otaliastudios/cameraview/engine/mappers/b;

    invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 2
    sget-object v0, Lcom/otaliastudios/cameraview/engine/mappers/b;->b:Ljava/util/HashMap;

    invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Integer;

    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I

    move-result v0

    .line 3
    :try_start_11
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->c0:Landroid/hardware/camera2/CameraManager;

    invoke-virtual {v1}, Landroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String;

    move-result-object v1
    :try_end_17
    .catch Landroid/hardware/camera2/CameraAccessException; {:try_start_11 .. :try_end_17} :catch_85

    .line 4
    sget-object v2, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v3, 0x7

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    const-string v5, "collectCameraInfo"

    aput-object v5, v3, v4

    const/4 v5, 0x1

    const-string v6, "Facing:"

    aput-object v6, v3, v5

    const/4 v6, 0x2

    aput-object p1, v3, v6

    const/4 v6, 0x3

    const-string v7, "Internal:"

    aput-object v7, v3, v6

    const/4 v6, 0x4

    .line 5
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v7

    aput-object v7, v3, v6

    const/4 v6, 0x5

    const-string v7, "Cameras:"

    aput-object v7, v3, v6

    const/4 v6, 0x6

    array-length v7, v1

    .line 6
    invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v7

    aput-object v7, v3, v6

    .line 7
    invoke-virtual {v2, v3}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 8
    array-length v2, v1

    const/4 v3, 0x0

    :goto_47
    if-ge v3, v2, :cond_84

    aget-object v6, v1, v3

    .line 9
    :try_start_4b
    iget-object v7, p0, Lcom/otaliastudios/cameraview/engine/d;->c0:Landroid/hardware/camera2/CameraManager;

    invoke-virtual {v7, v6}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;

    move-result-object v7

    .line 10
    sget-object v8, Landroid/hardware/camera2/CameraCharacteristics;->LENS_FACING:Landroid/hardware/camera2/CameraCharacteristics$Key;

    const/16 v9, -0x63

    .line 11
    invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v9

    .line 12
    invoke-virtual {p0, v7, v8, v9}, Lcom/otaliastudios/cameraview/engine/d;->u0(Landroid/hardware/camera2/CameraCharacteristics;Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v8

    check-cast v8, Ljava/lang/Integer;

    invoke-virtual {v8}, Ljava/lang/Integer;->intValue()I

    move-result v8

    if-ne v0, v8, :cond_81

    .line 13
    iput-object v6, p0, Lcom/otaliastudios/cameraview/engine/d;->d0:Ljava/lang/String;

    .line 14
    sget-object v6, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_ORIENTATION:Landroid/hardware/camera2/CameraCharacteristics$Key;

    .line 15
    invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v8

    .line 16
    invoke-virtual {v7, v6}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;

    move-result-object v6

    if-nez v6, :cond_74

    goto :goto_75

    :cond_74
    move-object v8, v6

    .line 17
    :goto_75
    check-cast v8, Ljava/lang/Integer;

    invoke-virtual {v8}, Ljava/lang/Integer;->intValue()I

    move-result v6

    .line 18
    iget-object v7, p0, Lcom/otaliastudios/cameraview/engine/o;->L:Lcom/otaliastudios/cameraview/engine/offset/a;

    .line 19
    invoke-virtual {v7, p1, v6}, Lcom/otaliastudios/cameraview/engine/offset/a;->g(Lcom/otaliastudios/cameraview/controls/d;I)V
    :try_end_80
    .catch Landroid/hardware/camera2/CameraAccessException; {:try_start_4b .. :try_end_80} :catch_81

    return v5

    :catch_81
    :cond_81
    add-int/lit8 v3, v3, 0x1

    goto :goto_47

    :cond_84
    return v4

    :catch_85
    move-exception p1

    .line 20
    invoke-virtual {p0, p1}, Lcom/otaliastudios/cameraview/engine/d;->o0(Landroid/hardware/camera2/CameraAccessException;)Lcom/otaliastudios/cameraview/a;

    move-result-object p1

    throw p1
.end method

.method public final e0(Landroid/hardware/camera2/CaptureRequest$Builder;Landroid/hardware/camera2/CaptureRequest$Builder;)V
    .registers 8

    .line 1
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v1, 0x3

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    const-string v3, "applyAllParameters:"

    aput-object v3, v1, v2

    const-string v2, "called for tag"

    const/4 v3, 0x1

    aput-object v2, v1, v3

    invoke-virtual {p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;

    move-result-object v2

    invoke-virtual {v2}, Landroid/hardware/camera2/CaptureRequest;->getTag()Ljava/lang/Object;

    move-result-object v2

    const/4 v4, 0x2

    aput-object v2, v1, v4

    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 2
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->CONTROL_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-static {v3}, 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 3
    invoke-virtual {p0, p1}, Lcom/otaliastudios/cameraview/engine/d;->f0(Landroid/hardware/camera2/CaptureRequest$Builder;)V

    .line 4
    sget-object v0, Lcom/otaliastudios/cameraview/controls/e;->OFF:Lcom/otaliastudios/cameraview/controls/e;

    invoke-virtual {p0, p1, v0}, Lcom/otaliastudios/cameraview/engine/d;->h0(Landroid/hardware/camera2/CaptureRequest$Builder;Lcom/otaliastudios/cameraview/controls/e;)Z

    .line 5
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->t:Landroid/location/Location;

    if-eqz v0, :cond_37

    .line 6
    sget-object v1, Landroid/hardware/camera2/CaptureRequest;->JPEG_GPS_LOCATION:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-virtual {p1, v1, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    .line 7
    :cond_37
    sget-object v0, Lcom/otaliastudios/cameraview/controls/l;->AUTO:Lcom/otaliastudios/cameraview/controls/l;

    invoke-virtual {p0, p1, v0}, Lcom/otaliastudios/cameraview/engine/d;->m0(Landroid/hardware/camera2/CaptureRequest$Builder;Lcom/otaliastudios/cameraview/controls/l;)Z

    .line 8
    sget-object v0, Lcom/otaliastudios/cameraview/controls/g;->OFF:Lcom/otaliastudios/cameraview/controls/g;

    invoke-virtual {p0, p1, v0}, Lcom/otaliastudios/cameraview/engine/d;->i0(Landroid/hardware/camera2/CaptureRequest$Builder;Lcom/otaliastudios/cameraview/controls/g;)Z

    const/4 v0, 0x0

    .line 9
    invoke-virtual {p0, p1, v0}, Lcom/otaliastudios/cameraview/engine/d;->n0(Landroid/hardware/camera2/CaptureRequest$Builder;F)Z

    .line 10
    invoke-virtual {p0, p1, v0}, Lcom/otaliastudios/cameraview/engine/d;->g0(Landroid/hardware/camera2/CaptureRequest$Builder;F)Z

    .line 11
    invoke-virtual {p0, p1, v0}, Lcom/otaliastudios/cameraview/engine/d;->j0(Landroid/hardware/camera2/CaptureRequest$Builder;F)Z

    if-eqz p2, :cond_71

    .line 12
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_REGIONS:Landroid/hardware/camera2/CaptureRequest$Key;

    .line 13
    invoke-virtual {p2, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;

    move-result-object v1

    .line 14
    invoke-virtual {p1, v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    .line 15
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_REGIONS:Landroid/hardware/camera2/CaptureRequest$Key;

    .line 16
    invoke-virtual {p2, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;

    move-result-object v1

    .line 17
    invoke-virtual {p1, v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    .line 18
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AWB_REGIONS:Landroid/hardware/camera2/CaptureRequest$Key;

    .line 19
    invoke-virtual {p2, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;

    move-result-object v1

    .line 20
    invoke-virtual {p1, v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    .line 21
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    .line 22
    invoke-virtual {p2, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;

    move-result-object p2

    .line 23
    invoke-virtual {p1, v0, p2}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    :cond_71
    return-void
.end method

.method public final f0(Landroid/hardware/camera2/CaptureRequest$Builder;)V
    .registers 8

    .line 1
    sget-object v0, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AF_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key;

    const/4 v1, 0x0

    .line 2
    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    new-array v3, v1, [I

    .line 3
    invoke-virtual {p0, v0, v3}, Lcom/otaliastudios/cameraview/engine/d;->t0(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [I

    .line 4
    new-instance v3, Ljava/util/ArrayList;

    invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V

    .line 5
    array-length v4, v0

    :goto_15
    if-ge v1, v4, :cond_23

    aget v5, v0, v1

    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    invoke-virtual {v3, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    add-int/lit8 v1, v1, 0x1

    goto :goto_15

    .line 6
    :cond_23
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->Q:Lcom/otaliastudios/cameraview/controls/h;

    .line 7
    sget-object v1, Lcom/otaliastudios/cameraview/controls/h;->VIDEO:Lcom/otaliastudios/cameraview/controls/h;

    if-ne v0, v1, :cond_3e

    const/4 v0, 0x3

    .line 8
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v3, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_3e

    .line 9
    sget-object v1, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    .line 10
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    .line 11
    invoke-virtual {p1, v1, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    return-void

    :cond_3e
    const/4 v0, 0x4

    .line 12
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v3, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_53

    .line 13
    sget-object v1, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    .line 14
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    .line 15
    invoke-virtual {p1, v1, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    return-void

    :cond_53
    const/4 v0, 0x1

    .line 16
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v3, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_68

    .line 17
    sget-object v1, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-virtual {p1, v1, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    return-void

    .line 18
    :cond_68
    invoke-virtual {v3, v2}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_7d

    .line 19
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-virtual {p1, v0, v2}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    .line 20
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->LENS_FOCUS_DISTANCE:Landroid/hardware/camera2/CaptureRequest$Key;

    const/4 v1, 0x0

    invoke-static {v1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v1

    invoke-virtual {p1, v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    :cond_7d
    return-void
.end method

.method public final g0(Landroid/hardware/camera2/CaptureRequest$Builder;F)Z
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->g:Lcom/otaliastudios/cameraview/d;

    .line 2
    iget-boolean v0, v0, Lcom/otaliastudios/cameraview/d;->l:Z

    if-eqz v0, :cond_2a

    .line 3
    sget-object p2, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_COMPENSATION_STEP:Landroid/hardware/camera2/CameraCharacteristics$Key;

    new-instance v0, Landroid/util/Rational;

    const/4 v1, 0x1

    invoke-direct {v0, v1, v1}, Landroid/util/Rational;-><init>(II)V

    invoke-virtual {p0, p2, v0}, Lcom/otaliastudios/cameraview/engine/d;->t0(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Landroid/util/Rational;

    .line 4
    iget v0, p0, Lcom/otaliastudios/cameraview/engine/o;->w:F

    .line 5
    invoke-virtual {p2}, Landroid/util/Rational;->floatValue()F

    move-result p2

    mul-float p2, p2, v0

    .line 6
    invoke-static {p2}, Ljava/lang/Math;->round(F)I

    move-result p2

    .line 7
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_EXPOSURE_COMPENSATION:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p2

    invoke-virtual {p1, v0, p2}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    return v1

    .line 8
    :cond_2a
    iput p2, p0, Lcom/otaliastudios/cameraview/engine/o;->w:F

    const/4 p1, 0x0

    return p1
.end method

.method public final h0(Landroid/hardware/camera2/CaptureRequest$Builder;Lcom/otaliastudios/cameraview/controls/e;)Z
    .registers 12

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->g:Lcom/otaliastudios/cameraview/d;

    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/o;->o:Lcom/otaliastudios/cameraview/controls/e;

    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/d;->a(Lcom/otaliastudios/cameraview/controls/b;)Z

    move-result v0

    const/4 v1, 0x0

    .line 2
    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    if-eqz v0, :cond_e9

    .line 3
    sget-object v0, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key;

    new-array v3, v1, [I

    invoke-virtual {p0, v0, v3}, Lcom/otaliastudios/cameraview/engine/d;->t0(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [I

    .line 4
    new-instance v3, Ljava/util/ArrayList;

    invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V

    .line 5
    array-length v4, v0

    const/4 v5, 0x0

    :goto_20
    if-ge v5, v4, :cond_2e

    aget v6, v0, v5

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    invoke-virtual {v3, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    add-int/lit8 v5, v5, 0x1

    goto :goto_20

    .line 6
    :cond_2e
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->j0:Lcom/otaliastudios/cameraview/engine/mappers/b;

    iget-object v4, p0, Lcom/otaliastudios/cameraview/engine/o;->o:Lcom/otaliastudios/cameraview/controls/e;

    invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 7
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    .line 8
    sget-object v5, Lcom/otaliastudios/cameraview/engine/mappers/b$a;->a:[I

    invoke-virtual {v4}, Ljava/lang/Enum;->ordinal()I

    move-result v4

    aget v4, v5, v4

    const/4 v5, 0x3

    const/4 v6, 0x2

    const/4 v7, 0x1

    if-eq v4, v7, :cond_9a

    const/4 v8, 0x4

    if-eq v4, v6, :cond_81

    if-eq v4, v5, :cond_6c

    if-eq v4, v8, :cond_4f

    goto :goto_a6

    .line 9
    :cond_4f
    new-instance v4, Landroid/util/Pair;

    .line 10
    invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    .line 11
    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v8

    invoke-direct {v4, v5, v8}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    .line 12
    invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 13
    new-instance v4, Landroid/util/Pair;

    .line 14
    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    invoke-direct {v4, v2, v5}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    .line 15
    invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_a6

    .line 16
    :cond_6c
    new-instance v4, Landroid/util/Pair;

    .line 17
    invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    .line 18
    invoke-direct {v4, v5, v2}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    .line 19
    invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 20
    new-instance v4, Landroid/util/Pair;

    .line 21
    invoke-direct {v4, v2, v2}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    .line 22
    invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_a6

    .line 23
    :cond_81
    new-instance v4, Landroid/util/Pair;

    .line 24
    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    .line 25
    invoke-direct {v4, v5, v2}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    .line 26
    invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 27
    new-instance v4, Landroid/util/Pair;

    .line 28
    invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    .line 29
    invoke-direct {v4, v5, v2}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    .line 30
    invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_a6

    .line 31
    :cond_9a
    new-instance v4, Landroid/util/Pair;

    .line 32
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    .line 33
    invoke-direct {v4, v5, v2}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    .line 34
    invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 35
    :goto_a6
    invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v0

    :cond_aa
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_e9

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Landroid/util/Pair;

    .line 36
    iget-object v4, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    invoke-virtual {v3, v4}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_aa

    .line 37
    sget-object p2, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v0, v6, [Ljava/lang/Object;

    const-string v3, "applyFlash: setting CONTROL_AE_MODE to"

    aput-object v3, v0, v1

    iget-object v3, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    aput-object v3, v0, v7

    invoke-virtual {p2, v0}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    new-array v0, v6, [Ljava/lang/Object;

    const-string v3, "applyFlash: setting FLASH_MODE to"

    aput-object v3, v0, v1

    .line 38
    iget-object v1, v2, Landroid/util/Pair;->second:Ljava/lang/Object;

    aput-object v1, v0, v7

    invoke-virtual {p2, v0}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 39
    sget-object p2, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    invoke-virtual {p1, p2, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    .line 40
    sget-object p2, Landroid/hardware/camera2/CaptureRequest;->FLASH_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    iget-object v0, v2, Landroid/util/Pair;->second:Ljava/lang/Object;

    invoke-virtual {p1, p2, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    return v7

    .line 41
    :cond_e9
    iput-object p2, p0, Lcom/otaliastudios/cameraview/engine/o;->o:Lcom/otaliastudios/cameraview/controls/e;

    return v1
.end method

.method public final i0(Landroid/hardware/camera2/CaptureRequest$Builder;Lcom/otaliastudios/cameraview/controls/g;)Z
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->g:Lcom/otaliastudios/cameraview/d;

    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/o;->r:Lcom/otaliastudios/cameraview/controls/g;

    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/d;->a(Lcom/otaliastudios/cameraview/controls/b;)Z

    move-result v0

    if-eqz v0, :cond_28

    .line 2
    iget-object p2, p0, Lcom/otaliastudios/cameraview/engine/d;->j0:Lcom/otaliastudios/cameraview/engine/mappers/b;

    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->r:Lcom/otaliastudios/cameraview/controls/g;

    invoke-static {p2}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 3
    sget-object p2, Lcom/otaliastudios/cameraview/engine/mappers/b;->d:Ljava/util/HashMap;

    invoke-virtual {p2, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Ljava/lang/Integer;

    invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I

    move-result p2

    .line 4
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->CONTROL_SCENE_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p2

    invoke-virtual {p1, v0, p2}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    const/4 p1, 0x1

    return p1

    .line 5
    :cond_28
    iput-object p2, p0, Lcom/otaliastudios/cameraview/engine/o;->r:Lcom/otaliastudios/cameraview/controls/g;

    const/4 p1, 0x0

    return p1
.end method

.method public final j0(Landroid/hardware/camera2/CaptureRequest$Builder;F)Z
    .registers 10

    const/4 v0, 0x0

    new-array v1, v0, [Landroid/util/Range;

    .line 1
    sget-object v2, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES:Landroid/hardware/camera2/CameraCharacteristics$Key;

    invoke-virtual {p0, v2, v1}, Lcom/otaliastudios/cameraview/engine/d;->t0(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, [Landroid/util/Range;

    .line 2
    iget-boolean v2, p0, Lcom/otaliastudios/cameraview/engine/o;->B:Z

    const/4 v3, 0x0

    if-eqz v2, :cond_1f

    .line 3
    iget v2, p0, Lcom/otaliastudios/cameraview/engine/o;->A:F

    cmpl-float v2, v2, v3

    if-eqz v2, :cond_1f

    .line 4
    new-instance v2, Lcom/otaliastudios/cameraview/engine/e;

    invoke-direct {v2}, Lcom/otaliastudios/cameraview/engine/e;-><init>()V

    invoke-static {v1, v2}, Ljava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V

    goto :goto_27

    .line 5
    :cond_1f
    new-instance v2, Lcom/otaliastudios/cameraview/engine/f;

    invoke-direct {v2}, Lcom/otaliastudios/cameraview/engine/f;-><init>()V

    invoke-static {v1, v2}, Ljava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V

    .line 6
    :goto_27
    iget v2, p0, Lcom/otaliastudios/cameraview/engine/o;->A:F

    const/4 v4, 0x1

    cmpl-float v3, v2, v3

    if-nez v3, :cond_56

    .line 7
    array-length v2, v1

    const/4 v3, 0x0

    :goto_30
    if-ge v3, v2, :cond_89

    aget-object v5, v1, v3

    const/16 v6, 0x1e

    .line 8
    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    invoke-virtual {v5, v6}, Landroid/util/Range;->contains(Ljava/lang/Comparable;)Z

    move-result v6

    if-nez v6, :cond_50

    const/16 v6, 0x18

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    invoke-virtual {v5, v6}, Landroid/util/Range;->contains(Ljava/lang/Comparable;)Z

    move-result v6

    if-eqz v6, :cond_4d

    goto :goto_50

    :cond_4d
    add-int/lit8 v3, v3, 0x1

    goto :goto_30

    .line 9
    :cond_50
    :goto_50
    sget-object p2, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_TARGET_FPS_RANGE:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-virtual {p1, p2, v5}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    return v4

    .line 10
    :cond_56
    iget-object v3, p0, Lcom/otaliastudios/cameraview/engine/o;->g:Lcom/otaliastudios/cameraview/d;

    .line 11
    iget v3, v3, Lcom/otaliastudios/cameraview/d;->q:F

    .line 12
    invoke-static {v2, v3}, Ljava/lang/Math;->min(FF)F

    move-result v2

    iput v2, p0, Lcom/otaliastudios/cameraview/engine/o;->A:F

    .line 13
    iget-object v3, p0, Lcom/otaliastudios/cameraview/engine/o;->g:Lcom/otaliastudios/cameraview/d;

    .line 14
    iget v3, v3, Lcom/otaliastudios/cameraview/d;->p:F

    .line 15
    invoke-static {v2, v3}, Ljava/lang/Math;->max(FF)F

    move-result v2

    iput v2, p0, Lcom/otaliastudios/cameraview/engine/o;->A:F

    .line 16
    array-length v2, v1

    const/4 v3, 0x0

    :goto_6c
    if-ge v3, v2, :cond_89

    aget-object v5, v1, v3

    .line 17
    iget v6, p0, Lcom/otaliastudios/cameraview/engine/o;->A:F

    invoke-static {v6}, Ljava/lang/Math;->round(F)I

    move-result v6

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    invoke-virtual {v5, v6}, Landroid/util/Range;->contains(Ljava/lang/Comparable;)Z

    move-result v6

    if-eqz v6, :cond_86

    .line 18
    sget-object p2, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_TARGET_FPS_RANGE:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-virtual {p1, p2, v5}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    return v4

    :cond_86
    add-int/lit8 v3, v3, 0x1

    goto :goto_6c

    .line 19
    :cond_89
    iput p2, p0, Lcom/otaliastudios/cameraview/engine/o;->A:F

    return v0
.end method

.method public final k()F
    .registers 2

    const/high16 v0, 0x3f800000    # 1.0f

    return v0
.end method

.method public final k0()V
    .registers 3

    const/4 v0, 0x1

    const/4 v1, 0x3

    invoke-virtual {p0, v0, v1}, Lcom/otaliastudios/cameraview/engine/d;->l0(ZI)V

    return-void
.end method

.method public final l0(ZI)V
    .registers 7

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 2
    iget-object v0, v0, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->f:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    .line 3
    sget-object v1, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->PREVIEW:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    if-ne v0, v1, :cond_e

    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/engine/p;->l()Z

    move-result v0

    if-eqz v0, :cond_10

    :cond_e
    if-nez p1, :cond_72

    .line 4
    :cond_10
    :try_start_10
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->g0:Landroid/hardware/camera2/CameraCaptureSession;

    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    invoke-virtual {v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;

    move-result-object v1

    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->r0:Lcom/otaliastudios/cameraview/engine/d$i;

    const/4 v3, 0x0

    invoke-virtual {v0, v1, v2, v3}, Landroid/hardware/camera2/CameraCaptureSession;->setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
    :try_end_1e
    .catch Landroid/hardware/camera2/CameraAccessException; {:try_start_10 .. :try_end_1e} :catch_6b
    .catch Ljava/lang/IllegalStateException; {:try_start_10 .. :try_end_1e} :catch_1f

    goto :goto_72

    :catch_1f
    move-exception p2

    .line 5
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/16 v1, 0xa

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    const-string v3, "applyRepeatingRequestBuilder: session is invalid!"

    aput-object v3, v1, v2

    const/4 v2, 0x1

    aput-object p2, v1, v2

    const/4 p2, 0x2

    const-string v2, "checkStarted:"

    aput-object v2, v1, p2

    .line 6
    invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    const/4 p2, 0x3

    aput-object p1, v1, p2

    const/4 p1, 0x4

    const-string v2, "currentThread:"

    aput-object v2, v1, p1

    const/4 p1, 0x5

    .line 7
    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Thread;->getName()Ljava/lang/String;

    move-result-object v2

    aput-object v2, v1, p1

    const/4 p1, 0x6

    const-string v2, "state:"

    aput-object v2, v1, p1

    const/4 p1, 0x7

    .line 8
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 9
    iget-object v3, v2, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->f:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    aput-object v3, v1, p1

    const/16 p1, 0x8

    const-string v3, "targetState:"

    aput-object v3, v1, p1

    const/16 p1, 0x9

    .line 10
    iget-object v2, v2, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->g:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    aput-object v2, v1, p1

    .line 11
    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/c;->a([Ljava/lang/Object;)Ljava/lang/String;

    .line 12
    new-instance p1, Lcom/otaliastudios/cameraview/a;

    invoke-direct {p1, p2}, Lcom/otaliastudios/cameraview/a;-><init>(I)V

    throw p1

    :catch_6b
    move-exception p1

    .line 13
    new-instance v0, Lcom/otaliastudios/cameraview/a;

    invoke-direct {v0, p1, p2}, Lcom/otaliastudios/cameraview/a;-><init>(Ljava/lang/Throwable;I)V

    throw v0

    :cond_72
    :goto_72
    return-void
.end method

.method public final m()Lcom/google/android/gms/tasks/Task;
    .registers 19
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Lcom/google/android/gms/tasks/Task<",
            "Ljava/lang/Void;",
            ">;"
        }
    .end annotation

    move-object/from16 v1, p0

    .line 1
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v2, 0x2

    new-array v3, v2, [Ljava/lang/Object;

    const/4 v4, 0x0

    const-string v5, "onStartBind:"

    aput-object v5, v3, v4

    const/4 v5, 0x1

    const-string v6, "Started"

    aput-object v6, v3, v5

    invoke-virtual {v0, v3}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 2
    new-instance v0, Lcom/google/android/gms/tasks/TaskCompletionSource;

    invoke-direct {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;-><init>()V

    .line 3
    iget-object v3, v1, Lcom/otaliastudios/cameraview/engine/o;->Q:Lcom/otaliastudios/cameraview/controls/h;

    invoke-virtual {v1, v3}, Lcom/otaliastudios/cameraview/engine/o;->P(Lcom/otaliastudios/cameraview/controls/h;)Lcom/otaliastudios/cameraview/size/b;

    move-result-object v3

    .line 4
    iput-object v3, v1, Lcom/otaliastudios/cameraview/engine/o;->j:Lcom/otaliastudios/cameraview/size/b;

    .line 5
    invoke-virtual/range {p0 .. p0}, Lcom/otaliastudios/cameraview/engine/o;->Q()Lcom/otaliastudios/cameraview/size/b;

    move-result-object v3

    iput-object v3, v1, Lcom/otaliastudios/cameraview/engine/o;->k:Lcom/otaliastudios/cameraview/size/b;

    .line 6
    new-instance v3, Ljava/util/ArrayList;

    invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V

    .line 7
    iget-object v6, v1, Lcom/otaliastudios/cameraview/engine/o;->f:Lcom/otaliastudios/cameraview/preview/a;

    invoke-virtual {v6}, Lcom/otaliastudios/cameraview/preview/a;->f()Ljava/lang/Class;

    move-result-object v6

    .line 8
    iget-object v7, v1, Lcom/otaliastudios/cameraview/engine/o;->f:Lcom/otaliastudios/cameraview/preview/a;

    invoke-virtual {v7}, Lcom/otaliastudios/cameraview/preview/a;->e()Ljava/lang/Object;

    move-result-object v7

    .line 9
    const-class v8, Landroid/view/SurfaceHolder;

    if-ne v6, v8, :cond_5a

    .line 10
    :try_start_3c
    new-instance v6, Lcom/otaliastudios/cameraview/engine/d$p;

    invoke-direct {v6, v1, v7}, Lcom/otaliastudios/cameraview/engine/d$p;-><init>(Lcom/otaliastudios/cameraview/engine/d;Ljava/lang/Object;)V

    invoke-static {v6}, Lcom/google/android/gms/tasks/Tasks;->call(Ljava/util/concurrent/Callable;)Lcom/google/android/gms/tasks/Task;

    move-result-object v6

    invoke-static {v6}, Lcom/google/android/gms/tasks/Tasks;->await(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object;
    :try_end_48
    .catch Ljava/util/concurrent/ExecutionException; {:try_start_3c .. :try_end_48} :catch_53
    .catch Ljava/lang/InterruptedException; {:try_start_3c .. :try_end_48} :catch_51

    .line 11
    check-cast v7, Landroid/view/SurfaceHolder;

    invoke-interface {v7}, Landroid/view/SurfaceHolder;->getSurface()Landroid/view/Surface;

    move-result-object v6

    iput-object v6, v1, Lcom/otaliastudios/cameraview/engine/d;->m0:Landroid/view/Surface;

    goto :goto_70

    :catch_51
    move-exception v0

    goto :goto_54

    :catch_53
    move-exception v0

    .line 12
    :goto_54
    new-instance v2, Lcom/otaliastudios/cameraview/a;

    invoke-direct {v2, v0, v5}, Lcom/otaliastudios/cameraview/a;-><init>(Ljava/lang/Throwable;I)V

    throw v2

    .line 13
    :cond_5a
    const-class v8, Landroid/graphics/SurfaceTexture;

    if-ne v6, v8, :cond_232

    .line 14
    check-cast v7, Landroid/graphics/SurfaceTexture;

    iget-object v6, v1, Lcom/otaliastudios/cameraview/engine/o;->k:Lcom/otaliastudios/cameraview/size/b;

    .line 15
    iget v8, v6, Lcom/otaliastudios/cameraview/size/b;->a:I

    .line 16
    iget v6, v6, Lcom/otaliastudios/cameraview/size/b;->b:I

    .line 17
    invoke-virtual {v7, v8, v6}, Landroid/graphics/SurfaceTexture;->setDefaultBufferSize(II)V

    .line 18
    new-instance v6, Landroid/view/Surface;

    invoke-direct {v6, v7}, Landroid/view/Surface;-><init>(Landroid/graphics/SurfaceTexture;)V

    iput-object v6, v1, Lcom/otaliastudios/cameraview/engine/d;->m0:Landroid/view/Surface;

    .line 19
    :goto_70
    iget-object v6, v1, Lcom/otaliastudios/cameraview/engine/d;->m0:Landroid/view/Surface;

    invoke-virtual {v3, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 20
    iget-object v6, v1, Lcom/otaliastudios/cameraview/engine/o;->Q:Lcom/otaliastudios/cameraview/controls/h;

    .line 21
    sget-object v7, Lcom/otaliastudios/cameraview/controls/h;->VIDEO:Lcom/otaliastudios/cameraview/controls/h;

    if-ne v6, v7, :cond_b1

    .line 22
    iget-object v6, v1, Lcom/otaliastudios/cameraview/engine/d;->n0:Lcom/otaliastudios/cameraview/p$a;

    if-eqz v6, :cond_b1

    .line 23
    new-instance v6, Lcom/otaliastudios/cameraview/video/b;

    iget-object v7, v1, Lcom/otaliastudios/cameraview/engine/d;->d0:Ljava/lang/String;

    invoke-direct {v6, v1, v7}, Lcom/otaliastudios/cameraview/video/b;-><init>(Lcom/otaliastudios/cameraview/engine/d;Ljava/lang/String;)V

    .line 24
    :try_start_86
    iget-object v7, v1, Lcom/otaliastudios/cameraview/engine/d;->n0:Lcom/otaliastudios/cameraview/p$a;

    .line 25
    iget-boolean v8, v6, Lcom/otaliastudios/cameraview/video/c;->i:Z

    if-eqz v8, :cond_8e

    const/4 v7, 0x1

    goto :goto_92

    .line 26
    :cond_8e
    invoke-virtual {v6, v7, v5}, Lcom/otaliastudios/cameraview/video/c;->i(Lcom/otaliastudios/cameraview/p$a;Z)Z

    move-result v7

    :goto_92
    if-eqz v7, :cond_a2

    .line 27
    iget-object v7, v6, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v7}, Landroid/media/MediaRecorder;->getSurface()Landroid/view/Surface;

    move-result-object v7

    iput-object v7, v6, Lcom/otaliastudios/cameraview/video/b;->m:Landroid/view/Surface;

    .line 28
    invoke-virtual {v3, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
    :try_end_9f
    .catch Lcom/otaliastudios/cameraview/video/b$c; {:try_start_86 .. :try_end_9f} :catch_aa

    .line 29
    iput-object v6, v1, Lcom/otaliastudios/cameraview/engine/o;->i:Lcom/otaliastudios/cameraview/video/c;

    goto :goto_b1

    .line 30
    :cond_a2
    :try_start_a2
    new-instance v0, Lcom/otaliastudios/cameraview/video/b$c;

    iget-object v2, v6, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    invoke-direct {v0, v2}, Lcom/otaliastudios/cameraview/video/b$c;-><init>(Ljava/lang/Throwable;)V

    throw v0
    :try_end_aa
    .catch Lcom/otaliastudios/cameraview/video/b$c; {:try_start_a2 .. :try_end_aa} :catch_aa

    :catch_aa
    move-exception v0

    .line 31
    new-instance v2, Lcom/otaliastudios/cameraview/a;

    invoke-direct {v2, v0, v5}, Lcom/otaliastudios/cameraview/a;-><init>(Ljava/lang/Throwable;I)V

    throw v2

    .line 32
    :cond_b1
    :goto_b1
    iget-object v6, v1, Lcom/otaliastudios/cameraview/engine/o;->Q:Lcom/otaliastudios/cameraview/controls/h;

    .line 33
    sget-object v7, Lcom/otaliastudios/cameraview/controls/h;->PICTURE:Lcom/otaliastudios/cameraview/controls/h;

    if-ne v6, v7, :cond_f2

    .line 34
    sget-object v6, Lcom/otaliastudios/cameraview/engine/d$n;->a:[I

    iget-object v7, v1, Lcom/otaliastudios/cameraview/engine/o;->s:Lcom/otaliastudios/cameraview/controls/i;

    invoke-virtual {v7}, Ljava/lang/Enum;->ordinal()I

    move-result v7

    aget v6, v6, v7

    if-eq v6, v5, :cond_dd

    if-ne v6, v2, :cond_c8

    const/16 v6, 0x20

    goto :goto_df

    .line 35
    :cond_c8
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v2, "Unknown format:"

    .line 36
    invoke-static {v2}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    .line 37
    iget-object v3, v1, Lcom/otaliastudios/cameraview/engine/o;->s:Lcom/otaliastudios/cameraview/controls/i;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_dd
    const/16 v6, 0x100

    .line 38
    :goto_df
    iget-object v7, v1, Lcom/otaliastudios/cameraview/engine/o;->j:Lcom/otaliastudios/cameraview/size/b;

    .line 39
    iget v8, v7, Lcom/otaliastudios/cameraview/size/b;->a:I

    .line 40
    iget v7, v7, Lcom/otaliastudios/cameraview/size/b;->b:I

    .line 41
    invoke-static {v8, v7, v6, v2}, Landroid/media/ImageReader;->newInstance(IIII)Landroid/media/ImageReader;

    move-result-object v6

    iput-object v6, v1, Lcom/otaliastudios/cameraview/engine/d;->o0:Landroid/media/ImageReader;

    .line 42
    invoke-virtual {v6}, Landroid/media/ImageReader;->getSurface()Landroid/view/Surface;

    move-result-object v6

    invoke-virtual {v3, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 43
    :cond_f2
    iget-boolean v6, v1, Lcom/otaliastudios/cameraview/engine/o;->n:Z

    if-eqz v6, :cond_216

    .line 44
    invoke-virtual/range {p0 .. p0}, Lcom/otaliastudios/cameraview/engine/d;->r0()Ljava/util/List;

    move-result-object v6

    .line 45
    iget-object v7, v1, Lcom/otaliastudios/cameraview/engine/o;->L:Lcom/otaliastudios/cameraview/engine/offset/a;

    .line 46
    sget-object v8, Lcom/otaliastudios/cameraview/engine/offset/c;->SENSOR:Lcom/otaliastudios/cameraview/engine/offset/c;

    sget-object v9, Lcom/otaliastudios/cameraview/engine/offset/c;->VIEW:Lcom/otaliastudios/cameraview/engine/offset/c;

    invoke-virtual {v7, v8, v9}, Lcom/otaliastudios/cameraview/engine/offset/a;->b(Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/c;)Z

    move-result v7

    .line 47
    new-instance v8, Ljava/util/ArrayList;

    check-cast v6, Ljava/util/ArrayList;

    invoke-virtual {v6}, Ljava/util/ArrayList;->size()I

    move-result v9

    invoke-direct {v8, v9}, Ljava/util/ArrayList;-><init>(I)V

    .line 48
    invoke-virtual {v6}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v6

    :goto_113
    invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z

    move-result v9

    if-eqz v9, :cond_129

    invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v9

    check-cast v9, Lcom/otaliastudios/cameraview/size/b;

    if-eqz v7, :cond_125

    .line 49
    invoke-virtual {v9}, Lcom/otaliastudios/cameraview/size/b;->b()Lcom/otaliastudios/cameraview/size/b;

    move-result-object v9

    :cond_125
    invoke-virtual {v8, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_113

    .line 50
    :cond_129
    iget-object v6, v1, Lcom/otaliastudios/cameraview/engine/o;->k:Lcom/otaliastudios/cameraview/size/b;

    .line 51
    iget v9, v6, Lcom/otaliastudios/cameraview/size/b;->a:I

    .line 52
    iget v6, v6, Lcom/otaliastudios/cameraview/size/b;->b:I

    .line 53
    invoke-static {v9, v6}, Lcom/otaliastudios/cameraview/size/a;->b(II)Lcom/otaliastudios/cameraview/size/a;

    move-result-object v6

    if-eqz v7, :cond_13d

    .line 54
    iget v9, v6, Lcom/otaliastudios/cameraview/size/a;->b:I

    iget v6, v6, Lcom/otaliastudios/cameraview/size/a;->a:I

    invoke-static {v9, v6}, Lcom/otaliastudios/cameraview/size/a;->b(II)Lcom/otaliastudios/cameraview/size/a;

    move-result-object v6

    .line 55
    :cond_13d
    iget v9, v1, Lcom/otaliastudios/cameraview/engine/o;->Z:I

    .line 56
    iget v10, v1, Lcom/otaliastudios/cameraview/engine/o;->a0:I

    const v11, 0x7fffffff

    if-lez v9, :cond_148

    if-ne v9, v11, :cond_14a

    :cond_148
    const/16 v9, 0x280

    :cond_14a
    if-lez v10, :cond_14e

    if-ne v10, v11, :cond_150

    :cond_14e
    const/16 v10, 0x280

    .line 57
    :cond_150
    new-instance v11, Lcom/otaliastudios/cameraview/size/b;

    invoke-direct {v11, v9, v10}, Lcom/otaliastudios/cameraview/size/b;-><init>(II)V

    .line 58
    sget-object v12, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v13, 0x5

    new-array v14, v13, [Ljava/lang/Object;

    const-string v15, "computeFrameProcessingSize:"

    aput-object v15, v14, v4

    const-string v16, "targetRatio:"

    aput-object v16, v14, v5

    aput-object v6, v14, v2

    const/4 v13, 0x3

    const-string v17, "targetMaxSize:"

    aput-object v17, v14, v13

    const/16 v17, 0x4

    aput-object v11, v14, v17

    invoke-virtual {v12, v14}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    const/4 v11, 0x0

    .line 59
    invoke-static {v6, v11}, Lcom/otaliastudios/cameraview/size/e;->b(Lcom/otaliastudios/cameraview/size/a;F)Lcom/otaliastudios/cameraview/size/c;

    move-result-object v6

    new-array v11, v13, [Lcom/otaliastudios/cameraview/size/c;

    .line 60
    invoke-static {v10}, Lcom/otaliastudios/cameraview/size/e;->c(I)Lcom/otaliastudios/cameraview/size/c;

    move-result-object v10

    aput-object v10, v11, v4

    .line 61
    invoke-static {v9}, Lcom/otaliastudios/cameraview/size/e;->d(I)Lcom/otaliastudios/cameraview/size/c;

    move-result-object v9

    aput-object v9, v11, v5

    .line 62
    new-instance v9, Lcom/otaliastudios/cameraview/size/f;

    invoke-direct {v9}, Lcom/otaliastudios/cameraview/size/f;-><init>()V

    aput-object v9, v11, v2

    .line 63
    new-instance v9, Lcom/otaliastudios/cameraview/size/e$f;

    invoke-direct {v9, v11}, Lcom/otaliastudios/cameraview/size/e$f;-><init>([Lcom/otaliastudios/cameraview/size/c;)V

    new-array v10, v13, [Lcom/otaliastudios/cameraview/size/c;

    new-array v11, v2, [Lcom/otaliastudios/cameraview/size/c;

    aput-object v6, v11, v4

    aput-object v9, v11, v5

    .line 64
    new-instance v6, Lcom/otaliastudios/cameraview/size/e$f;

    invoke-direct {v6, v11}, Lcom/otaliastudios/cameraview/size/e$f;-><init>([Lcom/otaliastudios/cameraview/size/c;)V

    aput-object v6, v10, v4

    aput-object v9, v10, v5

    .line 65
    new-instance v6, Lcom/otaliastudios/cameraview/size/g;

    invoke-direct {v6}, Lcom/otaliastudios/cameraview/size/g;-><init>()V

    aput-object v6, v10, v2

    .line 66
    array-length v6, v10

    const/4 v9, 0x0

    const/4 v11, 0x0

    :goto_1aa
    if-ge v9, v6, :cond_1bc

    aget-object v11, v10, v9

    .line 67
    invoke-interface {v11, v8}, Lcom/otaliastudios/cameraview/size/c;->a(Ljava/util/List;)Ljava/util/List;

    move-result-object v11

    .line 68
    invoke-interface {v11}, Ljava/util/List;->isEmpty()Z

    move-result v14

    if-nez v14, :cond_1b9

    goto :goto_1bc

    :cond_1b9
    add-int/lit8 v9, v9, 0x1

    goto :goto_1aa

    :cond_1bc
    :goto_1bc
    if-nez v11, :cond_1c3

    .line 69
    new-instance v11, Ljava/util/ArrayList;

    invoke-direct {v11}, Ljava/util/ArrayList;-><init>()V

    .line 70
    :cond_1c3
    invoke-interface {v11, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v6

    check-cast v6, Lcom/otaliastudios/cameraview/size/b;

    .line 71
    invoke-virtual {v8, v6}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v8

    if-eqz v8, :cond_20e

    if-eqz v7, :cond_1d5

    .line 72
    invoke-virtual {v6}, Lcom/otaliastudios/cameraview/size/b;->b()Lcom/otaliastudios/cameraview/size/b;

    move-result-object v6

    :cond_1d5
    const/4 v8, 0x5

    new-array v8, v8, [Ljava/lang/Object;

    aput-object v15, v8, v4

    const-string v4, "result:"

    aput-object v4, v8, v5

    aput-object v6, v8, v2

    const-string v2, "flip:"

    aput-object v2, v8, v13

    .line 73
    invoke-static {v7}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v2

    aput-object v2, v8, v17

    invoke-virtual {v12, v8}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 74
    iput-object v6, v1, Lcom/otaliastudios/cameraview/engine/o;->l:Lcom/otaliastudios/cameraview/size/b;

    .line 75
    iget v2, v6, Lcom/otaliastudios/cameraview/size/b;->a:I

    .line 76
    iget v4, v6, Lcom/otaliastudios/cameraview/size/b;->b:I

    .line 77
    iget v6, v1, Lcom/otaliastudios/cameraview/engine/o;->m:I

    .line 78
    iget v7, v1, Lcom/otaliastudios/cameraview/engine/o;->b0:I

    add-int/2addr v7, v5

    .line 79
    invoke-static {v2, v4, v6, v7}, Landroid/media/ImageReader;->newInstance(IIII)Landroid/media/ImageReader;

    move-result-object v2

    iput-object v2, v1, Lcom/otaliastudios/cameraview/engine/d;->k0:Landroid/media/ImageReader;

    const/4 v4, 0x0

    .line 80
    invoke-virtual {v2, v1, v4}, Landroid/media/ImageReader;->setOnImageAvailableListener(Landroid/media/ImageReader$OnImageAvailableListener;Landroid/os/Handler;)V

    .line 81
    iget-object v2, v1, Lcom/otaliastudios/cameraview/engine/d;->k0:Landroid/media/ImageReader;

    invoke-virtual {v2}, Landroid/media/ImageReader;->getSurface()Landroid/view/Surface;

    move-result-object v2

    iput-object v2, v1, Lcom/otaliastudios/cameraview/engine/d;->l0:Landroid/view/Surface;

    .line 82
    invoke-virtual {v3, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_21d

    .line 83
    :cond_20e
    new-instance v0, Ljava/lang/RuntimeException;

    const-string v2, "SizeSelectors must not return Sizes other than those in the input list."

    invoke-direct {v0, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_216
    const/4 v4, 0x0

    .line 84
    iput-object v4, v1, Lcom/otaliastudios/cameraview/engine/d;->k0:Landroid/media/ImageReader;

    .line 85
    iput-object v4, v1, Lcom/otaliastudios/cameraview/engine/o;->l:Lcom/otaliastudios/cameraview/size/b;

    .line 86
    iput-object v4, v1, Lcom/otaliastudios/cameraview/engine/d;->l0:Landroid/view/Surface;

    .line 87
    :goto_21d
    :try_start_21d
    iget-object v2, v1, Lcom/otaliastudios/cameraview/engine/d;->e0:Landroid/hardware/camera2/CameraDevice;

    new-instance v5, Lcom/otaliastudios/cameraview/engine/d$q;

    invoke-direct {v5, v1, v0}, Lcom/otaliastudios/cameraview/engine/d$q;-><init>(Lcom/otaliastudios/cameraview/engine/d;Lcom/google/android/gms/tasks/TaskCompletionSource;)V

    invoke-virtual {v2, v3, v5, v4}, Landroid/hardware/camera2/CameraDevice;->createCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
    :try_end_227
    .catch Landroid/hardware/camera2/CameraAccessException; {:try_start_21d .. :try_end_227} :catch_22c

    .line 88
    invoke-virtual {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->getTask()Lcom/google/android/gms/tasks/Task;

    move-result-object v0

    return-object v0

    :catch_22c
    move-exception v0

    .line 89
    invoke-virtual {v1, v0}, Lcom/otaliastudios/cameraview/engine/d;->o0(Landroid/hardware/camera2/CameraAccessException;)Lcom/otaliastudios/cameraview/a;

    move-result-object v0

    throw v0

    .line 90
    :cond_232
    new-instance v0, Ljava/lang/RuntimeException;

    const-string v2, "Unknown CameraPreview output class."

    invoke-direct {v0, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public final m0(Landroid/hardware/camera2/CaptureRequest$Builder;Lcom/otaliastudios/cameraview/controls/l;)Z
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->g:Lcom/otaliastudios/cameraview/d;

    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/o;->p:Lcom/otaliastudios/cameraview/controls/l;

    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/d;->a(Lcom/otaliastudios/cameraview/controls/b;)Z

    move-result v0

    if-eqz v0, :cond_28

    .line 2
    iget-object p2, p0, Lcom/otaliastudios/cameraview/engine/d;->j0:Lcom/otaliastudios/cameraview/engine/mappers/b;

    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->p:Lcom/otaliastudios/cameraview/controls/l;

    invoke-static {p2}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 3
    sget-object p2, Lcom/otaliastudios/cameraview/engine/mappers/b;->c:Ljava/util/HashMap;

    invoke-virtual {p2, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Ljava/lang/Integer;

    invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I

    move-result p2

    .line 4
    sget-object v0, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AWB_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p2

    invoke-virtual {p1, v0, p2}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    const/4 p1, 0x1

    return p1

    .line 5
    :cond_28
    iput-object p2, p0, Lcom/otaliastudios/cameraview/engine/o;->p:Lcom/otaliastudios/cameraview/controls/l;

    const/4 p1, 0x0

    return p1
.end method

.method public final n()Lcom/google/android/gms/tasks/Task;
    .registers 6
    .annotation build Landroid/annotation/SuppressLint;
        value = {
            "MissingPermission"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Lcom/google/android/gms/tasks/Task<",
            "Lcom/otaliastudios/cameraview/d;",
            ">;"
        }
    .end annotation

    .line 1
    new-instance v0, Lcom/google/android/gms/tasks/TaskCompletionSource;

    invoke-direct {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;-><init>()V

    .line 2
    :try_start_5
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->c0:Landroid/hardware/camera2/CameraManager;

    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->d0:Ljava/lang/String;

    new-instance v3, Lcom/otaliastudios/cameraview/engine/d$o;

    invoke-direct {v3, p0, v0}, Lcom/otaliastudios/cameraview/engine/d$o;-><init>(Lcom/otaliastudios/cameraview/engine/d;Lcom/google/android/gms/tasks/TaskCompletionSource;)V

    const/4 v4, 0x0

    invoke-virtual {v1, v2, v3, v4}, Landroid/hardware/camera2/CameraManager;->openCamera(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Landroid/os/Handler;)V
    :try_end_12
    .catch Landroid/hardware/camera2/CameraAccessException; {:try_start_5 .. :try_end_12} :catch_17

    .line 3
    invoke-virtual {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->getTask()Lcom/google/android/gms/tasks/Task;

    move-result-object v0

    return-object v0

    :catch_17
    move-exception v0

    .line 4
    invoke-virtual {p0, v0}, Lcom/otaliastudios/cameraview/engine/d;->o0(Landroid/hardware/camera2/CameraAccessException;)Lcom/otaliastudios/cameraview/a;

    move-result-object v0

    throw v0
.end method

.method public final n0(Landroid/hardware/camera2/CaptureRequest$Builder;F)Z
    .registers 9

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->g:Lcom/otaliastudios/cameraview/d;

    .line 2
    iget-boolean v0, v0, Lcom/otaliastudios/cameraview/d;->k:Z

    if-eqz v0, :cond_69

    .line 3
    sget-object p2, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_MAX_DIGITAL_ZOOM:Landroid/hardware/camera2/CameraCharacteristics$Key;

    const/high16 v0, 0x3f800000    # 1.0f

    .line 4
    invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v1

    .line 5
    invoke-virtual {p0, p2, v1}, Lcom/otaliastudios/cameraview/engine/d;->t0(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Ljava/lang/Float;

    invoke-virtual {p2}, Ljava/lang/Float;->floatValue()F

    move-result p2

    .line 6
    iget v1, p0, Lcom/otaliastudios/cameraview/engine/o;->u:F

    sub-float v2, p2, v0

    mul-float v1, v1, v2

    add-float/2addr v1, v0

    .line 7
    sget-object v3, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_INFO_ACTIVE_ARRAY_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key;

    new-instance v4, Landroid/graphics/Rect;

    invoke-direct {v4}, Landroid/graphics/Rect;-><init>()V

    invoke-virtual {p0, v3, v4}, Lcom/otaliastudios/cameraview/engine/d;->t0(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Landroid/graphics/Rect;

    .line 8
    invoke-virtual {v3}, Landroid/graphics/Rect;->width()I

    move-result v4

    int-to-float v4, v4

    div-float/2addr v4, p2

    float-to-int v4, v4

    .line 9
    invoke-virtual {v3}, Landroid/graphics/Rect;->height()I

    move-result v5

    int-to-float v5, v5

    div-float/2addr v5, p2

    float-to-int p2, v5

    .line 10
    invoke-virtual {v3}, Landroid/graphics/Rect;->width()I

    move-result v5

    sub-int/2addr v5, v4

    .line 11
    invoke-virtual {v3}, Landroid/graphics/Rect;->height()I

    move-result v4

    sub-int/2addr v4, p2

    int-to-float p2, v5

    sub-float/2addr v1, v0

    mul-float p2, p2, v1

    div-float/2addr p2, v2

    const/high16 v0, 0x40000000    # 2.0f

    div-float/2addr p2, v0

    float-to-int p2, p2

    int-to-float v4, v4

    mul-float v4, v4, v1

    div-float/2addr v4, v2

    div-float/2addr v4, v0

    float-to-int v0, v4

    .line 12
    new-instance v1, Landroid/graphics/Rect;

    invoke-virtual {v3}, Landroid/graphics/Rect;->width()I

    move-result v2

    sub-int/2addr v2, p2

    .line 13
    invoke-virtual {v3}, Landroid/graphics/Rect;->height()I

    move-result v3

    sub-int/2addr v3, v0

    invoke-direct {v1, p2, v0, v2, v3}, Landroid/graphics/Rect;-><init>(IIII)V

    .line 14
    sget-object p2, Landroid/hardware/camera2/CaptureRequest;->SCALER_CROP_REGION:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-virtual {p1, p2, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    const/4 p1, 0x1

    return p1

    .line 15
    :cond_69
    iput p2, p0, Lcom/otaliastudios/cameraview/engine/o;->u:F

    const/4 p1, 0x0

    return p1
.end method

.method public final o()Lcom/google/android/gms/tasks/Task;
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Lcom/google/android/gms/tasks/Task<",
            "Ljava/lang/Void;",
            ">;"
        }
    .end annotation

    .line 1
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    const-string v4, "onStartPreview:"

    aput-object v4, v2, v3

    const/4 v5, 0x1

    const-string v6, "Dispatching onCameraPreviewStreamSizeChanged."

    aput-object v6, v2, v5

    invoke-virtual {v0, v2}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 2
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/p;->c:Lcom/otaliastudios/cameraview/engine/p$g;

    .line 3
    check-cast v2, Lcom/otaliastudios/cameraview/CameraView$c;

    invoke-virtual {v2}, Lcom/otaliastudios/cameraview/CameraView$c;->h()V

    .line 4
    sget-object v2, Lcom/otaliastudios/cameraview/engine/offset/c;->VIEW:Lcom/otaliastudios/cameraview/engine/offset/c;

    invoke-virtual {p0, v2}, Lcom/otaliastudios/cameraview/engine/o;->j(Lcom/otaliastudios/cameraview/engine/offset/c;)Lcom/otaliastudios/cameraview/size/b;

    move-result-object v6

    if-eqz v6, :cond_8f

    .line 5
    iget-object v7, p0, Lcom/otaliastudios/cameraview/engine/o;->f:Lcom/otaliastudios/cameraview/preview/a;

    .line 6
    iget v8, v6, Lcom/otaliastudios/cameraview/size/b;->a:I

    .line 7
    iget v6, v6, Lcom/otaliastudios/cameraview/size/b;->b:I

    .line 8
    invoke-virtual {v7, v8, v6}, Lcom/otaliastudios/cameraview/preview/a;->o(II)V

    .line 9
    iget-object v6, p0, Lcom/otaliastudios/cameraview/engine/o;->f:Lcom/otaliastudios/cameraview/preview/a;

    .line 10
    iget-object v7, p0, Lcom/otaliastudios/cameraview/engine/o;->L:Lcom/otaliastudios/cameraview/engine/offset/a;

    .line 11
    sget-object v8, Lcom/otaliastudios/cameraview/engine/offset/c;->BASE:Lcom/otaliastudios/cameraview/engine/offset/c;

    sget-object v9, Lcom/otaliastudios/cameraview/engine/offset/b;->ABSOLUTE:Lcom/otaliastudios/cameraview/engine/offset/b;

    invoke-virtual {v7, v8, v2, v9}, Lcom/otaliastudios/cameraview/engine/offset/a;->c(Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/b;)I

    move-result v2

    invoke-virtual {v6, v2}, Lcom/otaliastudios/cameraview/preview/a;->n(I)V

    .line 12
    iget-boolean v2, p0, Lcom/otaliastudios/cameraview/engine/o;->n:Z

    if-eqz v2, :cond_4a

    .line 13
    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/engine/o;->R()Lcom/otaliastudios/cameraview/frame/c;

    move-result-object v2

    iget v6, p0, Lcom/otaliastudios/cameraview/engine/o;->m:I

    iget-object v7, p0, Lcom/otaliastudios/cameraview/engine/o;->l:Lcom/otaliastudios/cameraview/size/b;

    .line 14
    iget-object v8, p0, Lcom/otaliastudios/cameraview/engine/o;->L:Lcom/otaliastudios/cameraview/engine/offset/a;

    .line 15
    invoke-virtual {v2, v6, v7, v8}, Lcom/otaliastudios/cameraview/frame/c;->e(ILcom/otaliastudios/cameraview/size/b;Lcom/otaliastudios/cameraview/engine/offset/a;)V

    :cond_4a
    new-array v2, v1, [Ljava/lang/Object;

    aput-object v4, v2, v3

    const-string v6, "Starting preview."

    aput-object v6, v2, v5

    .line 16
    invoke-virtual {v0, v2}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    new-array v2, v3, [Landroid/view/Surface;

    .line 17
    invoke-virtual {p0, v2}, Lcom/otaliastudios/cameraview/engine/d;->d0([Landroid/view/Surface;)V

    .line 18
    invoke-virtual {p0, v3, v1}, Lcom/otaliastudios/cameraview/engine/d;->l0(ZI)V

    new-array v1, v1, [Ljava/lang/Object;

    aput-object v4, v1, v3

    const-string v2, "Started preview."

    aput-object v2, v1, v5

    .line 19
    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 20
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->n0:Lcom/otaliastudios/cameraview/p$a;

    if-eqz v0, :cond_7d

    const/4 v1, 0x0

    .line 21
    iput-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->n0:Lcom/otaliastudios/cameraview/p$a;

    .line 22
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 23
    sget-object v2, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->PREVIEW:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v3, Lcom/otaliastudios/cameraview/engine/d$r;

    invoke-direct {v3, p0, v0}, Lcom/otaliastudios/cameraview/engine/d$r;-><init>(Lcom/otaliastudios/cameraview/engine/d;Lcom/otaliastudios/cameraview/p$a;)V

    const-string v0, "do take video"

    invoke-virtual {v1, v0, v2, v3}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    .line 24
    :cond_7d
    new-instance v0, Lcom/google/android/gms/tasks/TaskCompletionSource;

    invoke-direct {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;-><init>()V

    .line 25
    new-instance v1, Lcom/otaliastudios/cameraview/engine/d$s;

    invoke-direct {v1, v0}, Lcom/otaliastudios/cameraview/engine/d$s;-><init>(Lcom/google/android/gms/tasks/TaskCompletionSource;)V

    .line 26
    invoke-virtual {v1, p0}, Lcom/otaliastudios/cameraview/engine/action/e;->m(Lcom/otaliastudios/cameraview/engine/action/c;)V

    .line 27
    invoke-virtual {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->getTask()Lcom/google/android/gms/tasks/Task;

    move-result-object v0

    return-object v0

    .line 28
    :cond_8f
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "previewStreamSize should not be null at this point."

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public final o0(Landroid/hardware/camera2/CameraAccessException;)Lcom/otaliastudios/cameraview/a;
    .registers 6

    .line 1
    invoke-virtual {p1}, Landroid/hardware/camera2/CameraAccessException;->getReason()I

    move-result v0

    const/4 v1, 0x1

    const/4 v2, 0x3

    if-eq v0, v1, :cond_16

    const/4 v3, 0x2

    if-eq v0, v3, :cond_15

    if-eq v0, v2, :cond_15

    const/4 v2, 0x4

    if-eq v0, v2, :cond_16

    const/4 v2, 0x5

    if-eq v0, v2, :cond_16

    const/4 v1, 0x0

    goto :goto_16

    :cond_15
    const/4 v1, 0x3

    .line 2
    :cond_16
    :goto_16
    new-instance v0, Lcom/otaliastudios/cameraview/a;

    invoke-direct {v0, p1, v1}, Lcom/otaliastudios/cameraview/a;-><init>(Ljava/lang/Throwable;I)V

    return-object v0
.end method

.method public final onImageAvailable(Landroid/media/ImageReader;)V
    .registers 11

    .line 1
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    const-string v4, "onImageAvailable:"

    aput-object v4, v2, v3

    const-string v5, "trying to acquire Image."

    const/4 v6, 0x1

    aput-object v5, v2, v6

    invoke-virtual {v0, v2}, Lcom/otaliastudios/cameraview/c;->d([Ljava/lang/Object;)Ljava/lang/String;

    .line 2
    :try_start_12
    invoke-virtual {p1}, Landroid/media/ImageReader;->acquireLatestImage()Landroid/media/Image;

    move-result-object p1
    :try_end_16
    .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_16} :catch_17

    goto :goto_18

    :catch_17
    const/4 p1, 0x0

    :goto_18
    if-nez p1, :cond_28

    .line 3
    sget-object p1, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v0, v1, [Ljava/lang/Object;

    aput-object v4, v0, v3

    const-string v1, "failed to acquire Image!"

    aput-object v1, v0, v6

    invoke-virtual {p1, v0}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    goto :goto_77

    .line 4
    :cond_28
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 5
    iget-object v0, v0, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->f:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    .line 6
    sget-object v2, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->PREVIEW:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    if-ne v0, v2, :cond_67

    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/engine/p;->l()Z

    move-result v0

    if-nez v0, :cond_67

    .line 7
    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/engine/o;->R()Lcom/otaliastudios/cameraview/frame/c;

    move-result-object v0

    .line 8
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v7

    .line 9
    invoke-virtual {v0, p1, v7, v8}, Lcom/otaliastudios/cameraview/frame/c;->a(Ljava/lang/Object;J)Lcom/otaliastudios/cameraview/frame/b;

    move-result-object p1

    if-eqz p1, :cond_59

    .line 10
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v1, v1, [Ljava/lang/Object;

    aput-object v4, v1, v3

    const-string v2, "Image acquired, dispatching."

    aput-object v2, v1, v6

    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/c;->d([Ljava/lang/Object;)Ljava/lang/String;

    .line 11
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/p;->c:Lcom/otaliastudios/cameraview/engine/p$g;

    .line 12
    check-cast v0, Lcom/otaliastudios/cameraview/CameraView$c;

    invoke-virtual {v0, p1}, Lcom/otaliastudios/cameraview/CameraView$c;->b(Lcom/otaliastudios/cameraview/frame/b;)V

    goto :goto_77

    .line 13
    :cond_59
    sget-object p1, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v0, v1, [Ljava/lang/Object;

    aput-object v4, v0, v3

    const-string v1, "Image acquired, but no free frames. DROPPING."

    aput-object v1, v0, v6

    invoke-virtual {p1, v0}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    goto :goto_77

    .line 14
    :cond_67
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v1, v1, [Ljava/lang/Object;

    aput-object v4, v1, v3

    const-string v2, "Image acquired in wrong state. Closing it now."

    aput-object v2, v1, v6

    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 15
    invoke-virtual {p1}, Landroid/media/Image;->close()V

    :goto_77
    return-void
.end method

.method public final p()Lcom/google/android/gms/tasks/Task;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Lcom/google/android/gms/tasks/Task<",
            "Ljava/lang/Void;",
            ">;"
        }
    .end annotation

    .line 1
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    const-string v4, "onStopBind:"

    aput-object v4, v2, v3

    const-string v5, "About to clean up."

    const/4 v6, 0x1

    aput-object v5, v2, v6

    invoke-virtual {v0, v2}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    const/4 v2, 0x0

    .line 2
    iput-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->l0:Landroid/view/Surface;

    .line 3
    iput-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->m0:Landroid/view/Surface;

    .line 4
    iput-object v2, p0, Lcom/otaliastudios/cameraview/engine/o;->k:Lcom/otaliastudios/cameraview/size/b;

    .line 5
    iput-object v2, p0, Lcom/otaliastudios/cameraview/engine/o;->j:Lcom/otaliastudios/cameraview/size/b;

    .line 6
    iput-object v2, p0, Lcom/otaliastudios/cameraview/engine/o;->l:Lcom/otaliastudios/cameraview/size/b;

    .line 7
    iget-object v5, p0, Lcom/otaliastudios/cameraview/engine/d;->k0:Landroid/media/ImageReader;

    if-eqz v5, :cond_26

    .line 8
    invoke-virtual {v5}, Landroid/media/ImageReader;->close()V

    .line 9
    iput-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->k0:Landroid/media/ImageReader;

    .line 10
    :cond_26
    iget-object v5, p0, Lcom/otaliastudios/cameraview/engine/d;->o0:Landroid/media/ImageReader;

    if-eqz v5, :cond_2f

    .line 11
    invoke-virtual {v5}, Landroid/media/ImageReader;->close()V

    .line 12
    iput-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->o0:Landroid/media/ImageReader;

    .line 13
    :cond_2f
    iget-object v5, p0, Lcom/otaliastudios/cameraview/engine/d;->g0:Landroid/hardware/camera2/CameraCaptureSession;

    invoke-virtual {v5}, Landroid/hardware/camera2/CameraCaptureSession;->close()V

    .line 14
    iput-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->g0:Landroid/hardware/camera2/CameraCaptureSession;

    new-array v1, v1, [Ljava/lang/Object;

    aput-object v4, v1, v3

    const-string v3, "Returning."

    aput-object v3, v1, v6

    .line 15
    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 16
    invoke-static {v2}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;

    move-result-object v0

    return-object v0
.end method

.method public final p0(Lcom/otaliastudios/cameraview/metering/b;)Lcom/otaliastudios/cameraview/engine/meter/g;
    .registers 9

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->q0:Lcom/otaliastudios/cameraview/engine/meter/g;

    if-eqz v0, :cond_7

    invoke-virtual {v0, p0}, Lcom/otaliastudios/cameraview/engine/action/e;->a(Lcom/otaliastudios/cameraview/engine/action/c;)V

    .line 2
    :cond_7
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    .line 3
    sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AF_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key;

    const/4 v2, 0x0

    new-array v3, v2, [I

    invoke-virtual {p0, v1, v3}, Lcom/otaliastudios/cameraview/engine/d;->t0(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, [I

    .line 4
    new-instance v3, Ljava/util/ArrayList;

    invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V

    .line 5
    array-length v4, v1

    const/4 v5, 0x0

    :goto_1b
    if-ge v5, v4, :cond_29

    aget v6, v1, v5

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    invoke-virtual {v3, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    add-int/lit8 v5, v5, 0x1

    goto :goto_1b

    :cond_29
    const/4 v1, 0x1

    .line 6
    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_3e

    .line 7
    sget-object v3, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    invoke-virtual {v0, v3, v4}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    goto :goto_6d

    .line 8
    :cond_3e
    iget-object v4, p0, Lcom/otaliastudios/cameraview/engine/o;->Q:Lcom/otaliastudios/cameraview/controls/h;

    .line 9
    sget-object v5, Lcom/otaliastudios/cameraview/controls/h;->VIDEO:Lcom/otaliastudios/cameraview/controls/h;

    if-ne v4, v5, :cond_59

    const/4 v4, 0x3

    .line 10
    invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    invoke-virtual {v3, v5}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v5

    if-eqz v5, :cond_59

    .line 11
    sget-object v3, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    .line 12
    invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    .line 13
    invoke-virtual {v0, v3, v4}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    goto :goto_6d

    :cond_59
    const/4 v4, 0x4

    .line 14
    invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    invoke-virtual {v3, v5}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_6d

    .line 15
    sget-object v3, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;

    .line 16
    invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    .line 17
    invoke-virtual {v0, v3, v4}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V

    .line 18
    :cond_6d
    :goto_6d
    new-instance v0, Lcom/otaliastudios/cameraview/engine/meter/g;

    if-nez p1, :cond_72

    const/4 v2, 0x1

    :cond_72
    invoke-direct {v0, p0, p1, v2}, Lcom/otaliastudios/cameraview/engine/meter/g;-><init>(Lcom/otaliastudios/cameraview/engine/p;Lcom/otaliastudios/cameraview/metering/b;Z)V

    iput-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->q0:Lcom/otaliastudios/cameraview/engine/meter/g;

    return-object v0
.end method

.method public final q()Lcom/google/android/gms/tasks/Task;
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Lcom/google/android/gms/tasks/Task<",
            "Ljava/lang/Void;",
            ">;"
        }
    .end annotation

    const-string v0, "Clean up."

    const-string v1, "onStopEngine:"

    const/4 v2, 0x3

    const/4 v3, 0x2

    const/4 v4, 0x1

    const/4 v5, 0x0

    .line 1
    :try_start_8
    sget-object v6, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v7, v2, [Ljava/lang/Object;

    aput-object v1, v7, v5

    aput-object v0, v7, v4

    const-string v8, "Releasing camera."

    aput-object v8, v7, v3

    invoke-virtual {v6, v7}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 2
    iget-object v7, p0, Lcom/otaliastudios/cameraview/engine/d;->e0:Landroid/hardware/camera2/CameraDevice;

    invoke-virtual {v7}, Landroid/hardware/camera2/CameraDevice;->close()V

    new-array v7, v2, [Ljava/lang/Object;

    aput-object v1, v7, v5

    aput-object v0, v7, v4

    const-string v8, "Released camera."

    aput-object v8, v7, v3

    .line 3
    invoke-virtual {v6, v7}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;
    :try_end_29
    .catch Ljava/lang/Exception; {:try_start_8 .. :try_end_29} :catch_2a

    goto :goto_3d

    :catch_2a
    move-exception v6

    .line 4
    sget-object v7, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v8, 0x4

    new-array v8, v8, [Ljava/lang/Object;

    aput-object v1, v8, v5

    aput-object v0, v8, v4

    const-string v0, "Exception while releasing camera."

    aput-object v0, v8, v3

    aput-object v6, v8, v2

    invoke-virtual {v7, v8}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    :goto_3d
    const/4 v0, 0x0

    .line 5
    iput-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->e0:Landroid/hardware/camera2/CameraDevice;

    .line 6
    sget-object v2, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v6, v3, [Ljava/lang/Object;

    aput-object v1, v6, v5

    const-string v7, "Aborting actions."

    aput-object v7, v6, v4

    invoke-virtual {v2, v6}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 7
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->p0:Ljava/util/concurrent/CopyOnWriteArrayList;

    invoke-virtual {v2}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v2

    :goto_53
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v6

    if-eqz v6, :cond_63

    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v6

    check-cast v6, Lcom/otaliastudios/cameraview/engine/action/a;

    .line 8
    invoke-interface {v6, p0}, Lcom/otaliastudios/cameraview/engine/action/a;->a(Lcom/otaliastudios/cameraview/engine/action/c;)V

    goto :goto_53

    .line 9
    :cond_63
    iput-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->f0:Landroid/hardware/camera2/CameraCharacteristics;

    .line 10
    iput-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->g:Lcom/otaliastudios/cameraview/d;

    .line 11
    iput-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->i:Lcom/otaliastudios/cameraview/video/c;

    .line 12
    iput-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    .line 13
    sget-object v2, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    new-array v3, v3, [Ljava/lang/Object;

    aput-object v1, v3, v5

    const-string v1, "Returning."

    aput-object v1, v3, v4

    invoke-virtual {v2, v3}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    .line 14
    invoke-static {v0}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;

    move-result-object v0

    return-object v0
.end method

.method public final q0(I)Landroid/hardware/camera2/CaptureRequest$Builder;
    .registers 4
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Landroid/hardware/camera2/CameraAccessException;
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    .line 2
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->e0:Landroid/hardware/camera2/CameraDevice;

    invoke-virtual {v1, p1}, Landroid/hardware/camera2/CameraDevice;->createCaptureRequest(I)Landroid/hardware/camera2/CaptureRequest$Builder;

    move-result-object v1

    iput-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    .line 3
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    invoke-virtual {v1, p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->setTag(Ljava/lang/Object;)V

    .line 4
    iget-object p1, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    invoke-virtual {p0, p1, v0}, Lcom/otaliastudios/cameraview/engine/d;->e0(Landroid/hardware/camera2/CaptureRequest$Builder;Landroid/hardware/camera2/CaptureRequest$Builder;)V

    .line 5
    iget-object p1, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    return-object p1
.end method

.method public final r()Lcom/google/android/gms/tasks/Task;
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Lcom/google/android/gms/tasks/Task<",
            "Ljava/lang/Void;",
            ">;"
        }
    .end annotation

    .line 1
    sget-object v0, Lcom/otaliastudios/cameraview/engine/p;->e:Lcom/otaliastudios/cameraview/c;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    const-string v4, "onStopPreview:"

    aput-object v4, v2, v3

    const/4 v5, 0x1

    const-string v6, "Started."

    aput-object v6, v2, v5

    invoke-virtual {v0, v2}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 2
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/o;->i:Lcom/otaliastudios/cameraview/video/c;

    const/4 v6, 0x0

    if-eqz v2, :cond_1c

    .line 3
    invoke-virtual {v2, v5}, Lcom/otaliastudios/cameraview/video/d;->f(Z)V

    .line 4
    iput-object v6, p0, Lcom/otaliastudios/cameraview/engine/o;->i:Lcom/otaliastudios/cameraview/video/c;

    .line 5
    :cond_1c
    iput-object v6, p0, Lcom/otaliastudios/cameraview/engine/o;->h:Lcom/otaliastudios/cameraview/picture/c;

    .line 6
    iget-boolean v2, p0, Lcom/otaliastudios/cameraview/engine/o;->n:Z

    if-eqz v2, :cond_29

    .line 7
    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/engine/o;->R()Lcom/otaliastudios/cameraview/frame/c;

    move-result-object v2

    invoke-virtual {v2}, Lcom/otaliastudios/cameraview/frame/c;->d()V

    .line 8
    :cond_29
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    iget-object v7, p0, Lcom/otaliastudios/cameraview/engine/d;->m0:Landroid/view/Surface;

    invoke-virtual {v2, v7}, Landroid/hardware/camera2/CaptureRequest$Builder;->removeTarget(Landroid/view/Surface;)V

    .line 9
    iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/d;->l0:Landroid/view/Surface;

    if-eqz v2, :cond_39

    .line 10
    iget-object v7, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    invoke-virtual {v7, v2}, Landroid/hardware/camera2/CaptureRequest$Builder;->removeTarget(Landroid/view/Surface;)V

    .line 11
    :cond_39
    iput-object v6, p0, Lcom/otaliastudios/cameraview/engine/d;->i0:Landroid/hardware/camera2/TotalCaptureResult;

    new-array v1, v1, [Ljava/lang/Object;

    aput-object v4, v1, v3

    const-string v2, "Returning."

    aput-object v2, v1, v5

    .line 12
    invoke-virtual {v0, v1}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 13
    invoke-static {v6}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;

    move-result-object v0

    return-object v0
.end method

.method public final r0()Ljava/util/List;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "Lcom/otaliastudios/cameraview/size/b;",
            ">;"
        }
    .end annotation

    .line 1
    :try_start_0
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->c0:Landroid/hardware/camera2/CameraManager;

    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/d;->d0:Ljava/lang/String;

    invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;

    move-result-object v0

    .line 2
    sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_STREAM_CONFIGURATION_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key;

    .line 3
    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/hardware/camera2/params/StreamConfigurationMap;

    if-eqz v0, :cond_3e

    .line 4
    iget v1, p0, Lcom/otaliastudios/cameraview/engine/o;->m:I

    invoke-virtual {v0, v1}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(I)[Landroid/util/Size;

    move-result-object v0

    .line 5
    new-instance v1, Ljava/util/ArrayList;

    array-length v2, v0

    invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V

    .line 6
    array-length v2, v0

    const/4 v3, 0x0

    :goto_20
    if-ge v3, v2, :cond_3d

    aget-object v4, v0, v3

    .line 7
    new-instance v5, Lcom/otaliastudios/cameraview/size/b;

    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/otaliastudios/cameraview/size/b;-><init>(II)V

    .line 8
    invoke-virtual {v1, v5}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

    move-result v4

    if-nez v4, :cond_3a

    invoke-virtual {v1, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    :cond_3a
    add-int/lit8 v3, v3, 0x1

    goto :goto_20

    :cond_3d
    return-object v1

    .line 9
    :cond_3e
    new-instance v0, Ljava/lang/RuntimeException;

    const-string v1, "StreamConfigurationMap is null. Should not happen."

    invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw v0
    :try_end_46
    .catch Landroid/hardware/camera2/CameraAccessException; {:try_start_0 .. :try_end_46} :catch_46

    :catch_46
    move-exception v0

    .line 10
    invoke-virtual {p0, v0}, Lcom/otaliastudios/cameraview/engine/d;->o0(Landroid/hardware/camera2/CameraAccessException;)Lcom/otaliastudios/cameraview/a;

    move-result-object v0

    throw v0
.end method

.method public final s0()V
    .registers 3

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->h0:Landroid/hardware/camera2/CaptureRequest$Builder;

    invoke-virtual {v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;

    move-result-object v0

    invoke-virtual {v0}, Landroid/hardware/camera2/CaptureRequest;->getTag()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Integer;

    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I

    move-result v0

    const/4 v1, 0x1

    if-eq v0, v1, :cond_26

    .line 2
    :try_start_13
    invoke-virtual {p0, v1}, Lcom/otaliastudios/cameraview/engine/d;->q0(I)Landroid/hardware/camera2/CaptureRequest$Builder;

    const/4 v0, 0x0

    new-array v0, v0, [Landroid/view/Surface;

    .line 3
    invoke-virtual {p0, v0}, Lcom/otaliastudios/cameraview/engine/d;->d0([Landroid/view/Surface;)V

    .line 4
    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/engine/d;->k0()V
    :try_end_1f
    .catch Landroid/hardware/camera2/CameraAccessException; {:try_start_13 .. :try_end_1f} :catch_20

    goto :goto_26

    :catch_20
    move-exception v0

    .line 5
    invoke-virtual {p0, v0}, Lcom/otaliastudios/cameraview/engine/d;->o0(Landroid/hardware/camera2/CameraAccessException;)Lcom/otaliastudios/cameraview/a;

    move-result-object v0

    throw v0

    :cond_26
    :goto_26
    return-void
.end method

.method public final t0(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Landroid/hardware/camera2/CameraCharacteristics$Key<",
            "TT;>;TT;)TT;"
        }
    .end annotation

    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/d;->f0:Landroid/hardware/camera2/CameraCharacteristics;

    invoke-virtual {p0, v0, p1, p2}, Lcom/otaliastudios/cameraview/engine/d;->u0(Landroid/hardware/camera2/CameraCharacteristics;Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    return-object p1
.end method

.method public final u0(Landroid/hardware/camera2/CameraCharacteristics;Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)Ljava/lang/Object;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Landroid/hardware/camera2/CameraCharacteristics;",
            "Landroid/hardware/camera2/CameraCharacteristics$Key<",
            "TT;>;TT;)TT;"
        }
    .end annotation

    invoke-virtual {p1, p2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;

    move-result-object p1

    if-nez p1, :cond_7

    goto :goto_8

    :cond_7
    move-object p3, p1

    :goto_8
    return-object p3
.end method

.method public final w(F[F[Landroid/graphics/PointF;Z)V
    .registers 16

    .line 1
    iget v2, p0, Lcom/otaliastudios/cameraview/engine/o;->w:F

    .line 2
    iput p1, p0, Lcom/otaliastudios/cameraview/engine/o;->w:F

    .line 3
    iget-object v7, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 4
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "exposure correction ("

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    const-string v1, ")"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v8

    sget-object v9, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->ENGINE:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v10, Lcom/otaliastudios/cameraview/engine/d$g;

    move-object v0, v10

    move-object v1, p0

    move v3, p4

    move v4, p1

    move-object v5, p2

    move-object v6, p3

    invoke-direct/range {v0 .. v6}, Lcom/otaliastudios/cameraview/engine/d$g;-><init>(Lcom/otaliastudios/cameraview/engine/d;FZF[F[Landroid/graphics/PointF;)V

    invoke-virtual {v7, v8, v9, v10}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final x(Lcom/otaliastudios/cameraview/controls/e;)V
    .registers 7

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/o;->o:Lcom/otaliastudios/cameraview/controls/e;

    .line 2
    iput-object p1, p0, Lcom/otaliastudios/cameraview/engine/o;->o:Lcom/otaliastudios/cameraview/controls/e;

    .line 3
    iget-object v1, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 4
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "flash ("

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v3, ")"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    sget-object v3, Lcom/otaliastudios/cameraview/engine/orchestrator/c;->ENGINE:Lcom/otaliastudios/cameraview/engine/orchestrator/c;

    new-instance v4, Lcom/otaliastudios/cameraview/engine/d$b;

    invoke-direct {v4, p0, v0, p1}, Lcom/otaliastudios/cameraview/engine/d$b;-><init>(Lcom/otaliastudios/cameraview/engine/d;Lcom/otaliastudios/cameraview/controls/e;Lcom/otaliastudios/cameraview/controls/e;)V

    invoke-virtual {v1, v2, v3, v4}, Lcom/otaliastudios/cameraview/engine/orchestrator/d;->h(Ljava/lang/String;Lcom/otaliastudios/cameraview/engine/orchestrator/c;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final y(I)V
    .registers 5

    .line 1
    iget v0, p0, Lcom/otaliastudios/cameraview/engine/o;->m:I

    if-nez v0, :cond_8

    const/16 v0, 0x23

    iput v0, p0, Lcom/otaliastudios/cameraview/engine/o;->m:I

    .line 2
    :cond_8
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    const-string v1, "frame processing format ("

    const-string v2, ")"

    .line 3
    invoke-static {v1, p1, v2}, Landroidx/biometric/c0;->b(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 4
    new-instance v2, Lcom/otaliastudios/cameraview/engine/d$l;

    invoke-direct {v2, p0, p1}, Lcom/otaliastudios/cameraview/engine/d$l;-><init>(Lcom/otaliastudios/cameraview/engine/d;I)V

    invoke-virtual {v0, v1, v2}, Lcom/otaliastudios/cameraview/engine/orchestrator/b;->d(Ljava/lang/String;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method

.method public final z(Z)V
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/engine/p;->d:Lcom/otaliastudios/cameraview/engine/orchestrator/d;

    .line 2
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "has frame processors ("

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v2, ")"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    new-instance v2, Lcom/otaliastudios/cameraview/engine/d$k;

    invoke-direct {v2, p0, p1}, Lcom/otaliastudios/cameraview/engine/d$k;-><init>(Lcom/otaliastudios/cameraview/engine/d;Z)V

    invoke-virtual {v0, v1, v2}, Lcom/otaliastudios/cameraview/engine/orchestrator/b;->d(Ljava/lang/String;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method