.class public Lcom/forum/im/widget/HeadIconSelectorView; .super Landroid/widget/RelativeLayout; .source "HeadIconSelectorView.java" # interfaces .implements Landroid/view/GestureDetector$OnGestureListener; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/forum/im/widget/HeadIconSelectorView$OnHeadIconClickListener; } .end annotation # static fields .field public static final BLANK_CANCEL:I = 0x5 .field public static final CANCEL:I = 0x4 .field public static final FROM_CAMERA:I = 0x2 .field public static final FROM_GALLERY:I = 0x3 # instance fields .field private baseView:Landroid/view/View; .field private bottomLl:Landroid/widget/LinearLayout; .field private cameraLl:Landroid/widget/LinearLayout; .field private cancelLl:Landroid/widget/LinearLayout; .field private galleryLl:Landroid/widget/LinearLayout; .field private gestureDetector:Landroid/view/GestureDetector; .field private isAnimationing:Z .field private mainRl:Landroid/widget/RelativeLayout; .field private minDistanceY:F .field private minVelocityY:F .field private onHeadIconClickListener:Lcom/forum/im/widget/HeadIconSelectorView$OnHeadIconClickListener; # direct methods .method static bridge synthetic -$$Nest$fgetbottomLl(Lcom/forum/im/widget/HeadIconSelectorView;)Landroid/widget/LinearLayout; .registers 1 iget-object p0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->bottomLl:Landroid/widget/LinearLayout; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetgestureDetector(Lcom/forum/im/widget/HeadIconSelectorView;)Landroid/view/GestureDetector; .registers 1 iget-object p0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->gestureDetector:Landroid/view/GestureDetector; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetonHeadIconClickListener(Lcom/forum/im/widget/HeadIconSelectorView;)Lcom/forum/im/widget/HeadIconSelectorView$OnHeadIconClickListener; .registers 1 iget-object p0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->onHeadIconClickListener:Lcom/forum/im/widget/HeadIconSelectorView$OnHeadIconClickListener; return-object p0 .end method .method static bridge synthetic -$$Nest$fputisAnimationing(Lcom/forum/im/widget/HeadIconSelectorView;Z)V .registers 2 iput-boolean p1, p0, Lcom/forum/im/widget/HeadIconSelectorView;->isAnimationing:Z return-void .end method .method public constructor (Landroid/content/Context;)V .registers 2 .line 41 invoke-direct {p0, p1}, Landroid/widget/RelativeLayout;->(Landroid/content/Context;)V const/4 p1, 0x0 .line 33 iput-boolean p1, p0, Lcom/forum/im/widget/HeadIconSelectorView;->isAnimationing:Z const/high16 p1, 0x42c80000 # 100.0f .line 313 iput p1, p0, Lcom/forum/im/widget/HeadIconSelectorView;->minVelocityY:F .line 314 iput p1, p0, Lcom/forum/im/widget/HeadIconSelectorView;->minDistanceY:F .line 42 invoke-direct {p0}, Lcom/forum/im/widget/HeadIconSelectorView;->init()V return-void .end method .method private findView()V .registers 3 .line 100 new-instance v0, Landroid/view/GestureDetector; invoke-direct {v0, p0}, Landroid/view/GestureDetector;->(Landroid/view/GestureDetector$OnGestureListener;)V iput-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->gestureDetector:Landroid/view/GestureDetector; .line 101 invoke-virtual {p0}, Lcom/forum/im/widget/HeadIconSelectorView;->getContext()Landroid/content/Context; move-result-object v0 invoke-static {v0}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater; move-result-object v0 const v1, 0x7f0c00d7 invoke-virtual {v0, v1, p0}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; move-result-object v0 iput-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->baseView:Landroid/view/View; const v1, 0x7f090160 .line 103 invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/RelativeLayout; iput-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->mainRl:Landroid/widget/RelativeLayout; .line 104 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->baseView:Landroid/view/View; const v1, 0x7f09015f invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/LinearLayout; iput-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->bottomLl:Landroid/widget/LinearLayout; .line 105 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->baseView:Landroid/view/View; const v1, 0x7f09015c .line 106 invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/LinearLayout; iput-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->cameraLl:Landroid/widget/LinearLayout; .line 107 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->baseView:Landroid/view/View; const v1, 0x7f09015e .line 108 invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/LinearLayout; iput-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->galleryLl:Landroid/widget/LinearLayout; .line 109 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->baseView:Landroid/view/View; const v1, 0x7f09015d .line 110 invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/LinearLayout; iput-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->cancelLl:Landroid/widget/LinearLayout; return-void .end method .method private init()V .registers 3 .line 47 invoke-direct {p0}, Lcom/forum/im/widget/HeadIconSelectorView;->findView()V .line 48 new-instance v0, Lcom/forum/im/widget/HeadIconSelectorView$1; invoke-direct {v0, p0}, Lcom/forum/im/widget/HeadIconSelectorView$1;->(Lcom/forum/im/widget/HeadIconSelectorView;)V invoke-virtual {p0, v0}, Lcom/forum/im/widget/HeadIconSelectorView;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V .line 54 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->bottomLl:Landroid/widget/LinearLayout; const/4 v1, 0x4 invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->setVisibility(I)V .line 55 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->mainRl:Landroid/widget/RelativeLayout; new-instance v1, Lcom/forum/im/widget/HeadIconSelectorView$2; invoke-direct {v1, p0}, Lcom/forum/im/widget/HeadIconSelectorView$2;->(Lcom/forum/im/widget/HeadIconSelectorView;)V invoke-virtual {v0, v1}, Landroid/widget/RelativeLayout;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 65 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->cancelLl:Landroid/widget/LinearLayout; new-instance v1, Lcom/forum/im/widget/HeadIconSelectorView$3; invoke-direct {v1, p0}, Lcom/forum/im/widget/HeadIconSelectorView$3;->(Lcom/forum/im/widget/HeadIconSelectorView;)V invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 75 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->cameraLl:Landroid/widget/LinearLayout; new-instance v1, Lcom/forum/im/widget/HeadIconSelectorView$4; invoke-direct {v1, p0}, Lcom/forum/im/widget/HeadIconSelectorView$4;->(Lcom/forum/im/widget/HeadIconSelectorView;)V invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 85 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->galleryLl:Landroid/widget/LinearLayout; new-instance v1, Lcom/forum/im/widget/HeadIconSelectorView$5; invoke-direct {v1, p0}, Lcom/forum/im/widget/HeadIconSelectorView$5;->(Lcom/forum/im/widget/HeadIconSelectorView;)V invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->setOnClickListener(Landroid/view/View$OnClickListener;)V return-void .end method # virtual methods .method protected bottomViewFlyIn()V .registers 21 move-object/from16 v0, p0 .line 114 new-instance v10, Landroid/view/animation/ScaleAnimation; const/4 v8, 0x1 const/high16 v9, 0x3f800000 # 1.0f const/high16 v2, 0x3f800000 # 1.0f const/high16 v3, 0x3f800000 # 1.0f const/4 v4, 0x0 const v5, 0x3f99999a # 1.2f const/4 v6, 0x1 const/high16 v7, 0x3f800000 # 1.0f move-object v1, v10 invoke-direct/range {v1 .. v9}, Landroid/view/animation/ScaleAnimation;->(FFFFIFIF)V const-wide/16 v1, 0xfa .line 116 invoke-virtual {v10, v1, v2}, Landroid/view/animation/ScaleAnimation;->setDuration(J)V .line 117 new-instance v1, Landroid/view/animation/ScaleAnimation; const/16 v18, 0x1 const/high16 v19, 0x3f800000 # 1.0f const/high16 v12, 0x3f800000 # 1.0f const/high16 v13, 0x3f800000 # 1.0f const v14, 0x3f99999a # 1.2f const/high16 v15, 0x3f800000 # 1.0f const/16 v16, 0x1 const/high16 v17, 0x3f800000 # 1.0f move-object v11, v1 invoke-direct/range {v11 .. v19}, Landroid/view/animation/ScaleAnimation;->(FFFFIFIF)V const-wide/16 v2, 0x96 .line 119 invoke-virtual {v1, v2, v3}, Landroid/view/animation/ScaleAnimation;->setDuration(J)V .line 120 new-instance v2, Lcom/forum/im/widget/HeadIconSelectorView$6; invoke-direct {v2, v0, v1}, Lcom/forum/im/widget/HeadIconSelectorView$6;->(Lcom/forum/im/widget/HeadIconSelectorView;Landroid/view/animation/ScaleAnimation;)V invoke-virtual {v10, v2}, Landroid/view/animation/ScaleAnimation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V .line 138 iget-object v1, v0, Lcom/forum/im/widget/HeadIconSelectorView;->bottomLl:Landroid/widget/LinearLayout; invoke-virtual {v1, v10}, Landroid/widget/LinearLayout;->startAnimation(Landroid/view/animation/Animation;)V return-void .end method .method protected bottomViewFlyOut()V .registers 21 move-object/from16 v0, p0 .line 142 new-instance v10, Landroid/view/animation/ScaleAnimation; const/4 v8, 0x1 const/high16 v9, 0x3f800000 # 1.0f const/high16 v2, 0x3f800000 # 1.0f const/high16 v3, 0x3f800000 # 1.0f const/high16 v4, 0x3f800000 # 1.0f const v5, 0x3f99999a # 1.2f const/4 v6, 0x1 const/high16 v7, 0x3f800000 # 1.0f move-object v1, v10 invoke-direct/range {v1 .. v9}, Landroid/view/animation/ScaleAnimation;->(FFFFIFIF)V const-wide/16 v1, 0x96 .line 144 invoke-virtual {v10, v1, v2}, Landroid/view/animation/ScaleAnimation;->setDuration(J)V .line 145 new-instance v1, Landroid/view/animation/ScaleAnimation; const/16 v18, 0x1 const/high16 v19, 0x3f800000 # 1.0f const/high16 v12, 0x3f800000 # 1.0f const/high16 v13, 0x3f800000 # 1.0f const v14, 0x3f99999a # 1.2f const/4 v15, 0x0 const/16 v16, 0x1 const/high16 v17, 0x3f800000 # 1.0f move-object v11, v1 invoke-direct/range {v11 .. v19}, Landroid/view/animation/ScaleAnimation;->(FFFFIFIF)V const-wide/16 v2, 0xfa .line 147 invoke-virtual {v1, v2, v3}, Landroid/view/animation/ScaleAnimation;->setDuration(J)V .line 148 new-instance v2, Lcom/forum/im/widget/HeadIconSelectorView$7; invoke-direct {v2, v0, v1}, Lcom/forum/im/widget/HeadIconSelectorView$7;->(Lcom/forum/im/widget/HeadIconSelectorView;Landroid/view/animation/ScaleAnimation;)V invoke-virtual {v10, v2}, Landroid/view/animation/ScaleAnimation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V .line 165 new-instance v2, Lcom/forum/im/widget/HeadIconSelectorView$8; invoke-direct {v2, v0}, Lcom/forum/im/widget/HeadIconSelectorView$8;->(Lcom/forum/im/widget/HeadIconSelectorView;)V invoke-virtual {v1, v2}, Landroid/view/animation/ScaleAnimation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V .line 182 iget-object v1, v0, Lcom/forum/im/widget/HeadIconSelectorView;->bottomLl:Landroid/widget/LinearLayout; invoke-virtual {v1, v10}, Landroid/widget/LinearLayout;->startAnimation(Landroid/view/animation/Animation;)V return-void .end method .method protected cancel()V .registers 2 .line 186 iget-boolean v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->isAnimationing:Z if-nez v0, :cond_f .line 187 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->bottomLl:Landroid/widget/LinearLayout; invoke-virtual {v0}, Landroid/widget/LinearLayout;->getVisibility()I move-result v0 if-nez v0, :cond_f .line 188 invoke-virtual {p0}, Lcom/forum/im/widget/HeadIconSelectorView;->bottomViewFlyOut()V :cond_f return-void .end method .method protected destroy()V .registers 2 .line 243 invoke-virtual {p0}, Lcom/forum/im/widget/HeadIconSelectorView;->getParent()Landroid/view/ViewParent; move-result-object v0 if-eqz v0, :cond_f .line 244 invoke-virtual {p0}, Lcom/forum/im/widget/HeadIconSelectorView;->getParent()Landroid/view/ViewParent; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; invoke-virtual {v0, p0}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V :cond_f return-void .end method .method public flyIn()V .registers 4 .line 195 new-instance v0, Landroid/view/animation/AlphaAnimation; const/4 v1, 0x0 const/high16 v2, 0x3f800000 # 1.0f invoke-direct {v0, v1, v2}, Landroid/view/animation/AlphaAnimation;->(FF)V const-wide/16 v1, 0x12c .line 196 invoke-virtual {v0, v1, v2}, Landroid/view/animation/AlphaAnimation;->setDuration(J)V .line 197 new-instance v1, Lcom/forum/im/widget/HeadIconSelectorView$9; invoke-direct {v1, p0}, Lcom/forum/im/widget/HeadIconSelectorView$9;->(Lcom/forum/im/widget/HeadIconSelectorView;)V invoke-virtual {v0, v1}, Landroid/view/animation/AlphaAnimation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V .line 215 invoke-virtual {p0, v0}, Lcom/forum/im/widget/HeadIconSelectorView;->startAnimation(Landroid/view/animation/Animation;)V return-void .end method .method public flyOut()V .registers 4 .line 219 new-instance v0, Landroid/view/animation/AlphaAnimation; const/high16 v1, 0x3f800000 # 1.0f const/4 v2, 0x0 invoke-direct {v0, v1, v2}, Landroid/view/animation/AlphaAnimation;->(FF)V const-wide/16 v1, 0x12c .line 220 invoke-virtual {v0, v1, v2}, Landroid/view/animation/AlphaAnimation;->setDuration(J)V .line 221 new-instance v1, Lcom/forum/im/widget/HeadIconSelectorView$10; invoke-direct {v1, p0}, Lcom/forum/im/widget/HeadIconSelectorView$10;->(Lcom/forum/im/widget/HeadIconSelectorView;)V invoke-virtual {v0, v1}, Landroid/view/animation/AlphaAnimation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V .line 239 invoke-virtual {p0, v0}, Lcom/forum/im/widget/HeadIconSelectorView;->startAnimation(Landroid/view/animation/Animation;)V return-void .end method .method public getOnHeadIconClickListener()Lcom/forum/im/widget/HeadIconSelectorView$OnHeadIconClickListener; .registers 2 .line 264 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->onHeadIconClickListener:Lcom/forum/im/widget/HeadIconSelectorView$OnHeadIconClickListener; return-object v0 .end method .method public onDown(Landroid/view/MotionEvent;)Z .registers 2 const/4 p1, 0x0 return p1 .end method .method public onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z .registers 5 .line 326 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result p2 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 sub-float/2addr p2, p1 iget p1, p0, Lcom/forum/im/widget/HeadIconSelectorView;->minDistanceY:F cmpl-float p1, p2, p1 if-lez p1, :cond_18 iget p1, p0, Lcom/forum/im/widget/HeadIconSelectorView;->minVelocityY:F cmpl-float p1, p4, p1 if-lez p1, :cond_18 .line 327 invoke-virtual {p0}, Lcom/forum/im/widget/HeadIconSelectorView;->cancel()V :cond_18 const/4 p1, 0x0 return p1 .end method .method public onKeyDown(ILandroid/view/KeyEvent;)Z .registers 5 const/4 v0, 0x4 if-ne p1, v0, :cond_14 .line 251 iget-boolean v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->isAnimationing:Z const/4 v1, 0x1 if-nez v0, :cond_13 .line 252 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->bottomLl:Landroid/widget/LinearLayout; invoke-virtual {v0}, Landroid/widget/LinearLayout;->getVisibility()I move-result v0 if-nez v0, :cond_14 .line 253 invoke-virtual {p0}, Lcom/forum/im/widget/HeadIconSelectorView;->bottomViewFlyOut()V :cond_13 return v1 .line 260 :cond_14 invoke-super {p0, p1, p2}, Landroid/widget/RelativeLayout;->onKeyDown(ILandroid/view/KeyEvent;)Z move-result p1 return p1 .end method .method public onLongPress(Landroid/view/MotionEvent;)V .registers 2 return-void .end method .method public onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z .registers 5 const/4 p1, 0x0 return p1 .end method .method public onShowPress(Landroid/view/MotionEvent;)V .registers 2 return-void .end method .method public onSingleTapUp(Landroid/view/MotionEvent;)Z .registers 2 const/4 p1, 0x0 return p1 .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .registers 3 .line 279 iget-object v0, p0, Lcom/forum/im/widget/HeadIconSelectorView;->gestureDetector:Landroid/view/GestureDetector; invoke-virtual {v0, p1}, Landroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 .end method .method public setOnHeadIconClickListener(Lcom/forum/im/widget/HeadIconSelectorView$OnHeadIconClickListener;)V .registers 2 .line 269 iput-object p1, p0, Lcom/forum/im/widget/HeadIconSelectorView;->onHeadIconClickListener:Lcom/forum/im/widget/HeadIconSelectorView$OnHeadIconClickListener; return-void .end method