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