CameraView.smali

.class public Lim/tpelyyftgw/messenger/camera/CameraView;
.super Landroid/widget/FrameLayout;
.source "CameraView.java"

# interfaces
.implements Landroid/view/TextureView$SurfaceTextureListener;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lim/tpelyyftgw/messenger/camera/CameraView$CameraViewDelegate;
    }
.end annotation


# instance fields
.field private cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

.field private clipBottom:I

.field private clipTop:I

.field private cx:I

.field private cy:I

.field private delegate:Lim/tpelyyftgw/messenger/camera/CameraView$CameraViewDelegate;

.field private focusAreaSize:I

.field private focusProgress:F

.field private initialFrontface:Z

.field private initied:Z

.field private innerAlpha:F

.field private innerPaint:Landroid/graphics/Paint;

.field private interpolator:Landroid/view/animation/DecelerateInterpolator;

.field private isFrontface:Z

.field private lastDrawTime:J

.field private matrix:Landroid/graphics/Matrix;

.field private mirror:Z

.field private outerAlpha:F

.field private outerPaint:Landroid/graphics/Paint;

.field private previewSize:Lim/tpelyyftgw/messenger/camera/Size;

.field private textureView:Landroid/view/TextureView;

.field private txform:Landroid/graphics/Matrix;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Z)V
    .registers 5
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "frontface"    # Z

    .line 61
    const/4 v0, 0x0

    invoke-direct {p0, p1, v0}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    .line 39
    new-instance v0, Landroid/graphics/Matrix;

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

    iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    .line 40
    new-instance v0, Landroid/graphics/Matrix;

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

    iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->matrix:Landroid/graphics/Matrix;

    .line 44
    const/high16 v0, 0x3f800000    # 1.0f

    iput v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->focusProgress:F

    .line 50
    new-instance v0, Landroid/graphics/Paint;

    const/4 v1, 0x1

    invoke-direct {v0, v1}, Landroid/graphics/Paint;-><init>(I)V

    iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerPaint:Landroid/graphics/Paint;

    .line 51
    new-instance v0, Landroid/graphics/Paint;

    invoke-direct {v0, v1}, Landroid/graphics/Paint;-><init>(I)V

    iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerPaint:Landroid/graphics/Paint;

    .line 53
    new-instance v0, Landroid/view/animation/DecelerateInterpolator;

    invoke-direct {v0}, Landroid/view/animation/DecelerateInterpolator;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->interpolator:Landroid/view/animation/DecelerateInterpolator;

    .line 62
    iput-boolean p2, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->isFrontface:Z

    iput-boolean p2, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->initialFrontface:Z

    .line 63
    new-instance v0, Landroid/view/TextureView;

    invoke-direct {v0, p1}, Landroid/view/TextureView;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->textureView:Landroid/view/TextureView;

    .line 64
    invoke-virtual {v0, p0}, Landroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V

    .line 65
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->textureView:Landroid/view/TextureView;

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/messenger/camera/CameraView;->addView(Landroid/view/View;)V

    .line 66
    const/high16 v0, 0x42c00000    # 96.0f

    invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I

    move-result v0

    iput v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->focusAreaSize:I

    .line 67
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerPaint:Landroid/graphics/Paint;

    const/4 v1, -0x1

    invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V

    .line 68
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerPaint:Landroid/graphics/Paint;

    sget-object v1, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;

    invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 69
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerPaint:Landroid/graphics/Paint;

    const/high16 v1, 0x40000000    # 2.0f

    invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I

    move-result v1

    int-to-float v1, v1

    invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeWidth(F)V

    .line 70
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerPaint:Landroid/graphics/Paint;

    const v1, 0x7fffffff

    invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V

    .line 71
    return-void
.end method

