RecycleViewPager.smali
.class public Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;
.super Landroid/support/v4/view/ViewPager;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager$OnTouchPagerListener;
}
.end annotation
# instance fields
.field private mListener:Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager$OnTouchPagerListener;
.field private mScroller:Lcom/sdk/orion/ui/baselibrary/widget/banner/ScrollerCustomDuration;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
invoke-direct {p0, p1, p2}, Landroid/support/v4/view/ViewPager;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 v0, 0x0
iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->mScroller:Lcom/sdk/orion/ui/baselibrary/widget/banner/ScrollerCustomDuration;
invoke-direct {p0}, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->postInitViewPager()V
return-void
.end method
.method private postInitViewPager()V
.registers 6
:try_start_0
const-class v0, Landroid/support/v4/view/ViewPager;
const-string/jumbo v1, "mScroller"
invoke-virtual {v0, v1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
const/4 v0, 0x1
invoke-virtual {v1, v0}, Ljava/lang/reflect/Field;->setAccessible(Z)V
const-class v0, Landroid/support/v4/view/ViewPager;
const-string/jumbo v2, "sInterpolator"
invoke-virtual {v0, v2}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
const/4 v2, 0x1
invoke-virtual {v0, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V
new-instance v2, Lcom/sdk/orion/ui/baselibrary/widget/banner/ScrollerCustomDuration;
invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->getContext()Landroid/content/Context;
move-result-object v3
const/4 v4, 0x0
invoke-virtual {v0, v4}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/animation/Interpolator;
invoke-direct {v2, v3, v0}, Lcom/sdk/orion/ui/baselibrary/widget/banner/ScrollerCustomDuration;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V
iput-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->mScroller:Lcom/sdk/orion/ui/baselibrary/widget/banner/ScrollerCustomDuration;
iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->mScroller:Lcom/sdk/orion/ui/baselibrary/widget/banner/ScrollerCustomDuration;
invoke-virtual {v1, p0, v0}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_31
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_31} :catch_32
:goto_31
return-void
:catch_32
move-exception v0
goto :goto_31
.end method
# virtual methods
.method public dispatchTouchEvent(Landroid/view/MotionEvent;)Z
.registers 4
const/4 v1, 0x1
iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->mListener:Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager$OnTouchPagerListener;
if-nez v0, :cond_a
invoke-super {p0, p1}, Landroid/support/v4/view/ViewPager;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
move-result v0
:goto_9
return v0
:cond_a
invoke-static {p1}, Landroid/support/v4/view/MotionEventCompat;->getActionMasked(Landroid/view/MotionEvent;)I
move-result v0
if-nez v0, :cond_1b
iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->mListener:Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager$OnTouchPagerListener;
const/4 v1, 0x0
invoke-interface {v0, v1}, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager$OnTouchPagerListener;->onScroll(Z)V
:cond_16
:goto_16
invoke-super {p0, p1}, Landroid/support/v4/view/ViewPager;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
move-result v0
goto :goto_9
:cond_1b
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
if-ne v0, v1, :cond_16
iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->mListener:Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager$OnTouchPagerListener;
invoke-interface {v0, v1}, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager$OnTouchPagerListener;->onScroll(Z)V
goto :goto_16
.end method
.method public setOnTouchPagerListener(Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager$OnTouchPagerListener;)V
.registers 2
iput-object p1, p0, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->mListener:Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager$OnTouchPagerListener;
return-void
.end method
.method public setScrollDurationFactor(D)V
.registers 4
iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/banner/RecycleViewPager;->mScroller:Lcom/sdk/orion/ui/baselibrary/widget/banner/ScrollerCustomDuration;
invoke-virtual {v0, p1, p2}, Lcom/sdk/orion/ui/baselibrary/widget/banner/ScrollerCustomDuration;->setScrollDurationFactor(D)V
return-void
.end method