BottomSheetDialog$ContainerFrameLayout.smali

.class Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;
.super Landroid/widget/FrameLayout;
.source "BottomSheetDialog.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/rey/material/app/BottomSheetDialog;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x2
    name = "ContainerFrameLayout"
.end annotation


# instance fields
.field private mChildTop:I

.field private mClickOutside:Z

.field final synthetic this$0:Lcom/rey/material/app/BottomSheetDialog;


# direct methods
.method public constructor <init>(Lcom/rey/material/app/BottomSheetDialog;Landroid/content/Context;)V
    .registers 3

    .line 389
    iput-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    .line 390
    invoke-direct {p0, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V

    const/4 p1, 0x0

    .line 386
    iput-boolean p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mClickOutside:Z

    const/4 p1, -0x1

    .line 387
    iput p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    return-void
.end method

.method private isOutsideDialog(FF)Z
    .registers 6

    .line 469
    iget p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    int-to-float p1, p1

    const/4 v0, 0x1

    cmpg-float p1, p2, p1

    if-gez p1, :cond_9

    return v0

    :cond_9
    const/4 p1, 0x0

    .line 472
    invoke-virtual {p0, p1}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    if-eqz v1, :cond_1d

    .line 473
    iget v2, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    invoke-virtual {v1}, Landroid/view/View;->getMeasuredHeight()I

    move-result v1

    add-int/2addr v2, v1

    int-to-float v1, v2

    cmpl-float p2, p2, v1

    if-lez p2, :cond_1d

    return v0

    :cond_1d
    return p1
.end method


# virtual methods
.method public dispatchTouchEvent(Landroid/view/MotionEvent;)Z
    .registers 3

    .line 481
    invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z

    move-result v0

    if-nez v0, :cond_17

    iget-object v0, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mGestureDetector:Landroid/view/GestureDetector;
    invoke-static {v0}, Lcom/rey/material/app/BottomSheetDialog;->access$1100(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/GestureDetector;

    move-result-object v0

    if-eqz v0, :cond_17

    .line 482
    iget-object v0, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mGestureDetector:Landroid/view/GestureDetector;
    invoke-static {v0}, Lcom/rey/material/app/BottomSheetDialog;->access$1100(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/GestureDetector;

    move-result-object v0

    invoke-virtual {v0, p1}, Landroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z

    :cond_17
    const/4 p1, 0x1

    return p1
.end method

.method protected onLayout(ZIIII)V
    .registers 8

    const/4 p1, 0x0

    .line 424
    invoke-virtual {p0, p1}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->getChildAt(I)Landroid/view/View;

    move-result-object p2

    if-eqz p2, :cond_b6

    .line 427
    iget p4, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    if-gez p4, :cond_f

    sub-int p4, p5, p3

    .line 428
    iput p4, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    .line 430
    :cond_f
    iget p4, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    invoke-virtual {p2}, Landroid/view/View;->getMeasuredWidth()I

    move-result v0

    sub-int/2addr p5, p3

    iget p3, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    invoke-virtual {p2}, Landroid/view/View;->getMeasuredHeight()I

    move-result v1

    add-int/2addr p3, v1

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

    move-result p3

    invoke-virtual {p2, p1, p4, v0, p3}, Landroid/view/View;->layout(IIII)V

    .line 432
    iget-object p3, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mRunShowAnimation:Z
    invoke-static {p3}, Lcom/rey/material/app/BottomSheetDialog;->access$700(Lcom/rey/material/app/BottomSheetDialog;)Z

    move-result p3

    if-eqz p3, :cond_b6

    .line 433
    iget-object p3, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # setter for: Lcom/rey/material/app/BottomSheetDialog;->mRunShowAnimation:Z
    invoke-static {p3, p1}, Lcom/rey/material/app/BottomSheetDialog;->access$702(Lcom/rey/material/app/BottomSheetDialog;Z)Z

    .line 435
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mAnimation:Landroid/view/animation/Animation;
    invoke-static {p1}, Lcom/rey/material/app/BottomSheetDialog;->access$300(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/animation/Animation;

    move-result-object p1

    if-eqz p1, :cond_48

    .line 436
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mAnimation:Landroid/view/animation/Animation;
    invoke-static {p1}, Lcom/rey/material/app/BottomSheetDialog;->access$300(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/animation/Animation;

    move-result-object p1

    invoke-virtual {p1}, Landroid/view/animation/Animation;->cancel()V

    .line 437
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    const/4 p3, 0x0

    # setter for: Lcom/rey/material/app/BottomSheetDialog;->mAnimation:Landroid/view/animation/Animation;
    invoke-static {p1, p3}, Lcom/rey/material/app/BottomSheetDialog;->access$302(Lcom/rey/material/app/BottomSheetDialog;Landroid/view/animation/Animation;)Landroid/view/animation/Animation;

    .line 440
    :cond_48
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mContentView:Landroid/view/View;
    invoke-static {p1}, Lcom/rey/material/app/BottomSheetDialog;->access$800(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/View;

    move-result-object p1

    if-eqz p1, :cond_b6

    .line 441
    iget p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    if-gez p1, :cond_59

    invoke-virtual {p0}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->getHeight()I

    move-result p1

    goto :goto_5d

    :cond_59
    invoke-virtual {p2}, Landroid/view/View;->getTop()I

    move-result p1

    .line 442
    :goto_5d
    invoke-virtual {p0}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->getMeasuredHeight()I

    move-result p2

    iget-object p3, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mContentView:Landroid/view/View;
    invoke-static {p3}, Lcom/rey/material/app/BottomSheetDialog;->access$800(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/View;

    move-result-object p3

    invoke-virtual {p3}, Landroid/view/View;->getMeasuredHeight()I

    move-result p3

    sub-int/2addr p2, p3

    if-eq p1, p2, :cond_b6

    .line 444
    iget-object p3, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    new-instance p4, Lcom/rey/material/app/BottomSheetDialog$SlideAnimation;

    iget-object p5, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    invoke-direct {p4, p5, p1, p2}, Lcom/rey/material/app/BottomSheetDialog$SlideAnimation;-><init>(Lcom/rey/material/app/BottomSheetDialog;II)V

    # setter for: Lcom/rey/material/app/BottomSheetDialog;->mAnimation:Landroid/view/animation/Animation;
    invoke-static {p3, p4}, Lcom/rey/material/app/BottomSheetDialog;->access$302(Lcom/rey/material/app/BottomSheetDialog;Landroid/view/animation/Animation;)Landroid/view/animation/Animation;

    .line 445
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mAnimation:Landroid/view/animation/Animation;
    invoke-static {p1}, Lcom/rey/material/app/BottomSheetDialog;->access$300(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/animation/Animation;

    move-result-object p1

    iget-object p2, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mInDuration:I
    invoke-static {p2}, Lcom/rey/material/app/BottomSheetDialog;->access$900(Lcom/rey/material/app/BottomSheetDialog;)I

    move-result p2

    int-to-long p2, p2

    invoke-virtual {p1, p2, p3}, Landroid/view/animation/Animation;->setDuration(J)V

    .line 446
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mAnimation:Landroid/view/animation/Animation;
    invoke-static {p1}, Lcom/rey/material/app/BottomSheetDialog;->access$300(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/animation/Animation;

    move-result-object p1

    iget-object p2, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mInInterpolator:Landroid/view/animation/Interpolator;
    invoke-static {p2}, Lcom/rey/material/app/BottomSheetDialog;->access$1000(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/animation/Interpolator;

    move-result-object p2

    invoke-virtual {p1, p2}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V

    .line 447
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mAnimation:Landroid/view/animation/Animation;
    invoke-static {p1}, Lcom/rey/material/app/BottomSheetDialog;->access$300(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/animation/Animation;

    move-result-object p1

    new-instance p2, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout$1;

    invoke-direct {p2, p0}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout$1;-><init>(Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;)V

    invoke-virtual {p1, p2}, Landroid/view/animation/Animation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V

    .line 461
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mContentView:Landroid/view/View;
    invoke-static {p1}, Lcom/rey/material/app/BottomSheetDialog;->access$800(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/View;

    move-result-object p1

    iget-object p2, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mAnimation:Landroid/view/animation/Animation;
    invoke-static {p2}, Lcom/rey/material/app/BottomSheetDialog;->access$300(Lcom/rey/material/app/BottomSheetDialog;)Landroid/view/animation/Animation;

    move-result-object p2

    invoke-virtual {p1, p2}, Landroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V

    :cond_b6
    return-void
.end method

.method protected onMeasure(II)V
    .registers 7

    .line 402
    invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I

    move-result p1

    .line 403
    invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I

    move-result p2

    const/4 v0, 0x0

    .line 405
    invoke-virtual {p0, v0}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    if-eqz v0, :cond_4c

    .line 407
    iget-object v1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mLayoutHeight:I
    invoke-static {v1}, Lcom/rey/material/app/BottomSheetDialog;->access$600(Lcom/rey/material/app/BottomSheetDialog;)I

    move-result v1

    const/4 v2, -0x2

    const/high16 v3, 0x40000000    # 2.0f

    if-eq v1, v2, :cond_3f

    const/4 v2, -0x1

    if-eq v1, v2, :cond_33

    .line 415
    invoke-static {p1, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v1

    iget-object v2, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mLayoutHeight:I
    invoke-static {v2}, Lcom/rey/material/app/BottomSheetDialog;->access$600(Lcom/rey/material/app/BottomSheetDialog;)I

    move-result v2

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

    move-result v2

    invoke-static {v2, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v2

    invoke-virtual {v0, v1, v2}, Landroid/view/View;->measure(II)V

    goto :goto_4c

    .line 412
    :cond_33
    invoke-static {p1, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v1

    invoke-static {p2, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v2

    invoke-virtual {v0, v1, v2}, Landroid/view/View;->measure(II)V

    goto :goto_4c

    .line 409
    :cond_3f
    invoke-static {p1, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v1

    const/high16 v2, -0x80000000

    invoke-static {p2, v2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v2

    invoke-virtual {v0, v1, v2}, Landroid/view/View;->measure(II)V

    .line 419
    :cond_4c
    :goto_4c
    invoke-virtual {p0, p1, p2}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->setMeasuredDimension(II)V

    return-void
.end method

.method public onTouchEvent(Landroid/view/MotionEvent;)Z
    .registers 5

    .line 488
    invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z

    move-result v0

    const/4 v1, 0x1

    if-eqz v0, :cond_8

    return v1

    .line 493
    :cond_8
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v0

    const/4 v2, 0x0

    if-eqz v0, :cond_49

    if-eq v0, v1, :cond_1e

    const/4 p1, 0x2

    if-eq v0, p1, :cond_1b

    const/4 p1, 0x3

    if-eq v0, p1, :cond_18

    return v2

    .line 503
    :cond_18
    iput-boolean v2, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mClickOutside:Z

    return v2

    .line 501
    :cond_1b
    iget-boolean p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mClickOutside:Z

    return p1

    .line 506
    :cond_1e
    iget-boolean v0, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mClickOutside:Z

    if-eqz v0, :cond_48

    invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F

    move-result v0

    invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F

    move-result p1

    invoke-direct {p0, v0, p1}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->isOutsideDialog(FF)Z

    move-result p1

    if-eqz p1, :cond_48

    .line 507
    iput-boolean v2, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mClickOutside:Z

    .line 508
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mCancelable:Z
    invoke-static {p1}, Lcom/rey/material/app/BottomSheetDialog;->access$1200(Lcom/rey/material/app/BottomSheetDialog;)Z

    move-result p1

    if-eqz p1, :cond_47

    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    # getter for: Lcom/rey/material/app/BottomSheetDialog;->mCanceledOnTouchOutside:Z
    invoke-static {p1}, Lcom/rey/material/app/BottomSheetDialog;->access$1300(Lcom/rey/material/app/BottomSheetDialog;)Z

    move-result p1

    if-eqz p1, :cond_47

    .line 509
    iget-object p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->this$0:Lcom/rey/material/app/BottomSheetDialog;

    invoke-virtual {p1}, Lcom/rey/material/app/BottomSheetDialog;->dismiss()V

    :cond_47
    return v1

    :cond_48
    return v2

    .line 495
    :cond_49
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F

    move-result v0

    invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F

    move-result p1

    invoke-direct {p0, v0, p1}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->isOutsideDialog(FF)Z

    move-result p1

    if-eqz p1, :cond_5a

    .line 496
    iput-boolean v1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mClickOutside:Z

    return v1

    :cond_5a
    return v2
.end method

.method public setChildTop(I)V
    .registers 4

    .line 394
    iput p1, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    const/4 p1, 0x0

    .line 395
    invoke-virtual {p0, p1}, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->getChildAt(I)Landroid/view/View;

    move-result-object p1

    if-eqz p1, :cond_13

    .line 397
    iget v0, p0, Lcom/rey/material/app/BottomSheetDialog$ContainerFrameLayout;->mChildTop:I

    invoke-virtual {p1}, Landroid/view/View;->getTop()I

    move-result v1

    sub-int/2addr v0, v1

    invoke-virtual {p1, v0}, Landroid/view/View;->offsetTopAndBottom(I)V

    :cond_13
    return-void
.end method