.method private adjustAspectRatio(III)V
    .registers 21
    .param p1, "previewWidth"    # I
    .param p2, "previewHeight"    # I
    .param p3, "rotation"    # I

    .line 230
    move-object/from16 v0, p0

    move/from16 v1, p1

    move/from16 v2, p2

    move/from16 v3, p3

    iget-object v4, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    invoke-virtual {v4}, Landroid/graphics/Matrix;->reset()V

    .line 232
    invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->getWidth()I

    move-result v4

    .line 233
    .local v4, "viewWidth":I
    invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->getHeight()I

    move-result v5

    .line 234
    .local v5, "viewHeight":I
    div-int/lit8 v6, v4, 0x2

    int-to-float v6, v6

    .line 235
    .local v6, "viewCenterX":F
    div-int/lit8 v7, v5, 0x2

    int-to-float v7, v7

    .line 238
    .local v7, "viewCenterY":F
    const/4 v8, 0x2

    if-eqz v3, :cond_32

    if-ne v3, v8, :cond_21

    goto :goto_32

    .line 241
    :cond_21
    iget v9, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->clipTop:I

    add-int/2addr v9, v5

    iget v10, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->clipBottom:I

    add-int/2addr v9, v10

    int-to-float v9, v9

    int-to-float v10, v2

    div-float/2addr v9, v10

    int-to-float v10, v4

    int-to-float v11, v1

    div-float/2addr v10, v11

    invoke-static {v9, v10}, Ljava/lang/Math;->max(FF)F

    move-result v9

    .local v9, "scale":F
    goto :goto_42

    .line 239
    .end local v9    # "scale":F
    :cond_32
    :goto_32
    iget v9, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->clipTop:I

    add-int/2addr v9, v5

    iget v10, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->clipBottom:I

    add-int/2addr v9, v10

    int-to-float v9, v9

    int-to-float v10, v1

    div-float/2addr v9, v10

    int-to-float v10, v4

    int-to-float v11, v2

    div-float/2addr v10, v11

    invoke-static {v9, v10}, Ljava/lang/Math;->max(FF)F

    move-result v9

    .line 244
    .restart local v9    # "scale":F
    :goto_42
    int-to-float v10, v1

    mul-float v10, v10, v9

    .line 245
    .local v10, "previewWidthScaled":F
    int-to-float v11, v2

    mul-float v11, v11, v9

    .line 247
    .local v11, "previewHeightScaled":F
    int-to-float v12, v4

    div-float v12, v11, v12

    .line 248
    .local v12, "scaleX":F
    int-to-float v13, v5

    div-float v13, v10, v13

    .line 250
    .local v13, "scaleY":F
    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    invoke-virtual {v14, v12, v13, v6, v7}, Landroid/graphics/Matrix;->postScale(FFFF)Z

    .line 252
    const/4 v14, 0x1

    if-eq v14, v3, :cond_64

    const/4 v14, 0x3

    if-ne v14, v3, :cond_5a

    goto :goto_64

    .line 255
    :cond_5a
    if-ne v8, v3, :cond_6e

    .line 256
    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    const/high16 v15, 0x43340000    # 180.0f

    invoke-virtual {v14, v15, v6, v7}, Landroid/graphics/Matrix;->postRotate(FFF)Z

    goto :goto_6e

    .line 253
    :cond_64
    :goto_64
    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    add-int/lit8 v15, v3, -0x2

    mul-int/lit8 v15, v15, 0x5a

    int-to-float v15, v15

    invoke-virtual {v14, v15, v6, v7}, Landroid/graphics/Matrix;->postRotate(FFF)Z

    .line 260
    :cond_6e
    :goto_6e
    iget-boolean v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->mirror:Z

    if-eqz v14, :cond_7b

    .line 261
    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    const/high16 v15, -0x40800000    # -1.0f

    const/high16 v8, 0x3f800000    # 1.0f

    invoke-virtual {v14, v15, v8, v6, v7}, Landroid/graphics/Matrix;->postScale(FFFF)Z

    .line 263
    :cond_7b
    iget v8, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->clipTop:I

    const/4 v14, 0x0

    if-eqz v8, :cond_8c

    .line 264
    iget-object v15, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    neg-int v8, v8

    const/16 v16, 0x2

    div-int/lit8 v8, v8, 0x2

    int-to-float v8, v8

    invoke-virtual {v15, v14, v8}, Landroid/graphics/Matrix;->postTranslate(FF)Z

    goto :goto_9a

    .line 265
    :cond_8c
    const/16 v16, 0x2

    iget v8, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->clipBottom:I

    if-eqz v8, :cond_9a

    .line 266
    iget-object v15, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    div-int/lit8 v8, v8, 0x2

    int-to-float v8, v8

    invoke-virtual {v15, v14, v8}, Landroid/graphics/Matrix;->postTranslate(FF)Z

    .line 269
    :cond_9a
    :goto_9a
    iget-object v8, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->textureView:Landroid/view/TextureView;

    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    invoke-virtual {v8, v14}, Landroid/view/TextureView;->setTransform(Landroid/graphics/Matrix;)V

    .line 271
    new-instance v8, Landroid/graphics/Matrix;

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

    .line 272
    .local v8, "matrix":Landroid/graphics/Matrix;
    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    invoke-virtual {v14}, Lim/tpelyyftgw/messenger/camera/CameraSession;->getDisplayOrientation()I

    move-result v14

    int-to-float v14, v14

    invoke-virtual {v8, v14}, Landroid/graphics/Matrix;->postRotate(F)Z

    .line 273
    int-to-float v14, v4

    const/high16 v15, 0x44fa0000    # 2000.0f

    div-float/2addr v14, v15

    int-to-float v1, v5

    div-float/2addr v1, v15

    invoke-virtual {v8, v14, v1}, Landroid/graphics/Matrix;->postScale(FF)Z

    .line 274
    int-to-float v1, v4

    const/high16 v14, 0x40000000    # 2.0f

    div-float/2addr v1, v14

    int-to-float v15, v5

    div-float/2addr v15, v14

    invoke-virtual {v8, v1, v15}, Landroid/graphics/Matrix;->postTranslate(FF)Z

    .line 275
    iget-object v1, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->matrix:Landroid/graphics/Matrix;

    invoke-virtual {v8, v1}, Landroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z

    .line 276
    return-void
.end method

