.class public Lcom/common/view/DragGridView; .super Landroid/widget/GridView; .source "DragGridView.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/common/view/DragGridView$DragGridBaseAdapter;, Lcom/common/view/DragGridView$ClickCallBack; } .end annotation # static fields .field public static final TAG:Ljava/lang/String; = "DragGridView" .field private static final speed:I = 0x14 # instance fields .field private dragResponseMS:J .field private isDrag:Z .field private mAnimationEnd:Z .field mClickCallBack:Lcom/common/view/DragGridView$ClickCallBack; .field private mColumnWidth:I .field private mDownScrollBorder:I .field private mDownX:I .field private mDownY:I .field private mDragAdapter:Lcom/common/view/DragGridView$DragGridBaseAdapter; .field private mDragBitmap:Landroid/graphics/Bitmap; .field private mDragImageView:Landroid/widget/ImageView; .field private mDragLastPosition:Z .field private mDragLayout:Landroid/widget/FrameLayout; .field private mDragPosition:I .field private mDragScale:F .field private mDragStartPosition:I .field private mHandler:Landroid/os/Handler; .field private mHorizontalSpacing:I .field private mIsScaleAnima:Z .field private mIsVibrator:Z .field private mLongClickRunnable:Ljava/lang/Runnable; .field private mNumColumns:I .field private mNumColumnsSet:Z .field private mOffset2Left:I .field private mOffset2Top:I .field private mPoint2ItemLeft:I .field private mPoint2ItemTop:I .field private mScaleMill:I .field private mScrollRunnable:Ljava/lang/Runnable; .field private mStartDragItemView:Landroid/view/View; .field private mStartDragPosition:I .field private mStatusHeight:I .field private mUpScrollBorder:I .field private mVibrator:Landroid/os/Vibrator; .field private mViewHeight:I .field private mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; .field private mWindowManager:Landroid/view/WindowManager; .field private moveX:I .field private moveY:I # direct methods .method static bridge synthetic -$$Nest$fgetmDownScrollBorder(Lcom/common/view/DragGridView;)I .registers 1 iget p0, p0, Lcom/common/view/DragGridView;->mDownScrollBorder:I return p0 .end method .method static bridge synthetic -$$Nest$fgetmDownX(Lcom/common/view/DragGridView;)I .registers 1 iget p0, p0, Lcom/common/view/DragGridView;->mDownX:I return p0 .end method .method static bridge synthetic -$$Nest$fgetmDownY(Lcom/common/view/DragGridView;)I .registers 1 iget p0, p0, Lcom/common/view/DragGridView;->mDownY:I return p0 .end method .method static bridge synthetic -$$Nest$fgetmDragBitmap(Lcom/common/view/DragGridView;)Landroid/graphics/Bitmap; .registers 1 iget-object p0, p0, Lcom/common/view/DragGridView;->mDragBitmap:Landroid/graphics/Bitmap; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetmDragPosition(Lcom/common/view/DragGridView;)I .registers 1 iget p0, p0, Lcom/common/view/DragGridView;->mDragPosition:I return p0 .end method .method static bridge synthetic -$$Nest$fgetmHandler(Lcom/common/view/DragGridView;)Landroid/os/Handler; .registers 1 iget-object p0, p0, Lcom/common/view/DragGridView;->mHandler:Landroid/os/Handler; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetmIsVibrator(Lcom/common/view/DragGridView;)Z .registers 1 iget-boolean p0, p0, Lcom/common/view/DragGridView;->mIsVibrator:Z return p0 .end method .method static bridge synthetic -$$Nest$fgetmScrollRunnable(Lcom/common/view/DragGridView;)Ljava/lang/Runnable; .registers 1 iget-object p0, p0, Lcom/common/view/DragGridView;->mScrollRunnable:Ljava/lang/Runnable; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetmStartDragItemView(Lcom/common/view/DragGridView;)Landroid/view/View; .registers 1 iget-object p0, p0, Lcom/common/view/DragGridView;->mStartDragItemView:Landroid/view/View; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetmUpScrollBorder(Lcom/common/view/DragGridView;)I .registers 1 iget p0, p0, Lcom/common/view/DragGridView;->mUpScrollBorder:I return p0 .end method .method static bridge synthetic -$$Nest$fgetmVibrator(Lcom/common/view/DragGridView;)Landroid/os/Vibrator; .registers 1 iget-object p0, p0, Lcom/common/view/DragGridView;->mVibrator:Landroid/os/Vibrator; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetmoveY(Lcom/common/view/DragGridView;)I .registers 1 iget p0, p0, Lcom/common/view/DragGridView;->moveY:I return p0 .end method .method static bridge synthetic -$$Nest$fputisDrag(Lcom/common/view/DragGridView;Z)V .registers 2 iput-boolean p1, p0, Lcom/common/view/DragGridView;->isDrag:Z return-void .end method .method static bridge synthetic -$$Nest$fputmAnimationEnd(Lcom/common/view/DragGridView;Z)V .registers 2 iput-boolean p1, p0, Lcom/common/view/DragGridView;->mAnimationEnd:Z return-void .end method .method static bridge synthetic -$$Nest$fputmDragPosition(Lcom/common/view/DragGridView;I)V .registers 2 iput p1, p0, Lcom/common/view/DragGridView;->mDragPosition:I return-void .end method .method static bridge synthetic -$$Nest$manimateReorder(Lcom/common/view/DragGridView;II)V .registers 3 invoke-direct {p0, p1, p2}, Lcom/common/view/DragGridView;->animateReorder(II)V return-void .end method .method static bridge synthetic -$$Nest$mcreateDragImage(Lcom/common/view/DragGridView;Landroid/graphics/Bitmap;II)V .registers 4 invoke-direct {p0, p1, p2, p3}, Lcom/common/view/DragGridView;->createDragImage(Landroid/graphics/Bitmap;II)V return-void .end method .method static constructor ()V .registers 0 return-void .end method .method public constructor (Landroid/content/Context;)V .registers 3 const/4 v0, 0x0 .line 169 invoke-direct {p0, p1, v0}, Lcom/common/view/DragGridView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .registers 4 const/4 v0, 0x0 .line 173 invoke-direct {p0, p1, p2, v0}, Lcom/common/view/DragGridView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .registers 9 .line 177 invoke-direct {p0, p1, p2, p3}, Landroid/widget/GridView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V const-wide/16 v0, 0x2bc .line 43 iput-wide v0, p0, Lcom/common/view/DragGridView;->dragResponseMS:J const/4 p3, 0x0 .line 48 iput-boolean p3, p0, Lcom/common/view/DragGridView;->isDrag:Z const/4 v0, 0x0 .line 68 iput-object v0, p0, Lcom/common/view/DragGridView;->mStartDragItemView:Landroid/view/View; const/4 v0, 0x1 .line 136 iput-boolean v0, p0, Lcom/common/view/DragGridView;->mAnimationEnd:Z const v1, 0x3f99999a # 1.2f .line 148 iput v1, p0, Lcom/common/view/DragGridView;->mDragScale:F const/16 v2, 0xc8 .line 152 iput v2, p0, Lcom/common/view/DragGridView;->mScaleMill:I .line 156 iput-boolean p3, p0, Lcom/common/view/DragGridView;->mDragLastPosition:Z const/4 v3, 0x7 .line 160 iput v3, p0, Lcom/common/view/DragGridView;->mDragStartPosition:I .line 164 iput-boolean p3, p0, Lcom/common/view/DragGridView;->mIsScaleAnima:Z .line 166 iput-boolean p3, p0, Lcom/common/view/DragGridView;->mIsVibrator:Z .line 199 new-instance v4, Landroid/os/Handler; invoke-direct {v4}, Landroid/os/Handler;->()V iput-object v4, p0, Lcom/common/view/DragGridView;->mHandler:Landroid/os/Handler; .line 202 new-instance v4, Lcom/common/view/DragGridView$1; invoke-direct {v4, p0}, Lcom/common/view/DragGridView$1;->(Lcom/common/view/DragGridView;)V iput-object v4, p0, Lcom/common/view/DragGridView;->mLongClickRunnable:Ljava/lang/Runnable; .line 523 new-instance v4, Lcom/common/view/DragGridView$2; invoke-direct {v4, p0}, Lcom/common/view/DragGridView$2;->(Lcom/common/view/DragGridView;)V iput-object v4, p0, Lcom/common/view/DragGridView;->mScrollRunnable:Ljava/lang/Runnable; .line 179 sget-object v4, Lcom/ledlamp/R$styleable;->DragGridView:[I invoke-virtual {p1, p2, v4}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; move-result-object p2 .line 180 invoke-virtual {p2, v0, v1}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result v1 iput v1, p0, Lcom/common/view/DragGridView;->mDragScale:F const/4 v1, 0x3 .line 181 invoke-virtual {p2, v1, v2}, Landroid/content/res/TypedArray;->getInteger(II)I move-result v1 iput v1, p0, Lcom/common/view/DragGridView;->mScaleMill:I const/4 v1, 0x2 .line 182 invoke-virtual {p2, v1, v3}, Landroid/content/res/TypedArray;->getInteger(II)I move-result v1 iput v1, p0, Lcom/common/view/DragGridView;->mDragStartPosition:I .line 183 invoke-virtual {p2, p3, p3}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result p3 iput-boolean p3, p0, Lcom/common/view/DragGridView;->mDragLastPosition:Z const/4 p3, 0x4 .line 184 invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result p3 iput-boolean p3, p0, Lcom/common/view/DragGridView;->mIsVibrator:Z .line 185 invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V .line 187 invoke-virtual {p0}, Lcom/common/view/DragGridView;->isInEditMode()Z move-result p2 if-nez p2, :cond_81 .line 188 const-string p2, "vibrator" invoke-virtual {p1, p2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p2 check-cast p2, Landroid/os/Vibrator; iput-object p2, p0, Lcom/common/view/DragGridView;->mVibrator:Landroid/os/Vibrator; .line 189 const-string p2, "window" invoke-virtual {p1, p2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p2 check-cast p2, Landroid/view/WindowManager; iput-object p2, p0, Lcom/common/view/DragGridView;->mWindowManager:Landroid/view/WindowManager; .line 190 invoke-static {p1}, Lcom/common/view/DragGridView;->getStatusHeight(Landroid/content/Context;)I move-result p1 iput p1, p0, Lcom/common/view/DragGridView;->mStatusHeight:I .line 193 :cond_81 iget-boolean p1, p0, Lcom/common/view/DragGridView;->mNumColumnsSet:Z if-nez p1, :cond_88 const/4 p1, -0x1 .line 194 iput p1, p0, Lcom/common/view/DragGridView;->mNumColumns:I :cond_88 return-void .end method .method private animateReorder(II)V .registers 12 const/4 v0, 0x1 if-le p2, p1, :cond_5 move v1, v0 goto :goto_6 :cond_5 const/4 v1, 0x0 .line 619 :goto_6 new-instance v2, Ljava/util/LinkedList; invoke-direct {v2}, Ljava/util/LinkedList;->()V if-eqz v1, :cond_4f :goto_d if-ge p1, p2, :cond_93 .line 622 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getFirstVisiblePosition()I move-result v1 sub-int v1, p1, v1 invoke-virtual {p0, v1}, Lcom/common/view/DragGridView;->getChildAt(I)Landroid/view/View; move-result-object v4 if-nez v4, :cond_1c return-void :cond_1c add-int/lit8 p1, p1, 0x1 .line 626 iget v1, p0, Lcom/common/view/DragGridView;->mNumColumns:I rem-int v1, p1, v1 if-nez v1, :cond_3e .line 628 invoke-virtual {v4}, Landroid/view/View;->getWidth()I move-result v1 neg-int v1, v1 iget v3, p0, Lcom/common/view/DragGridView;->mNumColumns:I sub-int/2addr v3, v0 mul-int/2addr v1, v3 int-to-float v5, v1 .line 629 invoke-virtual {v4}, Landroid/view/View;->getHeight()I move-result v1 int-to-float v7, v1 const/4 v8, 0x0 const/4 v6, 0x0 move-object v3, p0 .line 627 invoke-direct/range {v3 .. v8}, Lcom/common/view/DragGridView;->createTranslationAnimations(Landroid/view/View;FFFF)Landroid/animation/AnimatorSet; move-result-object v1 invoke-interface {v2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_d .line 632 :cond_3e invoke-virtual {v4}, Landroid/view/View;->getWidth()I move-result v1 int-to-float v5, v1 const/4 v7, 0x0 const/4 v8, 0x0 const/4 v6, 0x0 move-object v3, p0 .line 631 invoke-direct/range {v3 .. v8}, Lcom/common/view/DragGridView;->createTranslationAnimations(Landroid/view/View;FFFF)Landroid/animation/AnimatorSet; move-result-object v1 invoke-interface {v2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_d :cond_4f :goto_4f if-le p1, p2, :cond_93 .line 637 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getFirstVisiblePosition()I move-result v1 sub-int v1, p1, v1 invoke-virtual {p0, v1}, Lcom/common/view/DragGridView;->getChildAt(I)Landroid/view/View; move-result-object v4 if-nez v4, :cond_5e return-void .line 641 :cond_5e iget v1, p0, Lcom/common/view/DragGridView;->mNumColumns:I add-int v3, p1, v1 rem-int/2addr v3, v1 if-nez v3, :cond_7f .line 643 invoke-virtual {v4}, Landroid/view/View;->getWidth()I move-result v1 iget v3, p0, Lcom/common/view/DragGridView;->mNumColumns:I sub-int/2addr v3, v0 mul-int/2addr v1, v3 int-to-float v5, v1 .line 644 invoke-virtual {v4}, Landroid/view/View;->getHeight()I move-result v1 neg-int v1, v1 int-to-float v7, v1 const/4 v8, 0x0 const/4 v6, 0x0 move-object v3, p0 .line 642 invoke-direct/range {v3 .. v8}, Lcom/common/view/DragGridView;->createTranslationAnimations(Landroid/view/View;FFFF)Landroid/animation/AnimatorSet; move-result-object v1 invoke-interface {v2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_90 .line 647 :cond_7f invoke-virtual {v4}, Landroid/view/View;->getWidth()I move-result v1 neg-int v1, v1 int-to-float v5, v1 const/4 v7, 0x0 const/4 v8, 0x0 const/4 v6, 0x0 move-object v3, p0 .line 646 invoke-direct/range {v3 .. v8}, Lcom/common/view/DragGridView;->createTranslationAnimations(Landroid/view/View;FFFF)Landroid/animation/AnimatorSet; move-result-object v1 invoke-interface {v2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z :goto_90 add-int/lit8 p1, p1, -0x1 goto :goto_4f .line 652 :cond_93 new-instance p1, Landroid/animation/AnimatorSet; invoke-direct {p1}, Landroid/animation/AnimatorSet;->()V .line 653 invoke-virtual {p1, v2}, Landroid/animation/AnimatorSet;->playTogether(Ljava/util/Collection;)V const-wide/16 v0, 0x12c .line 654 invoke-virtual {p1, v0, v1}, Landroid/animation/AnimatorSet;->setDuration(J)Landroid/animation/AnimatorSet; .line 655 new-instance p2, Landroid/view/animation/AccelerateDecelerateInterpolator; invoke-direct {p2}, Landroid/view/animation/AccelerateDecelerateInterpolator;->()V invoke-virtual {p1, p2}, Landroid/animation/AnimatorSet;->setInterpolator(Landroid/animation/TimeInterpolator;)V .line 656 new-instance p2, Lcom/common/view/DragGridView$4; invoke-direct {p2, p0}, Lcom/common/view/DragGridView$4;->(Lcom/common/view/DragGridView;)V invoke-virtual {p1, p2}, Landroid/animation/AnimatorSet;->addListener(Landroid/animation/Animator$AnimatorListener;)V .line 667 invoke-virtual {p1}, Landroid/animation/AnimatorSet;->start()V return-void .end method .method private createDragImage(Landroid/graphics/Bitmap;II)V .registers 7 .line 447 new-instance v0, Landroid/view/WindowManager$LayoutParams; invoke-direct {v0}, Landroid/view/WindowManager$LayoutParams;->()V iput-object v0, p0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; const/4 v1, -0x3 .line 448 iput v1, v0, Landroid/view/WindowManager$LayoutParams;->format:I .line 449 iget-object v0, p0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; const/16 v1, 0x33 iput v1, v0, Landroid/view/WindowManager$LayoutParams;->gravity:I .line 450 iget-object v0, p0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; int-to-float p2, p2 iget v1, p0, Lcom/common/view/DragGridView;->mPoint2ItemLeft:I int-to-float v1, v1 iget v2, p0, Lcom/common/view/DragGridView;->mDragScale:F mul-float/2addr v1, v2 sub-float/2addr p2, v1 iget v1, p0, Lcom/common/view/DragGridView;->mOffset2Left:I int-to-float v1, v1 add-float/2addr p2, v1 float-to-int p2, p2 iput p2, v0, Landroid/view/WindowManager$LayoutParams;->x:I .line 451 iget-object p2, p0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; int-to-float p3, p3 iget v0, p0, Lcom/common/view/DragGridView;->mPoint2ItemTop:I int-to-float v0, v0 iget v1, p0, Lcom/common/view/DragGridView;->mDragScale:F mul-float/2addr v0, v1 sub-float/2addr p3, v0 iget v0, p0, Lcom/common/view/DragGridView;->mOffset2Top:I int-to-float v0, v0 add-float/2addr p3, v0 iget v0, p0, Lcom/common/view/DragGridView;->mStatusHeight:I int-to-float v0, v0 sub-float/2addr p3, v0 float-to-int p3, p3 iput p3, p2, Landroid/view/WindowManager$LayoutParams;->y:I .line 452 iget-object p2, p0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; const/high16 p3, 0x3f800000 # 1.0f iput p3, p2, Landroid/view/WindowManager$LayoutParams;->alpha:F .line 453 iget-object p2, p0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; const/4 p3, -0x2 iput p3, p2, Landroid/view/WindowManager$LayoutParams;->width:I .line 454 iget-object p2, p0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; iput p3, p2, Landroid/view/WindowManager$LayoutParams;->height:I .line 455 iget-object p2, p0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; const/16 p3, 0x18 iput p3, p2, Landroid/view/WindowManager$LayoutParams;->flags:I .line 458 new-instance p2, Landroid/widget/ImageView; invoke-virtual {p0}, Lcom/common/view/DragGridView;->getContext()Landroid/content/Context; move-result-object p3 invoke-direct {p2, p3}, Landroid/widget/ImageView;->(Landroid/content/Context;)V iput-object p2, p0, Lcom/common/view/DragGridView;->mDragImageView:Landroid/widget/ImageView; .line 459 invoke-virtual {p2, p1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V .line 462 new-instance p1, Landroid/widget/FrameLayout; invoke-virtual {p0}, Lcom/common/view/DragGridView;->getContext()Landroid/content/Context; move-result-object p2 invoke-direct {p1, p2}, Landroid/widget/FrameLayout;->(Landroid/content/Context;)V iput-object p1, p0, Lcom/common/view/DragGridView;->mDragLayout:Landroid/widget/FrameLayout; .line 463 iget-object p2, p0, Lcom/common/view/DragGridView;->mDragImageView:Landroid/widget/ImageView; invoke-virtual {p1, p2}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;)V .line 465 iget-object p1, p0, Lcom/common/view/DragGridView;->mWindowManager:Landroid/view/WindowManager; iget-object p2, p0, Lcom/common/view/DragGridView;->mDragLayout:Landroid/widget/FrameLayout; iget-object p3, p0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; invoke-interface {p1, p2, p3}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V return-void .end method .method private createTranslationAnimations(Landroid/view/View;FFFF)Landroid/animation/AnimatorSet; .registers 9 const/4 v0, 0x2 .line 602 new-array v1, v0, [F const/4 v2, 0x0 aput p2, v1, v2 const/4 p2, 0x1 aput p3, v1, p2 const-string p3, "translationX" invoke-static {p1, p3, v1}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator; move-result-object p3 .line 604 new-array v1, v0, [F aput p4, v1, v2 aput p5, v1, p2 const-string p4, "translationY" invoke-static {p1, p4, v1}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator; move-result-object p1 .line 606 new-instance p4, Landroid/animation/AnimatorSet; invoke-direct {p4}, Landroid/animation/AnimatorSet;->()V .line 607 new-array p5, v0, [Landroid/animation/Animator; aput-object p3, p5, v2 aput-object p1, p5, p2 invoke-virtual {p4, p5}, Landroid/animation/AnimatorSet;->playTogether([Landroid/animation/Animator;)V return-object p4 .end method .method private static getStatusHeight(Landroid/content/Context;)I .registers 5 .line 696 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V .line 697 move-object v1, p0 check-cast v1, Landroid/app/Activity; invoke-virtual {v1}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object v1 invoke-virtual {v1}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object v1 invoke-virtual {v1, v0}, Landroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V .line 699 iget v0, v0, Landroid/graphics/Rect;->top:I if-nez v0, :cond_40 .line 703 :try_start_17 const-string v1, "com.android.internal.R$dimen" invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v1 .line 704 invoke-virtual {v1}, Ljava/lang/Class;->newInstance()Ljava/lang/Object; move-result-object v2 .line 705 const-string v3, "status_bar_height" .line 706 invoke-virtual {v1, v3}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field; move-result-object v1 invoke-virtual {v1, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 .line 707 invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v1 .line 705 invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v1 .line 708 invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object p0 invoke-virtual {p0, v1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v0 :try_end_3b .catch Ljava/lang/Exception; {:try_start_17 .. :try_end_3b} :catch_3c goto :goto_40 :catch_3c move-exception p0 .line 710 invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V :cond_40 :goto_40 return v0 .end method .method private isTouchInItem(Landroid/view/View;II)Z .registers 8 const/4 v0, 0x0 if-nez p1, :cond_4 return v0 .line 405 :cond_4 invoke-virtual {p1}, Landroid/view/View;->getLeft()I move-result v1 .line 406 invoke-virtual {p1}, Landroid/view/View;->getTop()I move-result v2 if-lt p2, v1, :cond_22 .line 407 invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v3 add-int/2addr v1, v3 if-le p2, v1, :cond_16 goto :goto_22 :cond_16 if-lt p3, v2, :cond_22 .line 411 invoke-virtual {p1}, Landroid/view/View;->getHeight()I move-result p1 add-int/2addr v2, p1 if-le p3, v2, :cond_20 goto :goto_22 :cond_20 const/4 p1, 0x1 return p1 :cond_22 :goto_22 return v0 .end method .method private onDragItem(II)V .registers 25 move-object/from16 v0, p0 move/from16 v1, p2 .line 483 iget-object v2, v0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; iget v3, v0, Lcom/common/view/DragGridView;->mPoint2ItemLeft:I sub-int v3, p1, v3 iget v4, v0, Lcom/common/view/DragGridView;->mOffset2Left:I add-int/2addr v3, v4 iput v3, v2, Landroid/view/WindowManager$LayoutParams;->x:I .line 484 iget-object v2, v0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; iget v3, v0, Lcom/common/view/DragGridView;->mPoint2ItemTop:I sub-int v3, v1, v3 iget v4, v0, Lcom/common/view/DragGridView;->mOffset2Top:I add-int/2addr v3, v4 iget v4, v0, Lcom/common/view/DragGridView;->mStatusHeight:I sub-int/2addr v3, v4 iput v3, v2, Landroid/view/WindowManager$LayoutParams;->y:I .line 486 iget-object v2, v0, Lcom/common/view/DragGridView;->mWindowManager:Landroid/view/WindowManager; iget-object v3, v0, Lcom/common/view/DragGridView;->mDragLayout:Landroid/widget/FrameLayout; iget-object v4, v0, Lcom/common/view/DragGridView;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams; invoke-interface {v2, v3, v4}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 488 invoke-direct/range {p0 .. p2}, Lcom/common/view/DragGridView;->onSwapItem(II)V .line 491 iget-object v2, v0, Lcom/common/view/DragGridView;->mHandler:Landroid/os/Handler; iget-object v3, v0, Lcom/common/view/DragGridView;->mScrollRunnable:Ljava/lang/Runnable; invoke-virtual {v2, v3}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z .line 495 iget v2, v0, Lcom/common/view/DragGridView;->mViewHeight:I const/4 v3, 0x0 if-le v1, v2, :cond_8e .line 496 iget-boolean v1, v0, Lcom/common/view/DragGridView;->mIsVibrator:Z if-eqz v1, :cond_40 iget-object v1, v0, Lcom/common/view/DragGridView;->mVibrator:Landroid/os/Vibrator; const-wide/16 v4, 0x32 invoke-virtual {v1, v4, v5}, Landroid/os/Vibrator;->vibrate(J)V .line 498 :cond_40 iget-boolean v1, v0, Lcom/common/view/DragGridView;->mIsScaleAnima:Z if-nez v1, :cond_99 .line 499 new-instance v1, Landroid/view/animation/ScaleAnimation; const/4 v11, 0x1 const/high16 v12, 0x3f000000 # 0.5f const/high16 v5, 0x3f800000 # 1.0f const/high16 v6, 0x3f000000 # 0.5f const/high16 v7, 0x3f800000 # 1.0f const/high16 v8, 0x3f000000 # 0.5f const/4 v9, 0x1 const/high16 v10, 0x3f000000 # 0.5f move-object v4, v1 invoke-direct/range {v4 .. v12}, Landroid/view/animation/ScaleAnimation;->(FFFFIFIF)V .line 500 new-instance v2, Landroid/view/animation/TranslateAnimation; const/16 v20, 0x2 const/high16 v21, 0x3e800000 # 0.25f const/4 v14, 0x2 const/4 v15, 0x0 const/16 v16, 0x2 const/16 v17, 0x0 const/16 v18, 0x2 const/16 v19, 0x0 move-object v13, v2 invoke-direct/range {v13 .. v21}, Landroid/view/animation/TranslateAnimation;->(IFIFIFIF)V .line 501 new-instance v4, Landroid/view/animation/AnimationSet; invoke-direct {v4, v3}, Landroid/view/animation/AnimationSet;->(Z)V .line 502 invoke-virtual {v4, v1}, Landroid/view/animation/AnimationSet;->addAnimation(Landroid/view/animation/Animation;)V .line 503 invoke-virtual {v4, v2}, Landroid/view/animation/AnimationSet;->addAnimation(Landroid/view/animation/Animation;)V .line 504 iget v1, v0, Lcom/common/view/DragGridView;->mScaleMill:I int-to-long v1, v1 invoke-virtual {v4, v1, v2}, Landroid/view/animation/AnimationSet;->setDuration(J)V const/4 v1, 0x1 .line 505 invoke-virtual {v4, v1}, Landroid/view/animation/AnimationSet;->setFillAfter(Z)V .line 507 iget-object v2, v0, Lcom/common/view/DragGridView;->mDragImageView:Landroid/widget/ImageView; invoke-virtual {v2}, Landroid/widget/ImageView;->clearAnimation()V .line 508 iget-object v2, v0, Lcom/common/view/DragGridView;->mDragImageView:Landroid/widget/ImageView; invoke-virtual {v2, v4}, Landroid/widget/ImageView;->startAnimation(Landroid/view/animation/Animation;)V .line 509 iput-boolean v1, v0, Lcom/common/view/DragGridView;->mIsScaleAnima:Z goto :goto_99 .line 512 :cond_8e iget-boolean v1, v0, Lcom/common/view/DragGridView;->mIsScaleAnima:Z if-eqz v1, :cond_99 .line 513 iget-object v1, v0, Lcom/common/view/DragGridView;->mDragImageView:Landroid/widget/ImageView; invoke-virtual {v1}, Landroid/widget/ImageView;->clearAnimation()V .line 514 iput-boolean v3, v0, Lcom/common/view/DragGridView;->mIsScaleAnima:Z :cond_99 :goto_99 return-void .end method .method private onStopDrag(II)V .registers 5 .line 674 iget p1, p0, Lcom/common/view/DragGridView;->mDragPosition:I invoke-virtual {p0}, Lcom/common/view/DragGridView;->getFirstVisiblePosition()I move-result v0 sub-int/2addr p1, v0 invoke-virtual {p0, p1}, Lcom/common/view/DragGridView;->getChildAt(I)Landroid/view/View; move-result-object p1 const/4 v0, 0x0 if-eqz p1, :cond_11 .line 676 invoke-virtual {p1, v0}, Landroid/view/View;->setVisibility(I)V .line 678 :cond_11 iget-object p1, p0, Lcom/common/view/DragGridView;->mDragAdapter:Lcom/common/view/DragGridView$DragGridBaseAdapter; const/4 v1, -0x1 invoke-interface {p1, v1}, Lcom/common/view/DragGridView$DragGridBaseAdapter;->setHideItem(I)V .line 679 invoke-direct {p0}, Lcom/common/view/DragGridView;->removeDragImage()V .line 681 iget p1, p0, Lcom/common/view/DragGridView;->mViewHeight:I if-le p2, p1, :cond_27 .line 682 iput-boolean v0, p0, Lcom/common/view/DragGridView;->mIsScaleAnima:Z .line 683 iget-object p1, p0, Lcom/common/view/DragGridView;->mClickCallBack:Lcom/common/view/DragGridView$ClickCallBack; iget p2, p0, Lcom/common/view/DragGridView;->mDragPosition:I invoke-interface {p1, p2}, Lcom/common/view/DragGridView$ClickCallBack;->clickG(I)V :cond_27 return-void .end method .method private onSwapItem(II)V .registers 4 .line 555 invoke-virtual {p0, p1, p2}, Lcom/common/view/DragGridView;->pointToPosition(II)I move-result p1 .line 558 iget p2, p0, Lcom/common/view/DragGridView;->mDragStartPosition:I if-ge p1, p2, :cond_9 return-void .line 563 :cond_9 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getAdapter()Landroid/widget/ListAdapter; move-result-object p2 if-eqz p2, :cond_20 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getAdapter()Landroid/widget/ListAdapter; move-result-object p2 invoke-interface {p2}, Landroid/widget/ListAdapter;->getCount()I move-result p2 add-int/lit8 p2, p2, -0x1 if-ne p1, p2, :cond_20 iget-boolean p2, p0, Lcom/common/view/DragGridView;->mDragLastPosition:Z if-nez p2, :cond_20 return-void .line 568 :cond_20 iget p2, p0, Lcom/common/view/DragGridView;->mDragPosition:I if-eq p1, p2, :cond_41 const/4 v0, -0x1 if-eq p1, v0, :cond_41 iget-boolean v0, p0, Lcom/common/view/DragGridView;->mAnimationEnd:Z if-eqz v0, :cond_41 .line 573 iget-object v0, p0, Lcom/common/view/DragGridView;->mDragAdapter:Lcom/common/view/DragGridView$DragGridBaseAdapter; invoke-interface {v0, p2, p1}, Lcom/common/view/DragGridView$DragGridBaseAdapter;->reorderItems(II)V .line 574 iget-object p2, p0, Lcom/common/view/DragGridView;->mDragAdapter:Lcom/common/view/DragGridView$DragGridBaseAdapter; invoke-interface {p2, p1}, Lcom/common/view/DragGridView$DragGridBaseAdapter;->setHideItem(I)V .line 576 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getViewTreeObserver()Landroid/view/ViewTreeObserver; move-result-object p2 .line 577 new-instance v0, Lcom/common/view/DragGridView$3; invoke-direct {v0, p0, p2, p1}, Lcom/common/view/DragGridView$3;->(Lcom/common/view/DragGridView;Landroid/view/ViewTreeObserver;I)V invoke-virtual {p2, v0}, Landroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V :cond_41 return-void .end method .method private removeDragImage()V .registers 3 .line 472 iget-object v0, p0, Lcom/common/view/DragGridView;->mDragImageView:Landroid/widget/ImageView; if-eqz v0, :cond_10 .line 473 iget-object v0, p0, Lcom/common/view/DragGridView;->mWindowManager:Landroid/view/WindowManager; iget-object v1, p0, Lcom/common/view/DragGridView;->mDragLayout:Landroid/widget/FrameLayout; invoke-interface {v0, v1}, Landroid/view/WindowManager;->removeView(Landroid/view/View;)V const/4 v0, 0x0 .line 474 iput-object v0, p0, Lcom/common/view/DragGridView;->mDragLayout:Landroid/widget/FrameLayout; .line 475 iput-object v0, p0, Lcom/common/view/DragGridView;->mDragImageView:Landroid/widget/ImageView; :cond_10 return-void .end method # virtual methods .method public dispatchTouchEvent(Landroid/view/MotionEvent;)Z .registers 7 .line 307 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/4 v1, 0x1 if-eqz v0, :cond_44 if-eq v0, v1, :cond_29 const/4 v1, 0x2 if-eq v0, v1, :cond_e goto/16 :goto_118 .line 362 :cond_e invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 float-to-int v0, v0 .line 363 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v1 float-to-int v1, v1 .line 366 iget-object v2, p0, Lcom/common/view/DragGridView;->mStartDragItemView:Landroid/view/View; invoke-direct {p0, v2, v0, v1}, Lcom/common/view/DragGridView;->isTouchInItem(Landroid/view/View;II)Z move-result v0 if-nez v0, :cond_118 .line 367 iget-object v0, p0, Lcom/common/view/DragGridView;->mHandler:Landroid/os/Handler; iget-object v1, p0, Lcom/common/view/DragGridView;->mLongClickRunnable:Ljava/lang/Runnable; invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V goto/16 :goto_118 .line 371 :cond_29 iget-object v0, p0, Lcom/common/view/DragGridView;->mHandler:Landroid/os/Handler; iget-object v1, p0, Lcom/common/view/DragGridView;->mLongClickRunnable:Ljava/lang/Runnable; invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V .line 372 iget-object v0, p0, Lcom/common/view/DragGridView;->mHandler:Landroid/os/Handler; iget-object v1, p0, Lcom/common/view/DragGridView;->mScrollRunnable:Ljava/lang/Runnable; invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V .line 373 iget-object v0, p0, Lcom/common/view/DragGridView;->mClickCallBack:Lcom/common/view/DragGridView$ClickCallBack; if-eqz v0, :cond_118 .line 374 iget v1, p0, Lcom/common/view/DragGridView;->mStartDragPosition:I iget v2, p0, Lcom/common/view/DragGridView;->mDragPosition:I invoke-interface {v0, v1, v2}, Lcom/common/view/DragGridView$ClickCallBack;->clickGone(II)V goto/16 :goto_118 .line 309 :cond_44 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 float-to-int v0, v0 iput v0, p0, Lcom/common/view/DragGridView;->mDownX:I .line 310 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v0 float-to-int v0, v0 iput v0, p0, Lcom/common/view/DragGridView;->mDownY:I .line 312 iget-object v0, p0, Lcom/common/view/DragGridView;->mClickCallBack:Lcom/common/view/DragGridView$ClickCallBack; if-eqz v0, :cond_59 .line 313 invoke-interface {v0}, Lcom/common/view/DragGridView$ClickCallBack;->clickD()V .line 317 :cond_59 iget v0, p0, Lcom/common/view/DragGridView;->mDownX:I iget v2, p0, Lcom/common/view/DragGridView;->mDownY:I invoke-virtual {p0, v0, v2}, Lcom/common/view/DragGridView;->pointToPosition(II)I move-result v0 iput v0, p0, Lcom/common/view/DragGridView;->mDragPosition:I .line 318 iget v0, p0, Lcom/common/view/DragGridView;->mDownX:I iget v2, p0, Lcom/common/view/DragGridView;->mDownY:I invoke-virtual {p0, v0, v2}, Lcom/common/view/DragGridView;->pointToPosition(II)I move-result v0 iput v0, p0, Lcom/common/view/DragGridView;->mStartDragPosition:I .line 321 iget v0, p0, Lcom/common/view/DragGridView;->mDragPosition:I iget v2, p0, Lcom/common/view/DragGridView;->mDragStartPosition:I if-ge v0, v2, :cond_78 .line 322 invoke-super {p0, p1}, Landroid/widget/GridView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 .line 325 :cond_78 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getAdapter()Landroid/widget/ListAdapter; move-result-object v0 if-eqz v0, :cond_94 iget v0, p0, Lcom/common/view/DragGridView;->mDragPosition:I invoke-virtual {p0}, Lcom/common/view/DragGridView;->getAdapter()Landroid/widget/ListAdapter; move-result-object v2 invoke-interface {v2}, Landroid/widget/ListAdapter;->getCount()I move-result v2 sub-int/2addr v2, v1 if-ne v0, v2, :cond_94 iget-boolean v0, p0, Lcom/common/view/DragGridView;->mDragLastPosition:Z if-nez v0, :cond_94 .line 326 invoke-super {p0, p1}, Landroid/widget/GridView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 .line 329 :cond_94 iget v0, p0, Lcom/common/view/DragGridView;->mDragPosition:I const/4 v2, -0x1 if-ne v0, v2, :cond_9e .line 330 invoke-super {p0, p1}, Landroid/widget/GridView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 .line 334 :cond_9e iget-object v0, p0, Lcom/common/view/DragGridView;->mHandler:Landroid/os/Handler; iget-object v2, p0, Lcom/common/view/DragGridView;->mLongClickRunnable:Ljava/lang/Runnable; iget-wide v3, p0, Lcom/common/view/DragGridView;->dragResponseMS:J invoke-virtual {v0, v2, v3, v4}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z .line 337 iget v0, p0, Lcom/common/view/DragGridView;->mDragPosition:I invoke-virtual {p0}, Lcom/common/view/DragGridView;->getFirstVisiblePosition()I move-result v2 sub-int/2addr v0, v2 invoke-virtual {p0, v0}, Lcom/common/view/DragGridView;->getChildAt(I)Landroid/view/View; move-result-object v0 iput-object v0, p0, Lcom/common/view/DragGridView;->mStartDragItemView:Landroid/view/View; .line 340 iget v2, p0, Lcom/common/view/DragGridView;->mDownY:I invoke-virtual {v0}, Landroid/view/View;->getTop()I move-result v0 sub-int/2addr v2, v0 iput v2, p0, Lcom/common/view/DragGridView;->mPoint2ItemTop:I .line 341 iget v0, p0, Lcom/common/view/DragGridView;->mDownX:I iget-object v2, p0, Lcom/common/view/DragGridView;->mStartDragItemView:Landroid/view/View; invoke-virtual {v2}, Landroid/view/View;->getLeft()I move-result v2 sub-int/2addr v0, v2 iput v0, p0, Lcom/common/view/DragGridView;->mPoint2ItemLeft:I .line 343 invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F move-result v0 iget v2, p0, Lcom/common/view/DragGridView;->mDownY:I int-to-float v2, v2 sub-float/2addr v0, v2 float-to-int v0, v0 iput v0, p0, Lcom/common/view/DragGridView;->mOffset2Top:I .line 344 invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F move-result v0 iget v2, p0, Lcom/common/view/DragGridView;->mDownX:I int-to-float v2, v2 sub-float/2addr v0, v2 float-to-int v0, v0 iput v0, p0, Lcom/common/view/DragGridView;->mOffset2Left:I .line 347 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getHeight()I move-result v0 div-int/lit8 v0, v0, 0x5 iput v0, p0, Lcom/common/view/DragGridView;->mDownScrollBorder:I .line 349 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getHeight()I move-result v0 mul-int/lit8 v0, v0, 0x4 div-int/lit8 v0, v0, 0x5 iput v0, p0, Lcom/common/view/DragGridView;->mUpScrollBorder:I .line 352 iget-object v0, p0, Lcom/common/view/DragGridView;->mStartDragItemView:Landroid/view/View; invoke-virtual {v0, v1}, Landroid/view/View;->setDrawingCacheEnabled(Z)V .line 354 iget-object v0, p0, Lcom/common/view/DragGridView;->mStartDragItemView:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getDrawingCache()Landroid/graphics/Bitmap; move-result-object v0 .line 356 invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I move-result v2 int-to-float v2, v2 iget v3, p0, Lcom/common/view/DragGridView;->mDragScale:F mul-float/2addr v2, v3 float-to-int v2, v2 invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I move-result v3 int-to-float v3, v3 iget v4, p0, Lcom/common/view/DragGridView;->mDragScale:F mul-float/2addr v3, v4 float-to-int v3, v3 invoke-static {v0, v2, v3, v1}, Landroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap; move-result-object v0 iput-object v0, p0, Lcom/common/view/DragGridView;->mDragBitmap:Landroid/graphics/Bitmap; .line 359 iget-object v0, p0, Lcom/common/view/DragGridView;->mStartDragItemView:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->destroyDrawingCache()V .line 378 :cond_118 :goto_118 invoke-super {p0, p1}, Landroid/widget/GridView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 .end method .method protected onLayout(ZIIII)V .registers 6 .line 287 invoke-super/range {p0 .. p5}, Landroid/widget/GridView;->onLayout(ZIIII)V return-void .end method .method protected onMeasure(II)V .registers 9 .line 258 iget v0, p0, Lcom/common/view/DragGridView;->mNumColumns:I const/4 v1, -0x1 if-ne v0, v1, :cond_38 .line 260 iget v0, p0, Lcom/common/view/DragGridView;->mColumnWidth:I if-lez v0, :cond_35 .line 261 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result v0 .line 262 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getPaddingLeft()I move-result v1 sub-int/2addr v0, v1 invoke-virtual {p0}, Lcom/common/view/DragGridView;->getPaddingRight()I move-result v1 sub-int/2addr v0, v1 const/4 v1, 0x0 .line 261 invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I move-result v0 .line 263 iget v1, p0, Lcom/common/view/DragGridView;->mColumnWidth:I div-int v1, v0, v1 const/4 v2, 0x1 if-lez v1, :cond_36 :goto_23 if-eq v1, v2, :cond_33 .line 266 iget v3, p0, Lcom/common/view/DragGridView;->mColumnWidth:I mul-int/2addr v3, v1 add-int/lit8 v4, v1, -0x1 iget v5, p0, Lcom/common/view/DragGridView;->mHorizontalSpacing:I mul-int/2addr v4, v5 add-int/2addr v3, v4 if-le v3, v0, :cond_33 add-int/lit8 v1, v1, -0x1 goto :goto_23 :cond_33 move v2, v1 goto :goto_36 :cond_35 const/4 v2, 0x2 .line 279 :cond_36 :goto_36 iput v2, p0, Lcom/common/view/DragGridView;->mNumColumns:I .line 282 :cond_38 invoke-super {p0, p1, p2}, Landroid/widget/GridView;->onMeasure(II)V return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .registers 5 .line 420 iget-boolean v0, p0, Lcom/common/view/DragGridView;->isDrag:Z if-eqz v0, :cond_38 iget-object v0, p0, Lcom/common/view/DragGridView;->mDragImageView:Landroid/widget/ImageView; if-eqz v0, :cond_38 .line 421 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/4 v1, 0x1 if-eq v0, v1, :cond_27 const/4 v2, 0x2 if-eq v0, v2, :cond_13 goto :goto_37 .line 423 :cond_13 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 float-to-int v0, v0 iput v0, p0, Lcom/common/view/DragGridView;->moveX:I .line 424 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 float-to-int p1, p1 iput p1, p0, Lcom/common/view/DragGridView;->moveY:I .line 427 iget v0, p0, Lcom/common/view/DragGridView;->moveX:I invoke-direct {p0, v0, p1}, Lcom/common/view/DragGridView;->onDragItem(II)V goto :goto_37 .line 430 :cond_27 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 float-to-int v0, v0 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 float-to-int p1, p1 invoke-direct {p0, v0, p1}, Lcom/common/view/DragGridView;->onStopDrag(II)V const/4 p1, 0x0 .line 431 iput-boolean p1, p0, Lcom/common/view/DragGridView;->isDrag:Z :goto_37 return v1 .line 436 :cond_38 invoke-super {p0, p1}, Landroid/widget/GridView;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 .end method .method public bridge synthetic setAdapter(Landroid/widget/Adapter;)V .registers 2 .line 38 check-cast p1, Landroid/widget/ListAdapter; invoke-virtual {p0, p1}, Lcom/common/view/DragGridView;->setAdapter(Landroid/widget/ListAdapter;)V return-void .end method .method public setAdapter(Landroid/widget/ListAdapter;)V .registers 3 .line 218 invoke-super {p0, p1}, Landroid/widget/GridView;->setAdapter(Landroid/widget/ListAdapter;)V .line 220 invoke-virtual {p0}, Lcom/common/view/DragGridView;->isInEditMode()Z move-result v0 if-nez v0, :cond_1a .line 221 instance-of v0, p1, Lcom/common/view/DragGridView$DragGridBaseAdapter; if-eqz v0, :cond_12 .line 222 check-cast p1, Lcom/common/view/DragGridView$DragGridBaseAdapter; iput-object p1, p0, Lcom/common/view/DragGridView;->mDragAdapter:Lcom/common/view/DragGridView$DragGridBaseAdapter; goto :goto_1a .line 224 :cond_12 new-instance p1, Ljava/lang/IllegalStateException; const-string v0, "the adapter must be implements DragGridAdapter" invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_1a :goto_1a return-void .end method .method public setColumnWidth(I)V .registers 2 .line 243 invoke-super {p0, p1}, Landroid/widget/GridView;->setColumnWidth(I)V .line 244 iput p1, p0, Lcom/common/view/DragGridView;->mColumnWidth:I return-void .end method .method public setDragResponseMS(J)V .registers 3 .line 302 iput-wide p1, p0, Lcom/common/view/DragGridView;->dragResponseMS:J return-void .end method .method public setDragStartPosition(I)V .registers 2 .line 231 iput p1, p0, Lcom/common/view/DragGridView;->mDragStartPosition:I return-void .end method .method public setHorizontalSpacing(I)V .registers 2 .line 249 invoke-super {p0, p1}, Landroid/widget/GridView;->setHorizontalSpacing(I)V .line 250 iput p1, p0, Lcom/common/view/DragGridView;->mHorizontalSpacing:I return-void .end method .method public setNumColumns(I)V .registers 3 .line 236 invoke-super {p0, p1}, Landroid/widget/GridView;->setNumColumns(I)V const/4 v0, 0x1 .line 237 iput-boolean v0, p0, Lcom/common/view/DragGridView;->mNumColumnsSet:Z .line 238 iput p1, p0, Lcom/common/view/DragGridView;->mNumColumns:I return-void .end method .method public setSendCallBack(Lcom/common/view/DragGridView$ClickCallBack;)V .registers 2 .line 391 iput-object p1, p0, Lcom/common/view/DragGridView;->mClickCallBack:Lcom/common/view/DragGridView$ClickCallBack; return-void .end method .method public setViewHeight(I)V .registers 2 .line 293 iput p1, p0, Lcom/common/view/DragGridView;->mViewHeight:I return-void .end method