.class public Lcom/google/android/material/behavior/SwipeDismissBehavior; .super Landroidx/coordinatorlayout/widget/CoordinatorLayout$Behavior; .source "SwipeDismissBehavior.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/android/material/behavior/SwipeDismissBehavior$SettleRunnable;, Lcom/google/android/material/behavior/SwipeDismissBehavior$OnDismissListener; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Landroidx/coordinatorlayout/widget/CoordinatorLayout$Behavior<", "TV;>;" } .end annotation # static fields .field private static final DEFAULT_ALPHA_END_DISTANCE:F = 0.5f .field private static final DEFAULT_ALPHA_START_DISTANCE:F = 0.0f .field private static final DEFAULT_DRAG_DISMISS_THRESHOLD:F = 0.5f .field public static final STATE_DRAGGING:I = 0x1 .field public static final STATE_IDLE:I = 0x0 .field public static final STATE_SETTLING:I = 0x2 .field public static final SWIPE_DIRECTION_ANY:I = 0x2 .field public static final SWIPE_DIRECTION_END_TO_START:I = 0x1 .field public static final SWIPE_DIRECTION_START_TO_END:I # instance fields .field alphaEndSwipeDistance:F .field alphaStartSwipeDistance:F .field private final dragCallback:Landroidx/customview/widget/ViewDragHelper$Callback; .field dragDismissThreshold:F .field private interceptingEvents:Z .field listener:Lcom/google/android/material/behavior/SwipeDismissBehavior$OnDismissListener; .field private sensitivity:F .field private sensitivitySet:Z .field swipeDirection:I .field viewDragHelper:Landroidx/customview/widget/ViewDragHelper; # direct methods .method public constructor ()V .registers 3 .line 38 invoke-direct {p0}, Landroidx/coordinatorlayout/widget/CoordinatorLayout$Behavior;->()V const/4 v0, 0x0 .line 84 iput v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->sensitivity:F const/4 v1, 0x2 .line 87 iput v1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->swipeDirection:I const/high16 v1, 0x3f000000 # 0.5f .line 88 iput v1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->dragDismissThreshold:F .line 89 iput v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->alphaStartSwipeDistance:F .line 90 iput v1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->alphaEndSwipeDistance:F .line 207 new-instance v0, Lcom/google/android/material/behavior/SwipeDismissBehavior$1; invoke-direct {v0, p0}, Lcom/google/android/material/behavior/SwipeDismissBehavior$1;->(Lcom/google/android/material/behavior/SwipeDismissBehavior;)V iput-object v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->dragCallback:Landroidx/customview/widget/ViewDragHelper$Callback; return-void .end method .method static clamp(FFF)F .registers 3 .line 384 invoke-static {p0, p1}, Ljava/lang/Math;->max(FF)F move-result p0 invoke-static {p0, p2}, Ljava/lang/Math;->min(FF)F move-result p0 return p0 .end method .method static clamp(III)I .registers 3 .line 388 invoke-static {p0, p1}, Ljava/lang/Math;->max(II)I move-result p0 invoke-static {p0, p2}, Ljava/lang/Math;->min(II)I move-result p0 return p0 .end method .method private ensureViewDragHelper(Landroid/view/ViewGroup;)V .registers 4 .line 354 iget-object v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->viewDragHelper:Landroidx/customview/widget/ViewDragHelper; if-nez v0, :cond_19 .line 355 iget-boolean v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->sensitivitySet:Z if-eqz v0, :cond_11 iget v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->sensitivity:F iget-object v1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->dragCallback:Landroidx/customview/widget/ViewDragHelper$Callback; .line 357 invoke-static {p1, v0, v1}, Landroidx/customview/widget/ViewDragHelper;->create(Landroid/view/ViewGroup;FLandroidx/customview/widget/ViewDragHelper$Callback;)Landroidx/customview/widget/ViewDragHelper; move-result-object p1 goto :goto_17 :cond_11 iget-object v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->dragCallback:Landroidx/customview/widget/ViewDragHelper$Callback; .line 358 invoke-static {p1, v0}, Landroidx/customview/widget/ViewDragHelper;->create(Landroid/view/ViewGroup;Landroidx/customview/widget/ViewDragHelper$Callback;)Landroidx/customview/widget/ViewDragHelper; move-result-object p1 :goto_17 iput-object p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->viewDragHelper:Landroidx/customview/widget/ViewDragHelper; :cond_19 return-void .end method .method static fraction(FFF)F .registers 3 sub-float/2addr p2, p0 sub-float/2addr p1, p0 div-float/2addr p2, p1 return p2 .end method # virtual methods .method public canSwipeDismissView(Landroid/view/View;)Z .registers 2 const/4 p1, 0x1 return p1 .end method .method public getDragState()I .registers 2 .line 398 iget-object v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->viewDragHelper:Landroidx/customview/widget/ViewDragHelper; if-eqz v0, :cond_9 invoke-virtual {v0}, Landroidx/customview/widget/ViewDragHelper;->getViewDragState()I move-result v0 goto :goto_a :cond_9 const/4 v0, 0x0 :goto_a return v0 .end method .method public onInterceptTouchEvent(Landroidx/coordinatorlayout/widget/CoordinatorLayout;Landroid/view/View;Landroid/view/MotionEvent;)Z .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/coordinatorlayout/widget/CoordinatorLayout;", "TV;", "Landroid/view/MotionEvent;", ")Z" } .end annotation .line 166 iget-boolean v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->interceptingEvents:Z .line 168 invoke-virtual {p3}, Landroid/view/MotionEvent;->getActionMasked()I move-result v1 const/4 v2, 0x0 if-eqz v1, :cond_13 const/4 p2, 0x1 if-eq v1, p2, :cond_10 const/4 p2, 0x3 if-eq v1, p2, :cond_10 goto :goto_23 .line 177 :cond_10 iput-boolean v2, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->interceptingEvents:Z goto :goto_23 .line 171 :cond_13 invoke-virtual {p3}, Landroid/view/MotionEvent;->getX()F move-result v0 float-to-int v0, v0 invoke-virtual {p3}, Landroid/view/MotionEvent;->getY()F move-result v1 float-to-int v1, v1 invoke-virtual {p1, p2, v0, v1}, Landroidx/coordinatorlayout/widget/CoordinatorLayout;->isPointInChildBounds(Landroid/view/View;II)Z move-result v0 iput-boolean v0, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->interceptingEvents:Z :goto_23 if-eqz v0, :cond_2f .line 182 invoke-direct {p0, p1}, Lcom/google/android/material/behavior/SwipeDismissBehavior;->ensureViewDragHelper(Landroid/view/ViewGroup;)V .line 183 iget-object p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->viewDragHelper:Landroidx/customview/widget/ViewDragHelper; invoke-virtual {p1, p3}, Landroidx/customview/widget/ViewDragHelper;->shouldInterceptTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 :cond_2f return v2 .end method .method public onTouchEvent(Landroidx/coordinatorlayout/widget/CoordinatorLayout;Landroid/view/View;Landroid/view/MotionEvent;)Z .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/coordinatorlayout/widget/CoordinatorLayout;", "TV;", "Landroid/view/MotionEvent;", ")Z" } .end annotation .line 190 iget-object p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->viewDragHelper:Landroidx/customview/widget/ViewDragHelper; if-eqz p1, :cond_9 .line 191 invoke-virtual {p1, p3}, Landroidx/customview/widget/ViewDragHelper;->processTouchEvent(Landroid/view/MotionEvent;)V const/4 p1, 0x1 return p1 :cond_9 const/4 p1, 0x0 return p1 .end method .method public setDragDismissDistance(F)V .registers 4 const/4 v0, 0x0 const/high16 v1, 0x3f800000 # 1.0f .line 131 invoke-static {v0, p1, v1}, Lcom/google/android/material/behavior/SwipeDismissBehavior;->clamp(FFF)F move-result p1 iput p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->dragDismissThreshold:F return-void .end method .method public setEndAlphaSwipeDistance(F)V .registers 4 const/4 v0, 0x0 const/high16 v1, 0x3f800000 # 1.0f .line 149 invoke-static {v0, p1, v1}, Lcom/google/android/material/behavior/SwipeDismissBehavior;->clamp(FFF)F move-result p1 iput p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->alphaEndSwipeDistance:F return-void .end method .method public setListener(Lcom/google/android/material/behavior/SwipeDismissBehavior$OnDismissListener;)V .registers 2 .line 112 iput-object p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->listener:Lcom/google/android/material/behavior/SwipeDismissBehavior$OnDismissListener; return-void .end method .method public setSensitivity(F)V .registers 2 .line 160 iput p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->sensitivity:F const/4 p1, 0x1 .line 161 iput-boolean p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->sensitivitySet:Z return-void .end method .method public setStartAlphaSwipeDistance(F)V .registers 4 const/4 v0, 0x0 const/high16 v1, 0x3f800000 # 1.0f .line 140 invoke-static {v0, p1, v1}, Lcom/google/android/material/behavior/SwipeDismissBehavior;->clamp(FFF)F move-result p1 iput p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->alphaStartSwipeDistance:F return-void .end method .method public setSwipeDirection(I)V .registers 2 .line 122 iput p1, p0, Lcom/google/android/material/behavior/SwipeDismissBehavior;->swipeDirection:I return-void .end method