.method private calculateTapArea(FFF)Landroid/graphics/Rect;
    .registers 13
    .param p1, "x"    # F
    .param p2, "y"    # F
    .param p3, "coefficient"    # F

    .line 279
    iget v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->focusAreaSize:I

    int-to-float v0, v0

    mul-float v0, v0, p3

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

    move-result-object v0

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

    move-result v0

    .line 281
    .local v0, "areaSize":I
    float-to-int v1, p1

    div-int/lit8 v2, v0, 0x2

    sub-int/2addr v1, v2

    invoke-virtual {p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->getWidth()I

    move-result v2

    sub-int/2addr v2, v0

    const/4 v3, 0x0

    invoke-direct {p0, v1, v3, v2}, Lim/tpelyyftgw/messenger/camera/CameraView;->clamp(III)I

    move-result v1

    .line 282
    .local v1, "left":I
    float-to-int v2, p2

    div-int/lit8 v4, v0, 0x2

    sub-int/2addr v2, v4

    invoke-virtual {p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->getHeight()I

    move-result v4

    sub-int/2addr v4, v0

    invoke-direct {p0, v2, v3, v4}, Lim/tpelyyftgw/messenger/camera/CameraView;->clamp(III)I

    move-result v2

    .line 284
    .local v2, "top":I
    new-instance v3, Landroid/graphics/RectF;

    int-to-float v4, v1

    int-to-float v5, v2

    add-int v6, v1, v0

    int-to-float v6, v6

    add-int v7, v2, v0

    int-to-float v7, v7

    invoke-direct {v3, v4, v5, v6, v7}, Landroid/graphics/RectF;-><init>(FFFF)V

    .line 285
    .local v3, "rectF":Landroid/graphics/RectF;
    iget-object v4, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->matrix:Landroid/graphics/Matrix;

    invoke-virtual {v4, v3}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z

    .line 287
    new-instance v4, Landroid/graphics/Rect;

    iget v5, v3, Landroid/graphics/RectF;->left:F

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

    move-result v5

    iget v6, v3, Landroid/graphics/RectF;->top:F

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

    move-result v6

    iget v7, v3, Landroid/graphics/RectF;->right:F

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

    move-result v7

    iget v8, v3, Landroid/graphics/RectF;->bottom:F

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

    move-result v8

    invoke-direct {v4, v5, v6, v7, v8}, Landroid/graphics/Rect;-><init>(IIII)V

    return-object v4
.end method

.method private checkPreviewMatrix()V
    .registers 4

    .line 223
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->previewSize:Lim/tpelyyftgw/messenger/camera/Size;

    if-nez v0, :cond_5

    .line 224
    return-void

    .line 226
    :cond_5
    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/camera/Size;->getWidth()I

    move-result v0

    iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->previewSize:Lim/tpelyyftgw/messenger/camera/Size;

    invoke-virtual {v1}, Lim/tpelyyftgw/messenger/camera/Size;->getHeight()I

    move-result v1

    invoke-virtual {p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->getContext()Landroid/content/Context;

    move-result-object v2

    check-cast v2, Landroid/app/Activity;

    invoke-virtual {v2}, Landroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;

    move-result-object v2

    invoke-interface {v2}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

    move-result-object v2

    invoke-virtual {v2}, Landroid/view/Display;->getRotation()I

    move-result v2

    invoke-direct {p0, v0, v1, v2}, Lim/tpelyyftgw/messenger/camera/CameraView;->adjustAspectRatio(III)V

    .line 227
    return-void
.end method

.method private clamp(III)I
    .registers 4
    .param p1, "x"    # I
    .param p2, "min"    # I
    .param p3, "max"    # I

    .line 291
    if-le p1, p3, :cond_3

    .line 292
    return p3

    .line 294
    :cond_3
    if-ge p1, p2, :cond_6

    .line 295
    return p2

    .line 297
    :cond_6
    return p1
.end method

.method private initCamera()V
    .registers 18

    .line 112
    move-object/from16 v0, p0

    const/4 v1, 0x0

    .line 113
    .local v1, "info":Lim/tpelyyftgw/messenger/camera/CameraInfo;
    invoke-static {}, Lim/tpelyyftgw/messenger/camera/CameraController;->getInstance()Lim/tpelyyftgw/messenger/camera/CameraController;

    move-result-object v2

    invoke-virtual {v2}, Lim/tpelyyftgw/messenger/camera/CameraController;->getCameras()Ljava/util/ArrayList;

    move-result-object v2

    .line 114
    .local v2, "cameraInfos":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lim/tpelyyftgw/messenger/camera/CameraInfo;>;"
    if-nez v2, :cond_e

    .line 115
    return-void

    .line 117
    :cond_e
    const/4 v3, 0x0

    .local v3, "a":I
    :goto_f
    invoke-virtual {v2}, Ljava/util/ArrayList;->size()I

    move-result v4

    if-ge v3, v4, :cond_30

    .line 118
    invoke-virtual {v2, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Lim/tpelyyftgw/messenger/camera/CameraInfo;

    .line 119
    .local v4, "cameraInfo":Lim/tpelyyftgw/messenger/camera/CameraInfo;
    iget-boolean v5, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->isFrontface:Z

    if-eqz v5, :cond_23

    iget v5, v4, Lim/tpelyyftgw/messenger/camera/CameraInfo;->frontCamera:I

    if-nez v5, :cond_2b

    :cond_23
    iget-boolean v5, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->isFrontface:Z

    if-nez v5, :cond_2d

    iget v5, v4, Lim/tpelyyftgw/messenger/camera/CameraInfo;->frontCamera:I

    if-nez v5, :cond_2d

    .line 120
    :cond_2b
    move-object v1, v4

    .line 121
    goto :goto_30

    .line 117
    .end local v4    # "cameraInfo":Lim/tpelyyftgw/messenger/camera/CameraInfo;
    :cond_2d
    add-int/lit8 v3, v3, 0x1

    goto :goto_f

    .line 124
    .end local v3    # "a":I
    :cond_30
    :goto_30
    if-nez v1, :cond_33

    .line 125
    return-void

    .line 127
    :cond_33
    const v3, 0x3faaaaab

    .line 128
    .local v3, "size4to3":F
    const v4, 0x3fe38e39

    .line 129
    .local v4, "size16to9":F
    sget-object v5, Lim/tpelyyftgw/messenger/AndroidUtilities;->displaySize:Landroid/graphics/Point;

    iget v5, v5, Landroid/graphics/Point;->x:I

    sget-object v6, Lim/tpelyyftgw/messenger/AndroidUtilities;->displaySize:Landroid/graphics/Point;

    iget v6, v6, Landroid/graphics/Point;->y:I

    invoke-static {v5, v6}, Ljava/lang/Math;->max(II)I

    move-result v5

    int-to-float v5, v5

    sget-object v6, Lim/tpelyyftgw/messenger/AndroidUtilities;->displaySize:Landroid/graphics/Point;

    iget v6, v6, Landroid/graphics/Point;->x:I

    sget-object v7, Lim/tpelyyftgw/messenger/AndroidUtilities;->displaySize:Landroid/graphics/Point;

    iget v7, v7, Landroid/graphics/Point;->y:I

    invoke-static {v6, v7}, Ljava/lang/Math;->min(II)I

    move-result v6

    int-to-float v6, v6

    div-float/2addr v5, v6

    .line 133
    .local v5, "screenSize":F
    iget-boolean v6, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->initialFrontface:Z

    const/4 v7, 0x3

    const/4 v8, 0x4

    const v9, 0x3dcccccd    # 0.1f

    const/16 v10, 0x9

    const/16 v11, 0x10

    if-eqz v6, :cond_6b

    .line 134
    new-instance v6, Lim/tpelyyftgw/messenger/camera/Size;

    invoke-direct {v6, v11, v10}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V

    .line 135
    .local v6, "aspectRatio":Lim/tpelyyftgw/messenger/camera/Size;
    const/16 v12, 0x1e0

    .line 136
    .local v12, "wantedWidth":I
    const/16 v13, 0x10e

    .local v13, "wantedHeight":I
    goto :goto_88

    .line 138
    .end local v6    # "aspectRatio":Lim/tpelyyftgw/messenger/camera/Size;
    .end local v12    # "wantedWidth":I
    .end local v13    # "wantedHeight":I
    :cond_6b
    sub-float v6, v5, v3

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

    move-result v6

    cmpg-float v6, v6, v9

    if-gez v6, :cond_7f

    .line 139
    new-instance v6, Lim/tpelyyftgw/messenger/camera/Size;

    invoke-direct {v6, v8, v7}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V

    .line 140
    .restart local v6    # "aspectRatio":Lim/tpelyyftgw/messenger/camera/Size;
    const/16 v12, 0x500

    .line 141
    .restart local v12    # "wantedWidth":I
    const/16 v13, 0x3c0

    .restart local v13    # "wantedHeight":I
    goto :goto_88

    .line 143
    .end local v6    # "aspectRatio":Lim/tpelyyftgw/messenger/camera/Size;
    .end local v12    # "wantedWidth":I
    .end local v13    # "wantedHeight":I
    :cond_7f
    new-instance v6, Lim/tpelyyftgw/messenger/camera/Size;

    invoke-direct {v6, v11, v10}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V

    .line 144
    .restart local v6    # "aspectRatio":Lim/tpelyyftgw/messenger/camera/Size;
    const/16 v12, 0x500

    .line 145
    .restart local v12    # "wantedWidth":I
    const/16 v13, 0x2d0

    .line 148
    .restart local v13    # "wantedHeight":I
    :goto_88
    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->textureView:Landroid/view/TextureView;

    invoke-virtual {v14}, Landroid/view/TextureView;->getWidth()I

    move-result v14

    if-lez v14, :cond_ba

    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->textureView:Landroid/view/TextureView;

    invoke-virtual {v14}, Landroid/view/TextureView;->getHeight()I

    move-result v14

    if-lez v14, :cond_ba

    .line 149
    sget-object v14, Lim/tpelyyftgw/messenger/AndroidUtilities;->displaySize:Landroid/graphics/Point;

    iget v14, v14, Landroid/graphics/Point;->x:I

    sget-object v15, Lim/tpelyyftgw/messenger/AndroidUtilities;->displaySize:Landroid/graphics/Point;

    iget v15, v15, Landroid/graphics/Point;->y:I

    invoke-static {v14, v15}, Ljava/lang/Math;->min(II)I

    move-result v14

    .line 150
    .local v14, "width":I
    invoke-virtual {v6}, Lim/tpelyyftgw/messenger/camera/Size;->getHeight()I

    move-result v15

    mul-int v15, v15, v14

    invoke-virtual {v6}, Lim/tpelyyftgw/messenger/camera/Size;->getWidth()I

    move-result v16

    div-int v15, v15, v16

    .line 151
    .local v15, "height":I
    invoke-virtual {v1}, Lim/tpelyyftgw/messenger/camera/CameraInfo;->getPreviewSizes()Ljava/util/ArrayList;

    move-result-object v10

    invoke-static {v10, v14, v15, v6}, Lim/tpelyyftgw/messenger/camera/CameraController;->chooseOptimalSize(Ljava/util/List;IILim/tpelyyftgw/messenger/camera/Size;)Lim/tpelyyftgw/messenger/camera/Size;

    move-result-object v10

    iput-object v10, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->previewSize:Lim/tpelyyftgw/messenger/camera/Size;

    .line 153
    .end local v14    # "width":I
    .end local v15    # "height":I
    :cond_ba
    invoke-virtual {v1}, Lim/tpelyyftgw/messenger/camera/CameraInfo;->getPictureSizes()Ljava/util/ArrayList;

    move-result-object v10

    invoke-static {v10, v12, v13, v6}, Lim/tpelyyftgw/messenger/camera/CameraController;->chooseOptimalSize(Ljava/util/List;IILim/tpelyyftgw/messenger/camera/Size;)Lim/tpelyyftgw/messenger/camera/Size;

    move-result-object v10

    .line 154
    .local v10, "pictureSize":Lim/tpelyyftgw/messenger/camera/Size;
    invoke-virtual {v10}, Lim/tpelyyftgw/messenger/camera/Size;->getWidth()I

    move-result v14

    const/16 v15, 0x500

    if-lt v14, v15, :cond_fe

    invoke-virtual {v10}, Lim/tpelyyftgw/messenger/camera/Size;->getHeight()I

    move-result v14

    if-lt v14, v15, :cond_fe

    .line 155
    sub-float v14, v5, v3

    invoke-static {v14}, Ljava/lang/Math;->abs(F)F

    move-result v14

    cmpg-float v9, v14, v9

    if-gez v9, :cond_e1

    .line 156
    new-instance v9, Lim/tpelyyftgw/messenger/camera/Size;

    invoke-direct {v9, v7, v8}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V

    move-object v6, v9

    goto :goto_e9

    .line 158
    :cond_e1
    new-instance v7, Lim/tpelyyftgw/messenger/camera/Size;

    const/16 v8, 0x9

    invoke-direct {v7, v8, v11}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V

    move-object v6, v7

    .line 160
    :goto_e9
    invoke-virtual {v1}, Lim/tpelyyftgw/messenger/camera/CameraInfo;->getPictureSizes()Ljava/util/ArrayList;

    move-result-object v7

    invoke-static {v7, v13, v12, v6}, Lim/tpelyyftgw/messenger/camera/CameraController;->chooseOptimalSize(Ljava/util/List;IILim/tpelyyftgw/messenger/camera/Size;)Lim/tpelyyftgw/messenger/camera/Size;

    move-result-object v7

    .line 161
    .local v7, "pictureSize2":Lim/tpelyyftgw/messenger/camera/Size;
    invoke-virtual {v7}, Lim/tpelyyftgw/messenger/camera/Size;->getWidth()I

    move-result v8

    if-lt v8, v15, :cond_fd

    invoke-virtual {v7}, Lim/tpelyyftgw/messenger/camera/Size;->getHeight()I

    move-result v8

    if-ge v8, v15, :cond_fe

    .line 162
    :cond_fd
    move-object v10, v7

    .line 165
    .end local v7    # "pictureSize2":Lim/tpelyyftgw/messenger/camera/Size;
    :cond_fe
    iget-object v7, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->textureView:Landroid/view/TextureView;

    invoke-virtual {v7}, Landroid/view/TextureView;->getSurfaceTexture()Landroid/graphics/SurfaceTexture;

    move-result-object v7

    .line 166
    .local v7, "surfaceTexture":Landroid/graphics/SurfaceTexture;
    iget-object v8, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->previewSize:Lim/tpelyyftgw/messenger/camera/Size;

    if-eqz v8, :cond_135

    if-eqz v7, :cond_135

    .line 167
    invoke-virtual {v8}, Lim/tpelyyftgw/messenger/camera/Size;->getWidth()I

    move-result v8

    iget-object v9, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->previewSize:Lim/tpelyyftgw/messenger/camera/Size;

    invoke-virtual {v9}, Lim/tpelyyftgw/messenger/camera/Size;->getHeight()I

    move-result v9

    invoke-virtual {v7, v8, v9}, Landroid/graphics/SurfaceTexture;->setDefaultBufferSize(II)V

    .line 168
    new-instance v8, Lim/tpelyyftgw/messenger/camera/CameraSession;

    iget-object v9, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->previewSize:Lim/tpelyyftgw/messenger/camera/Size;

    const/16 v11, 0x100

    invoke-direct {v8, v1, v9, v10, v11}, Lim/tpelyyftgw/messenger/camera/CameraSession;-><init>(Lim/tpelyyftgw/messenger/camera/CameraInfo;Lim/tpelyyftgw/messenger/camera/Size;Lim/tpelyyftgw/messenger/camera/Size;I)V

    iput-object v8, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    .line 169
    invoke-static {}, Lim/tpelyyftgw/messenger/camera/CameraController;->getInstance()Lim/tpelyyftgw/messenger/camera/CameraController;

    move-result-object v8

    iget-object v9, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    new-instance v11, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraView$FuDA3xRq2wJPPU1bMO3zBwbzVbw;

    invoke-direct {v11, v0}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraView$FuDA3xRq2wJPPU1bMO3zBwbzVbw;-><init>(Lim/tpelyyftgw/messenger/camera/CameraView;)V

    new-instance v14, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraView$4eKwdFyxJFjycHK33JNpUvqpm1E;

    invoke-direct {v14, v0}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraView$4eKwdFyxJFjycHK33JNpUvqpm1E;-><init>(Lim/tpelyyftgw/messenger/camera/CameraView;)V

    invoke-virtual {v8, v9, v7, v11, v14}, Lim/tpelyyftgw/messenger/camera/CameraController;->open(Lim/tpelyyftgw/messenger/camera/CameraSession;Landroid/graphics/SurfaceTexture;Ljava/lang/Runnable;Ljava/lang/Runnable;)V

    .line 180
    :cond_135
    return-void
.end method


# virtual methods
.method public destroy(ZLjava/lang/Runnable;)V
    .registers 7
    .param p1, "async"    # Z
    .param p2, "beforeDestroyRunnable"    # Ljava/lang/Runnable;

    .line 336
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    if-eqz v0, :cond_1a

    .line 337
    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/camera/CameraSession;->destroy()V

    .line 338
    invoke-static {}, Lim/tpelyyftgw/messenger/camera/CameraController;->getInstance()Lim/tpelyyftgw/messenger/camera/CameraController;

    move-result-object v0

    iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    if-nez p1, :cond_16

    new-instance v2, Ljava/util/concurrent/CountDownLatch;

    const/4 v3, 0x1

    invoke-direct {v2, v3}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V

    goto :goto_17

    :cond_16
    const/4 v2, 0x0

    :goto_17
    invoke-virtual {v0, v1, v2, p2}, Lim/tpelyyftgw/messenger/camera/CameraController;->close(Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/util/concurrent/CountDownLatch;Ljava/lang/Runnable;)V

    .line 340
    :cond_1a
    return-void
.end method

.method protected drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
    .registers 21
    .param p1, "canvas"    # Landroid/graphics/Canvas;
    .param p2, "child"    # Landroid/view/View;
    .param p3, "drawingTime"    # J

    .line 348
    move-object/from16 v0, p0

    move-object/from16 v1, p1

    invoke-super/range {p0 .. p4}, Landroid/widget/FrameLayout;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z

    move-result v2

    .line 349
    .local v2, "result":Z
    iget v3, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->focusProgress:F

    const/high16 v4, 0x3f800000    # 1.0f

    const/4 v5, 0x0

    cmpl-float v3, v3, v4

    if-nez v3, :cond_1d

    iget v3, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerAlpha:F

    cmpl-float v3, v3, v5

    if-nez v3, :cond_1d

    iget v3, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerAlpha:F

    cmpl-float v3, v3, v5

    if-eqz v3, :cond_c9

    .line 350
    :cond_1d
    const/high16 v3, 0x41f00000    # 30.0f

    invoke-static {v3}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I

    move-result v3

    .line 351
    .local v3, "baseRad":I
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v6

    .line 352
    .local v6, "newTime":J
    iget-wide v8, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->lastDrawTime:J

    sub-long v8, v6, v8

    .line 353
    .local v8, "dt":J
    const-wide/16 v10, 0x0

    cmp-long v12, v8, v10

    if-ltz v12, :cond_37

    const-wide/16 v10, 0x11

    cmp-long v12, v8, v10

    if-lez v12, :cond_39

    .line 354
    :cond_37
    const-wide/16 v8, 0x11

    .line 356
    :cond_39
    iput-wide v6, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->lastDrawTime:J

    .line 357
    iget-object v10, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerPaint:Landroid/graphics/Paint;

    iget-object v11, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->interpolator:Landroid/view/animation/DecelerateInterpolator;

    iget v12, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerAlpha:F

    invoke-virtual {v11, v12}, Landroid/view/animation/DecelerateInterpolator;->getInterpolation(F)F

    move-result v11

    const/high16 v12, 0x437f0000    # 255.0f

    mul-float v11, v11, v12

    float-to-int v11, v11

    invoke-virtual {v10, v11}, Landroid/graphics/Paint;->setAlpha(I)V

    .line 358
    iget-object v10, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerPaint:Landroid/graphics/Paint;

    iget-object v11, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->interpolator:Landroid/view/animation/DecelerateInterpolator;

    iget v12, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerAlpha:F

    invoke-virtual {v11, v12}, Landroid/view/animation/DecelerateInterpolator;->getInterpolation(F)F

    move-result v11

    const/high16 v12, 0x42fe0000    # 127.0f

    mul-float v11, v11, v12

    float-to-int v11, v11

    invoke-virtual {v10, v11}, Landroid/graphics/Paint;->setAlpha(I)V

    .line 359
    iget-object v10, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->interpolator:Landroid/view/animation/DecelerateInterpolator;

    iget v11, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->focusProgress:F

    invoke-virtual {v10, v11}, Landroid/view/animation/DecelerateInterpolator;->getInterpolation(F)F

    move-result v10

    .line 360
    .local v10, "interpolated":F
    iget v11, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->cx:I

    int-to-float v11, v11

    iget v12, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->cy:I

    int-to-float v12, v12

    int-to-float v13, v3

    int-to-float v14, v3

    sub-float v15, v4, v10

    mul-float v14, v14, v15

    add-float/2addr v13, v14

    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerPaint:Landroid/graphics/Paint;

    invoke-virtual {v1, v11, v12, v13, v14}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V

    .line 361
    iget v11, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->cx:I

    int-to-float v11, v11

    iget v12, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->cy:I

    int-to-float v12, v12

    int-to-float v13, v3

    mul-float v13, v13, v10

    iget-object v14, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerPaint:Landroid/graphics/Paint;

    invoke-virtual {v1, v11, v12, v13, v14}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V

    .line 363
    iget v11, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->focusProgress:F

    cmpg-float v12, v11, v4

    if-gez v12, :cond_9e

    .line 364
    long-to-float v5, v8

    const/high16 v12, 0x43480000    # 200.0f

    div-float/2addr v5, v12

    add-float/2addr v11, v5

    iput v11, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->focusProgress:F

    .line 365
    cmpl-float v5, v11, v4

    if-lez v5, :cond_9a

    .line 366
    iput v4, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->focusProgress:F

    .line 368
    :cond_9a
    invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->invalidate()V

    goto :goto_c9

    .line 369
    :cond_9e
    iget v4, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerAlpha:F

    const/high16 v11, 0x43160000    # 150.0f

    cmpl-float v12, v4, v5

    if-eqz v12, :cond_b5

    .line 370
    long-to-float v12, v8

    div-float/2addr v12, v11

    sub-float/2addr v4, v12

    iput v4, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerAlpha:F

    .line 371
    cmpg-float v4, v4, v5

    if-gez v4, :cond_b1

    .line 372
    iput v5, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerAlpha:F

    .line 374
    :cond_b1
    invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->invalidate()V

    goto :goto_c9

    .line 375
    :cond_b5
    iget v4, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerAlpha:F

    cmpl-float v12, v4, v5

    if-eqz v12, :cond_c9

    .line 376
    long-to-float v12, v8

    div-float/2addr v12, v11

    sub-float/2addr v4, v12

    iput v4, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerAlpha:F

    .line 377
    cmpg-float v4, v4, v5

    if-gez v4, :cond_c6

    .line 378
    iput v5, v0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerAlpha:F

    .line 380
    :cond_c6
    invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->invalidate()V

    .line 383
    .end local v3    # "baseRad":I
    .end local v6    # "newTime":J
    .end local v8    # "dt":J
    .end local v10    # "interpolated":F
    :cond_c9
    :goto_c9
    return v2
.end method

.method public focusToPoint(II)V
    .registers 8
    .param p1, "x"    # I
    .param p2, "y"    # I

    .line 301
    int-to-float v0, p1

    int-to-float v1, p2

    const/high16 v2, 0x3f800000    # 1.0f

    invoke-direct {p0, v0, v1, v2}, Lim/tpelyyftgw/messenger/camera/CameraView;->calculateTapArea(FFF)Landroid/graphics/Rect;

    move-result-object v0

    .line 302
    .local v0, "focusRect":Landroid/graphics/Rect;
    int-to-float v1, p1

    int-to-float v3, p2

    const/high16 v4, 0x3fc00000    # 1.5f

    invoke-direct {p0, v1, v3, v4}, Lim/tpelyyftgw/messenger/camera/CameraView;->calculateTapArea(FFF)Landroid/graphics/Rect;

    move-result-object v1

    .line 304
    .local v1, "meteringRect":Landroid/graphics/Rect;
    iget-object v3, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    if-eqz v3, :cond_17

    .line 305
    invoke-virtual {v3, v0, v1}, Lim/tpelyyftgw/messenger/camera/CameraSession;->focusToRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V

    .line 308
    :cond_17
    const/4 v3, 0x0

    iput v3, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->focusProgress:F

    .line 309
    iput v2, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->innerAlpha:F

    .line 310
    iput v2, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->outerAlpha:F

    .line 311
    iput p1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cx:I

    .line 312
    iput p2, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cy:I

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

    move-result-wide v2

    iput-wide v2, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->lastDrawTime:J

    .line 314
    invoke-virtual {p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->invalidate()V

    .line 315
    return-void
.end method

.method public getCameraSession()Lim/tpelyyftgw/messenger/camera/CameraSession;
    .registers 2

    .line 332
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    return-object v0
.end method

.method public getMatrix()Landroid/graphics/Matrix;
    .registers 2

    .line 343
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->txform:Landroid/graphics/Matrix;

    return-object v0
.end method

.method public getPreviewSize()Lim/tpelyyftgw/messenger/camera/Size;
    .registers 2

    .line 183
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->previewSize:Lim/tpelyyftgw/messenger/camera/Size;

    return-object v0
.end method

.method public getTextureView()Landroid/view/TextureView;
    .registers 2

    .line 88
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->textureView:Landroid/view/TextureView;

    return-object v0
.end method

.method public hasFrontFaceCamera()Z
    .registers 4

    .line 92
    invoke-static {}, Lim/tpelyyftgw/messenger/camera/CameraController;->getInstance()Lim/tpelyyftgw/messenger/camera/CameraController;

    move-result-object v0

    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/camera/CameraController;->getCameras()Ljava/util/ArrayList;

    move-result-object v0

    .line 93
    .local v0, "cameraInfos":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lim/tpelyyftgw/messenger/camera/CameraInfo;>;"
    const/4 v1, 0x0

    .local v1, "a":I
    :goto_9
    invoke-virtual {v0}, Ljava/util/ArrayList;->size()I

    move-result v2

    if-ge v1, v2, :cond_1e

    .line 94
    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;

    iget v2, v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;->frontCamera:I

    if-eqz v2, :cond_1b

    .line 95
    const/4 v2, 0x1

    return v2

    .line 93
    :cond_1b
    add-int/lit8 v1, v1, 0x1

    goto :goto_9

    .line 98
    .end local v1    # "a":I
    :cond_1e
    const/4 v1, 0x0

    return v1
.end method

.method public isFrontface()Z
    .registers 2

    .line 84
    iget-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->isFrontface:Z

    return v0
.end method

.method public isInitied()Z
    .registers 2

    .line 328
    iget-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->initied:Z

    return v0
.end method

.method public synthetic lambda$initCamera$0$CameraView()V
    .registers 2

    .line 170
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    if-eqz v0, :cond_7

    .line 171
    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/camera/CameraSession;->setInitied()V

    .line 173
    :cond_7
    invoke-direct {p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->checkPreviewMatrix()V

    .line 174
    return-void
.end method

.method public synthetic lambda$initCamera$1$CameraView()V
    .registers 3

    .line 175
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->delegate:Lim/tpelyyftgw/messenger/camera/CameraView$CameraViewDelegate;

    if-eqz v0, :cond_d

    .line 176
    iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    iget-object v1, v1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;

    iget-object v1, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;

    invoke-interface {v0, v1}, Lim/tpelyyftgw/messenger/camera/CameraView$CameraViewDelegate;->onCameraCreated(Landroid/hardware/Camera;)V

    .line 178
    :cond_d
    return-void
.end method

.method protected onLayout(ZIIII)V
    .registers 6
    .param p1, "changed"    # Z
    .param p2, "left"    # I
    .param p3, "top"    # I
    .param p4, "right"    # I
    .param p5, "bottom"    # I

    .line 75
    invoke-super/range {p0 .. p5}, Landroid/widget/FrameLayout;->onLayout(ZIIII)V

    .line 76
    invoke-direct {p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->checkPreviewMatrix()V

    .line 77
    return-void
.end method

.method public onSurfaceTextureAvailable(Landroid/graphics/SurfaceTexture;II)V
    .registers 4
    .param p1, "surface"    # Landroid/graphics/SurfaceTexture;
    .param p2, "width"    # I
    .param p3, "height"    # I

    .line 188
    invoke-direct {p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->initCamera()V

    .line 189
    return-void
.end method

.method public onSurfaceTextureDestroyed(Landroid/graphics/SurfaceTexture;)Z
    .registers 5
    .param p1, "surfaceTexture"    # Landroid/graphics/SurfaceTexture;

    .line 198
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    if-eqz v0, :cond_e

    .line 199
    invoke-static {}, Lim/tpelyyftgw/messenger/camera/CameraController;->getInstance()Lim/tpelyyftgw/messenger/camera/CameraController;

    move-result-object v0

    iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2, v2}, Lim/tpelyyftgw/messenger/camera/CameraController;->close(Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/util/concurrent/CountDownLatch;Ljava/lang/Runnable;)V

    .line 201
    :cond_e
    const/4 v0, 0x0

    return v0
.end method

.method public onSurfaceTextureSizeChanged(Landroid/graphics/SurfaceTexture;II)V
    .registers 4
    .param p1, "surfaceTexture"    # Landroid/graphics/SurfaceTexture;
    .param p2, "width"    # I
    .param p3, "height"    # I

    .line 193
    invoke-direct {p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->checkPreviewMatrix()V

    .line 194
    return-void
.end method

.method public onSurfaceTextureUpdated(Landroid/graphics/SurfaceTexture;)V
    .registers 3
    .param p1, "surface"    # Landroid/graphics/SurfaceTexture;

    .line 206
    iget-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->initied:Z

    if-nez v0, :cond_18

    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    if-eqz v0, :cond_18

    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/camera/CameraSession;->isInitied()Z

    move-result v0

    if-eqz v0, :cond_18

    .line 207
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->delegate:Lim/tpelyyftgw/messenger/camera/CameraView$CameraViewDelegate;

    if-eqz v0, :cond_15

    .line 208
    invoke-interface {v0}, Lim/tpelyyftgw/messenger/camera/CameraView$CameraViewDelegate;->onCameraInit()V

    .line 210
    :cond_15
    const/4 v0, 0x1

    iput-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->initied:Z

    .line 212
    :cond_18
    return-void
.end method

.method public setClipBottom(I)V
    .registers 2
    .param p1, "value"    # I

    .line 219
    iput p1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->clipBottom:I

    .line 220
    return-void
.end method

.method public setClipTop(I)V
    .registers 2
    .param p1, "value"    # I

    .line 215
    iput p1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->clipTop:I

    .line 216
    return-void
.end method

.method public setDelegate(Lim/tpelyyftgw/messenger/camera/CameraView$CameraViewDelegate;)V
    .registers 2
    .param p1, "cameraViewDelegate"    # Lim/tpelyyftgw/messenger/camera/CameraView$CameraViewDelegate;

    .line 324
    iput-object p1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->delegate:Lim/tpelyyftgw/messenger/camera/CameraView$CameraViewDelegate;

    .line 325
    return-void
.end method

.method public setMirror(Z)V
    .registers 2
    .param p1, "value"    # Z

    .line 80
    iput-boolean p1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->mirror:Z

    .line 81
    return-void
.end method

.method public setZoom(F)V
    .registers 3
    .param p1, "value"    # F

    .line 318
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    if-eqz v0, :cond_7

    .line 319
    invoke-virtual {v0, p1}, Lim/tpelyyftgw/messenger/camera/CameraSession;->setZoom(F)V

    .line 321
    :cond_7
    return-void
.end method

.method public switchCamera()V
    .registers 4

    .line 102
    iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    if-eqz v0, :cond_10

    .line 103
    invoke-static {}, Lim/tpelyyftgw/messenger/camera/CameraController;->getInstance()Lim/tpelyyftgw/messenger/camera/CameraController;

    move-result-object v0

    iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2, v2}, Lim/tpelyyftgw/messenger/camera/CameraController;->close(Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/util/concurrent/CountDownLatch;Ljava/lang/Runnable;)V

    .line 104
    iput-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->cameraSession:Lim/tpelyyftgw/messenger/camera/CameraSession;

    .line 106
    :cond_10
    const/4 v0, 0x0

    iput-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->initied:Z

    .line 107
    iget-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->isFrontface:Z

    xor-int/lit8 v0, v0, 0x1

    iput-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraView;->isFrontface:Z

    .line 108
    invoke-direct {p0}, Lim/tpelyyftgw/messenger/camera/CameraView;->initCamera()V

    .line 109
    return-void
.end method