.class Landroid/support/v4/widget/DrawerLayout$ViewDragCallback; .super Landroid/support/v4/widget/ViewDragHelper$Callback; .source "DrawerLayout.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroid/support/v4/widget/DrawerLayout; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x2 name = "ViewDragCallback" .end annotation # instance fields .field private final mAbsGravity:I .field private mDragger:Landroid/support/v4/widget/ViewDragHelper; .field private final mPeekRunnable:Ljava/lang/Runnable; .field final synthetic this$0:Landroid/support/v4/widget/DrawerLayout; # direct methods .method public constructor (Landroid/support/v4/widget/DrawerLayout;I)V .locals 1 .param p2, "gravity" # I .prologue .line 2001 iput-object p1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-direct {p0}, Landroid/support/v4/widget/ViewDragHelper$Callback;->()V .line 1995 new-instance v0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback$1; invoke-direct {v0, p0}, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback$1;->(Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;)V iput-object v0, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mPeekRunnable:Ljava/lang/Runnable; .line 2002 iput p2, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mAbsGravity:I .line 2003 return-void .end method .method static synthetic access$300(Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;)V .locals 0 .param p0, "x0" # Landroid/support/v4/widget/DrawerLayout$ViewDragCallback; .prologue .line 1991 invoke-direct {p0}, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->peekDrawer()V return-void .end method .method private closeOtherDrawer()V .locals 3 .prologue const/4 v0, 0x3 .line 2052 iget v2, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mAbsGravity:I if-ne v2, v0, :cond_0 const/4 v0, 0x5 .line 2053 .local v0, "otherGrav":I :cond_0 iget-object v2, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v2, v0}, Landroid/support/v4/widget/DrawerLayout;->findDrawerWithGravity(I)Landroid/view/View; move-result-object v1 .line 2054 .local v1, "toClose":Landroid/view/View; if-eqz v1, :cond_1 .line 2055 iget-object v2, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v2, v1}, Landroid/support/v4/widget/DrawerLayout;->closeDrawer(Landroid/view/View;)V .line 2057 :cond_1 return-void .end method .method private peekDrawer()V .locals 9 .prologue const/4 v8, 0x3 const/4 v6, 0x1 const/4 v5, 0x0 .line 2086 iget-object v7, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mDragger:Landroid/support/v4/widget/ViewDragHelper; invoke-virtual {v7}, Landroid/support/v4/widget/ViewDragHelper;->getEdgeSize()I move-result v3 .line 2087 .local v3, "peekDistance":I iget v7, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mAbsGravity:I if-ne v7, v8, :cond_4 move v1, v6 .line 2088 .local v1, "leftEdge":Z :goto_0 if-eqz v1, :cond_5 .line 2089 iget-object v7, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v7, v8}, Landroid/support/v4/widget/DrawerLayout;->findDrawerWithGravity(I)Landroid/view/View; move-result-object v4 .line 2090 .local v4, "toCapture":Landroid/view/View; if-eqz v4, :cond_0 invoke-virtual {v4}, Landroid/view/View;->getWidth()I move-result v5 neg-int v5, v5 :cond_0 add-int v0, v5, v3 .line 2096 .local v0, "childLeft":I :goto_1 if-eqz v4, :cond_3 if-eqz v1, :cond_1 invoke-virtual {v4}, Landroid/view/View;->getLeft()I move-result v5 if-lt v5, v0, :cond_2 :cond_1 if-nez v1, :cond_3 invoke-virtual {v4}, Landroid/view/View;->getLeft()I move-result v5 if-le v5, v0, :cond_3 :cond_2 iget-object v5, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v5, v4}, Landroid/support/v4/widget/DrawerLayout;->getDrawerLockMode(Landroid/view/View;)I move-result v5 if-nez v5, :cond_3 .line 2099 invoke-virtual {v4}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v2 check-cast v2, Landroid/support/v4/widget/DrawerLayout$LayoutParams; .line 2100 .local v2, "lp":Landroid/support/v4/widget/DrawerLayout$LayoutParams; iget-object v5, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mDragger:Landroid/support/v4/widget/ViewDragHelper; invoke-virtual {v4}, Landroid/view/View;->getTop()I move-result v7 invoke-virtual {v5, v4, v0, v7}, Landroid/support/v4/widget/ViewDragHelper;->smoothSlideViewTo(Landroid/view/View;II)Z .line 2101 invoke-static {v2, v6}, Landroid/support/v4/widget/DrawerLayout$LayoutParams;->access$202(Landroid/support/v4/widget/DrawerLayout$LayoutParams;Z)Z .line 2102 iget-object v5, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v5}, Landroid/support/v4/widget/DrawerLayout;->invalidate()V .line 2104 invoke-direct {p0}, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->closeOtherDrawer()V .line 2106 iget-object v5, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v5}, Landroid/support/v4/widget/DrawerLayout;->cancelChildViewTouch()V .line 2108 .end local v2 # "lp":Landroid/support/v4/widget/DrawerLayout$LayoutParams; :cond_3 return-void .end local v0 # "childLeft":I .end local v1 # "leftEdge":Z .end local v4 # "toCapture":Landroid/view/View; :cond_4 move v1, v5 .line 2087 goto :goto_0 .line 2092 .restart local v1 # "leftEdge":Z :cond_5 iget-object v5, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; const/4 v7, 0x5 invoke-virtual {v5, v7}, Landroid/support/v4/widget/DrawerLayout;->findDrawerWithGravity(I)Landroid/view/View; move-result-object v4 .line 2093 .restart local v4 # "toCapture":Landroid/view/View; iget-object v5, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v5}, Landroid/support/v4/widget/DrawerLayout;->getWidth()I move-result v5 sub-int v0, v5, v3 .restart local v0 # "childLeft":I goto :goto_1 .end method # virtual methods .method public clampViewPositionHorizontal(Landroid/view/View;II)I .locals 3 .param p1, "child" # Landroid/view/View; .param p2, "left" # I .param p3, "dx" # I .prologue .line 2143 iget-object v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; const/4 v2, 0x3 invoke-virtual {v1, p1, v2}, Landroid/support/v4/widget/DrawerLayout;->checkDrawerViewAbsoluteGravity(Landroid/view/View;I)Z move-result v1 if-eqz v1, :cond_0 .line 2144 invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v1 neg-int v1, v1 const/4 v2, 0x0 invoke-static {p2, v2}, Ljava/lang/Math;->min(II)I move-result v2 invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I move-result v1 .line 2147 :goto_0 return v1 .line 2146 :cond_0 iget-object v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v1}, Landroid/support/v4/widget/DrawerLayout;->getWidth()I move-result v0 .line 2147 .local v0, "width":I invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v1 sub-int v1, v0, v1 invoke-static {p2, v0}, Ljava/lang/Math;->min(II)I move-result v2 invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I move-result v1 goto :goto_0 .end method .method public clampViewPositionVertical(Landroid/view/View;II)I .locals 1 .param p1, "child" # Landroid/view/View; .param p2, "top" # I .param p3, "dy" # I .prologue .line 2153 invoke-virtual {p1}, Landroid/view/View;->getTop()I move-result v0 return v0 .end method .method public getViewHorizontalDragRange(Landroid/view/View;)I .locals 1 .param p1, "child" # Landroid/view/View; .prologue .line 2138 iget-object v0, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v0, p1}, Landroid/support/v4/widget/DrawerLayout;->isDrawerView(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v0 :goto_0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 .end method .method public onEdgeDragStarted(II)V .locals 3 .param p1, "edgeFlags" # I .param p2, "pointerId" # I .prologue .line 2125 and-int/lit8 v1, p1, 0x1 const/4 v2, 0x1 if-ne v1, v2, :cond_1 .line 2126 iget-object v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; const/4 v2, 0x3 invoke-virtual {v1, v2}, Landroid/support/v4/widget/DrawerLayout;->findDrawerWithGravity(I)Landroid/view/View; move-result-object v0 .line 2131 .local v0, "toCapture":Landroid/view/View; :goto_0 if-eqz v0, :cond_0 iget-object v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v1, v0}, Landroid/support/v4/widget/DrawerLayout;->getDrawerLockMode(Landroid/view/View;)I move-result v1 if-nez v1, :cond_0 .line 2132 iget-object v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mDragger:Landroid/support/v4/widget/ViewDragHelper; invoke-virtual {v1, v0, p2}, Landroid/support/v4/widget/ViewDragHelper;->captureChildView(Landroid/view/View;I)V .line 2134 :cond_0 return-void .line 2128 .end local v0 # "toCapture":Landroid/view/View; :cond_1 iget-object v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; const/4 v2, 0x5 invoke-virtual {v1, v2}, Landroid/support/v4/widget/DrawerLayout;->findDrawerWithGravity(I)Landroid/view/View; move-result-object v0 .restart local v0 # "toCapture":Landroid/view/View; goto :goto_0 .end method .method public onEdgeLock(I)Z .locals 1 .param p1, "edgeFlags" # I .prologue .line 2119 const/4 v0, 0x0 return v0 .end method .method public onEdgeTouched(II)V .locals 4 .param p1, "edgeFlags" # I .param p2, "pointerId" # I .prologue .line 2080 iget-object v0, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; iget-object v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mPeekRunnable:Ljava/lang/Runnable; const-wide/16 v2, 0xa0 invoke-virtual {v0, v1, v2, v3}, Landroid/support/v4/widget/DrawerLayout;->postDelayed(Ljava/lang/Runnable;J)Z .line 2081 return-void .end method .method public onViewCaptured(Landroid/view/View;I)V .locals 2 .param p1, "capturedChild" # Landroid/view/View; .param p2, "activePointerId" # I .prologue .line 2045 invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 check-cast v0, Landroid/support/v4/widget/DrawerLayout$LayoutParams; .line 2046 .local v0, "lp":Landroid/support/v4/widget/DrawerLayout$LayoutParams; const/4 v1, 0x0 invoke-static {v0, v1}, Landroid/support/v4/widget/DrawerLayout$LayoutParams;->access$202(Landroid/support/v4/widget/DrawerLayout$LayoutParams;Z)Z .line 2048 invoke-direct {p0}, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->closeOtherDrawer()V .line 2049 return-void .end method .method public onViewDragStateChanged(I)V .locals 3 .param p1, "state" # I .prologue .line 2023 iget-object v0, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; iget v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mAbsGravity:I iget-object v2, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mDragger:Landroid/support/v4/widget/ViewDragHelper; invoke-virtual {v2}, Landroid/support/v4/widget/ViewDragHelper;->getCapturedView()Landroid/view/View; move-result-object v2 invoke-virtual {v0, v1, p1, v2}, Landroid/support/v4/widget/DrawerLayout;->updateDrawerState(IILandroid/view/View;)V .line 2024 return-void .end method .method public onViewPositionChanged(Landroid/view/View;IIII)V .locals 5 .param p1, "changedView" # Landroid/view/View; .param p2, "left" # I .param p3, "top" # I .param p4, "dx" # I .param p5, "dy" # I .prologue .line 2029 invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v0 .line 2032 .local v0, "childWidth":I iget-object v3, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; const/4 v4, 0x3 invoke-virtual {v3, p1, v4}, Landroid/support/v4/widget/DrawerLayout;->checkDrawerViewAbsoluteGravity(Landroid/view/View;I)Z move-result v3 if-eqz v3, :cond_0 .line 2033 add-int v3, v0, p2 int-to-float v3, v3 int-to-float v4, v0 div-float v1, v3, v4 .line 2038 .local v1, "offset":F :goto_0 iget-object v3, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v3, p1, v1}, Landroid/support/v4/widget/DrawerLayout;->setDrawerViewOffset(Landroid/view/View;F)V .line 2039 const/4 v3, 0x0 cmpl-float v3, v1, v3 if-nez v3, :cond_1 const/4 v3, 0x4 :goto_1 invoke-virtual {p1, v3}, Landroid/view/View;->setVisibility(I)V .line 2040 iget-object v3, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v3}, Landroid/support/v4/widget/DrawerLayout;->invalidate()V .line 2041 return-void .line 2035 .end local v1 # "offset":F :cond_0 iget-object v3, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v3}, Landroid/support/v4/widget/DrawerLayout;->getWidth()I move-result v2 .line 2036 .local v2, "width":I sub-int v3, v2, p2 int-to-float v3, v3 int-to-float v4, v0 div-float v1, v3, v4 .restart local v1 # "offset":F goto :goto_0 .line 2039 .end local v2 # "width":I :cond_1 const/4 v3, 0x0 goto :goto_1 .end method .method public onViewReleased(Landroid/view/View;FF)V .locals 8 .param p1, "releasedChild" # Landroid/view/View; .param p2, "xvel" # F .param p3, "yvel" # F .prologue const/high16 v7, 0x3f000000 # 0.5f const/4 v6, 0x0 .line 2063 iget-object v4, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v4, p1}, Landroid/support/v4/widget/DrawerLayout;->getDrawerViewOffset(Landroid/view/View;)F move-result v2 .line 2064 .local v2, "offset":F invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v0 .line 2067 .local v0, "childWidth":I iget-object v4, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; const/4 v5, 0x3 invoke-virtual {v4, p1, v5}, Landroid/support/v4/widget/DrawerLayout;->checkDrawerViewAbsoluteGravity(Landroid/view/View;I)Z move-result v4 if-eqz v4, :cond_2 .line 2068 cmpl-float v4, p2, v6 if-gtz v4, :cond_0 cmpl-float v4, p2, v6 if-nez v4, :cond_1 cmpl-float v4, v2, v7 if-lez v4, :cond_1 :cond_0 const/4 v1, 0x0 .line 2074 .local v1, "left":I :goto_0 iget-object v4, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mDragger:Landroid/support/v4/widget/ViewDragHelper; invoke-virtual {p1}, Landroid/view/View;->getTop()I move-result v5 invoke-virtual {v4, v1, v5}, Landroid/support/v4/widget/ViewDragHelper;->settleCapturedViewAt(II)Z .line 2075 iget-object v4, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v4}, Landroid/support/v4/widget/DrawerLayout;->invalidate()V .line 2076 return-void .line 2068 .end local v1 # "left":I :cond_1 neg-int v1, v0 goto :goto_0 .line 2070 :cond_2 iget-object v4, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v4}, Landroid/support/v4/widget/DrawerLayout;->getWidth()I move-result v3 .line 2071 .local v3, "width":I cmpg-float v4, p2, v6 if-ltz v4, :cond_3 cmpl-float v4, p2, v6 if-nez v4, :cond_4 cmpl-float v4, v2, v7 if-lez v4, :cond_4 :cond_3 sub-int v1, v3, v0 .restart local v1 # "left":I :goto_1 goto :goto_0 .end local v1 # "left":I :cond_4 move v1, v3 goto :goto_1 .end method .method public removeCallbacks()V .locals 2 .prologue .line 2010 iget-object v0, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; iget-object v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mPeekRunnable:Ljava/lang/Runnable; invoke-virtual {v0, v1}, Landroid/support/v4/widget/DrawerLayout;->removeCallbacks(Ljava/lang/Runnable;)Z .line 2011 return-void .end method .method public setDragger(Landroid/support/v4/widget/ViewDragHelper;)V .locals 0 .param p1, "dragger" # Landroid/support/v4/widget/ViewDragHelper; .prologue .line 2006 iput-object p1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mDragger:Landroid/support/v4/widget/ViewDragHelper; .line 2007 return-void .end method .method public tryCaptureView(Landroid/view/View;I)Z .locals 2 .param p1, "child" # Landroid/view/View; .param p2, "pointerId" # I .prologue .line 2017 iget-object v0, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v0, p1}, Landroid/support/v4/widget/DrawerLayout;->isDrawerView(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; iget v1, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->mAbsGravity:I invoke-virtual {v0, p1, v1}, Landroid/support/v4/widget/DrawerLayout;->checkDrawerViewAbsoluteGravity(Landroid/view/View;I)Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;->this$0:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v0, p1}, Landroid/support/v4/widget/DrawerLayout;->getDrawerLockMode(Landroid/view/View;)I move-result v0 if-nez v0, :cond_0 const/4 v0, 0x1 :goto_0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 .end method