SegmentTabLayout.smali

.class public Lcom/tablayout/SegmentTabLayout;
.super Landroid/widget/FrameLayout;
.source "SegmentTabLayout.java"

# interfaces
.implements Landroid/animation/ValueAnimator$AnimatorUpdateListener;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/tablayout/SegmentTabLayout$PointEvaluator;,
        Lcom/tablayout/SegmentTabLayout$IndicatorPoint;
    }
.end annotation


# static fields
.field private static final TEXT_BOLD_BOTH:I

.field private static final TEXT_BOLD_NONE:I

.field private static final TEXT_BOLD_WHEN_SELECT:I


# instance fields
.field private mBarColor:I

.field private mBarStrokeColor:I

.field private mBarStrokeWidth:F

.field private mContext:Landroid/content/Context;

.field private mCurrentP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

.field private mCurrentTab:I

.field private mDividerColor:I

.field private mDividerPadding:F

.field private mDividerPaint:Landroid/graphics/Paint;

.field private mDividerWidth:F

.field private mFragmentChangeManager:Lcom/tablayout/utils/FragmentChangeManager;

.field private mHeight:I

.field private mIndicatorAnimDuration:J

.field private mIndicatorAnimEnable:Z

.field private mIndicatorBounceEnable:Z

.field private mIndicatorColor:I

.field private mIndicatorCornerRadius:F

.field private mIndicatorDrawable:Landroid/graphics/drawable/GradientDrawable;

.field private mIndicatorHeight:F

.field private mIndicatorMarginBottom:F

.field private mIndicatorMarginLeft:F

.field private mIndicatorMarginRight:F

.field private mIndicatorMarginTop:F

.field private mIndicatorRect:Landroid/graphics/Rect;

.field private mInitSetMap:Landroid/util/SparseArray;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Landroid/util/SparseArray<",
            "Ljava/lang/Boolean;",
            ">;"
        }
    .end annotation
.end field

.field private mInterpolator:Landroid/view/animation/OvershootInterpolator;

.field private mIsFirstDraw:Z

.field private mLastP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

.field private mLastTab:I

.field private mListener:Lcom/tablayout/listener/OnTabSelectListener;

.field private mRadiusArr:[F

.field private mRectDrawable:Landroid/graphics/drawable/GradientDrawable;

.field private mTabCount:I

.field private mTabPadding:F

.field private mTabSpaceEqual:Z

.field private mTabWidth:F

.field private mTabsContainer:Landroid/widget/LinearLayout;

.field private mTextAllCaps:Z

.field private mTextBold:I

.field private mTextPaint:Landroid/graphics/Paint;

.field private mTextSelectColor:I

.field private mTextUnselectColor:I

.field private mTextsize:F

.field private mTitles:[Ljava/lang/String;

.field private mValueAnimator:Landroid/animation/ValueAnimator;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    const v0, 0x156d

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/tablayout/SegmentTabLayout;->TEXT_BOLD_BOTH:I

    const v0, 0x156f

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/tablayout/SegmentTabLayout;->TEXT_BOLD_NONE:I

    const v0, 0x156e

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/tablayout/SegmentTabLayout;->TEXT_BOLD_WHEN_SELECT:I

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;)V
    .registers 4
    .param p1, "context"    # Landroid/content/Context;

    .line 96
    const/4 v0, 0x0

    const/4 v1, 0x0

    invoke-direct {p0, p1, v0, v1}, Lcom/tablayout/SegmentTabLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    .line 97
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 4
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "attrs"    # Landroid/util/AttributeSet;

    .line 100
    const/4 v0, 0x0

    invoke-direct {p0, p1, p2, v0}, Lcom/tablayout/SegmentTabLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    .line 101
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .registers 10
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "attrs"    # Landroid/util/AttributeSet;
    .param p3, "defStyleAttr"    # I

    .line 104
    invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    .line 45
    new-instance v0, Landroid/graphics/Rect;

    invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorRect:Landroid/graphics/Rect;

    .line 46
    new-instance v0, Landroid/graphics/drawable/GradientDrawable;

    invoke-direct {v0}, Landroid/graphics/drawable/GradientDrawable;-><init>()V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorDrawable:Landroid/graphics/drawable/GradientDrawable;

    .line 47
    new-instance v0, Landroid/graphics/drawable/GradientDrawable;

    invoke-direct {v0}, Landroid/graphics/drawable/GradientDrawable;-><init>()V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mRectDrawable:Landroid/graphics/drawable/GradientDrawable;

    .line 49
    new-instance v0, Landroid/graphics/Paint;

    const/4 v1, 0x1

    invoke-direct {v0, v1}, Landroid/graphics/Paint;-><init>(I)V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mDividerPaint:Landroid/graphics/Paint;

    .line 90
    new-instance v0, Landroid/view/animation/OvershootInterpolator;

    const v2, 0x3f4ccccd    # 0.8f

    invoke-direct {v0, v2}, Landroid/view/animation/OvershootInterpolator;-><init>(F)V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mInterpolator:Landroid/view/animation/OvershootInterpolator;

    .line 93
    const/16 v0, 0x8

    new-array v0, v0, [F

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mRadiusArr:[F

    .line 349
    iput-boolean v1, p0, Lcom/tablayout/SegmentTabLayout;->mIsFirstDraw:Z

    .line 613
    new-instance v0, Landroid/graphics/Paint;

    invoke-direct {v0, v1}, Landroid/graphics/Paint;-><init>(I)V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTextPaint:Landroid/graphics/Paint;

    .line 614
    new-instance v0, Landroid/util/SparseArray;

    invoke-direct {v0}, Landroid/util/SparseArray;-><init>()V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mInitSetMap:Landroid/util/SparseArray;

    .line 733
    new-instance v0, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    invoke-direct {v0, p0}, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;-><init>(Lcom/tablayout/SegmentTabLayout;)V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    .line 734
    new-instance v0, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    invoke-direct {v0, p0}, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;-><init>(Lcom/tablayout/SegmentTabLayout;)V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mLastP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    .line 105
    const/4 v0, 0x0

    invoke-virtual {p0, v0}, Lcom/tablayout/SegmentTabLayout;->setWillNotDraw(Z)V

    .line 106
    invoke-virtual {p0, v0}, Lcom/tablayout/SegmentTabLayout;->setClipChildren(Z)V

    .line 107
    invoke-virtual {p0, v0}, Lcom/tablayout/SegmentTabLayout;->setClipToPadding(Z)V

    .line 109
    iput-object p1, p0, Lcom/tablayout/SegmentTabLayout;->mContext:Landroid/content/Context;

    .line 110
    new-instance v2, Landroid/widget/LinearLayout;

    invoke-direct {v2, p1}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V

    iput-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    .line 111
    invoke-virtual {p0, v2}, Lcom/tablayout/SegmentTabLayout;->addView(Landroid/view/View;)V

    .line 113
    invoke-direct {p0, p1, p2}, Lcom/tablayout/SegmentTabLayout;->obtainAttributes(Landroid/content/Context;Landroid/util/AttributeSet;)V

    .line 116
    const-string v2, "http://schemas.android.com/apk/res/android"

    const-string v3, "layout_height"

    invoke-interface {p2, v2, v3}, Landroid/util/AttributeSet;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    .line 119
    .local v2, "height":Ljava/lang/String;
    const-string v3, "-1"

    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_78

    goto :goto_96

    .line 120
    :cond_78
    const-string v3, "-2"

    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_81

    goto :goto_96

    .line 122
    :cond_81
    new-array v3, v1, [I

    const v4, 0x10100f5

    aput v4, v3, v0

    .line 123
    .local v3, "systemAttrs":[I
    invoke-virtual {p1, p2, v3}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;

    move-result-object v4

    .line 124
    .local v4, "a":Landroid/content/res/TypedArray;
    const/4 v5, -0x2

    invoke-virtual {v4, v0, v5}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result v5

    iput v5, p0, Lcom/tablayout/SegmentTabLayout;->mHeight:I

    .line 125
    invoke-virtual {v4}, Landroid/content/res/TypedArray;->recycle()V

    .line 128
    .end local v3    # "systemAttrs":[I
    .end local v4    # "a":Landroid/content/res/TypedArray;
    :goto_96
    new-instance v3, Lcom/tablayout/SegmentTabLayout$PointEvaluator;

    invoke-direct {v3, p0}, Lcom/tablayout/SegmentTabLayout$PointEvaluator;-><init>(Lcom/tablayout/SegmentTabLayout;)V

    const/4 v4, 0x2

    new-array v4, v4, [Ljava/lang/Object;

    iget-object v5, p0, Lcom/tablayout/SegmentTabLayout;->mLastP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    aput-object v5, v4, v0

    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    aput-object v0, v4, v1

    invoke-static {v3, v4}, Landroid/animation/ValueAnimator;->ofObject(Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ValueAnimator;

    move-result-object v0

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mValueAnimator:Landroid/animation/ValueAnimator;

    .line 129
    invoke-virtual {v0, p0}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V

    .line 130
    return-void
.end method

.method static synthetic access$000(Lcom/tablayout/SegmentTabLayout;)I
    .registers 2
    .param p0, "x0"    # Lcom/tablayout/SegmentTabLayout;

    .line 37
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    return v0
.end method

.method static synthetic access$100(Lcom/tablayout/SegmentTabLayout;)Lcom/tablayout/listener/OnTabSelectListener;
    .registers 2
    .param p0, "x0"    # Lcom/tablayout/SegmentTabLayout;

    .line 37
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mListener:Lcom/tablayout/listener/OnTabSelectListener;

    return-object v0
.end method

.method private addTab(ILandroid/view/View;)V
    .registers 8
    .param p1, "position"    # I
    .param p2, "tabView"    # Landroid/view/View;

    .line 199
    const v0, 0x7f091339

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    invoke-virtual {p2, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Landroid/widget/TextView;

    .line 200
    .local v0, "tv_tab_title":Landroid/widget/TextView;
    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mTitles:[Ljava/lang/String;

    aget-object v1, v1, p1

    invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    .line 202
    new-instance v1, Lcom/tablayout/SegmentTabLayout$1;

    invoke-direct {v1, p0}, Lcom/tablayout/SegmentTabLayout$1;-><init>(Lcom/tablayout/SegmentTabLayout;)V

    invoke-virtual {p2, v1}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

    .line 220
    iget-boolean v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabSpaceEqual:Z

    const/4 v2, -0x1

    if-eqz v1, :cond_2a

    new-instance v1, Landroid/widget/LinearLayout$LayoutParams;

    const/4 v3, 0x0

    const/high16 v4, 0x3f800000    # 1.0f

    invoke-direct {v1, v3, v2, v4}, Landroid/widget/LinearLayout$LayoutParams;-><init>(IIF)V

    goto :goto_30

    :cond_2a
    new-instance v1, Landroid/widget/LinearLayout$LayoutParams;

    const/4 v3, -0x2

    invoke-direct {v1, v3, v2}, Landroid/widget/LinearLayout$LayoutParams;-><init>(II)V

    .line 223
    .local v1, "lp_tab":Landroid/widget/LinearLayout$LayoutParams;
    :goto_30
    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mTabWidth:F

    const/4 v4, 0x0

    cmpl-float v3, v3, v4

    if-lez v3, :cond_40

    .line 224
    new-instance v3, Landroid/widget/LinearLayout$LayoutParams;

    iget v4, p0, Lcom/tablayout/SegmentTabLayout;->mTabWidth:F

    float-to-int v4, v4

    invoke-direct {v3, v4, v2}, Landroid/widget/LinearLayout$LayoutParams;-><init>(II)V

    move-object v1, v3

    .line 226
    :cond_40
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v2, p2, p1, v1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V

    .line 227
    return-void
.end method

.method private calcIndicatorRect()V
    .registers 15

    .line 289
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    iget v1, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 290
    .local v0, "currentTabView":Landroid/view/View;
    invoke-virtual {v0}, Landroid/view/View;->getLeft()I

    move-result v1

    int-to-float v1, v1

    .line 291
    .local v1, "left":F
    invoke-virtual {v0}, Landroid/view/View;->getRight()I

    move-result v2

    int-to-float v2, v2

    .line 293
    .local v2, "right":F
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorRect:Landroid/graphics/Rect;

    float-to-int v4, v1

    iput v4, v3, Landroid/graphics/Rect;->left:I

    .line 294
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorRect:Landroid/graphics/Rect;

    float-to-int v4, v2

    iput v4, v3, Landroid/graphics/Rect;->right:I

    .line 296
    iget-boolean v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimEnable:Z

    const/4 v4, 0x7

    const/4 v5, 0x6

    const/4 v6, 0x5

    const/4 v7, 0x4

    const/4 v8, 0x3

    const/4 v9, 0x2

    const/4 v10, 0x0

    const/4 v11, 0x1

    if-nez v3, :cond_6f

    .line 297
    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    const/4 v12, 0x0

    if-nez v3, :cond_42

    .line 299
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mRadiusArr:[F

    iget v13, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorCornerRadius:F

    aput v13, v3, v10

    .line 300
    aput v13, v3, v11

    .line 301
    aput v12, v3, v9

    .line 302
    aput v12, v3, v8

    .line 303
    aput v12, v3, v7

    .line 304
    aput v12, v3, v6

    .line 305
    aput v13, v3, v5

    .line 306
    aput v13, v3, v4

    goto :goto_83

    .line 307
    :cond_42
    iget v13, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    sub-int/2addr v13, v11

    if-ne v3, v13, :cond_5c

    .line 309
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mRadiusArr:[F

    aput v12, v3, v10

    .line 310
    aput v12, v3, v11

    .line 311
    iget v10, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorCornerRadius:F

    aput v10, v3, v9

    .line 312
    aput v10, v3, v8

    .line 313
    aput v10, v3, v7

    .line 314
    aput v10, v3, v6

    .line 315
    aput v12, v3, v5

    .line 316
    aput v12, v3, v4

    goto :goto_83

    .line 319
    :cond_5c
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mRadiusArr:[F

    aput v12, v3, v10

    .line 320
    aput v12, v3, v11

    .line 321
    aput v12, v3, v9

    .line 322
    aput v12, v3, v8

    .line 323
    aput v12, v3, v7

    .line 324
    aput v12, v3, v6

    .line 325
    aput v12, v3, v5

    .line 326
    aput v12, v3, v4

    goto :goto_83

    .line 330
    :cond_6f
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mRadiusArr:[F

    iget v12, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorCornerRadius:F

    aput v12, v3, v10

    .line 331
    aput v12, v3, v11

    .line 332
    aput v12, v3, v9

    .line 333
    aput v12, v3, v8

    .line 334
    aput v12, v3, v7

    .line 335
    aput v12, v3, v6

    .line 336
    aput v12, v3, v5

    .line 337
    aput v12, v3, v4

    .line 339
    :goto_83
    return-void
.end method

.method private calcOffset()V
    .registers 8

    .line 262
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    iget v1, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 263
    .local v0, "currentTabView":Landroid/view/View;
    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    invoke-virtual {v0}, Landroid/view/View;->getLeft()I

    move-result v2

    int-to-float v2, v2

    iput v2, v1, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->left:F

    .line 264
    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    invoke-virtual {v0}, Landroid/view/View;->getRight()I

    move-result v2

    int-to-float v2, v2

    iput v2, v1, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->right:F

    .line 266
    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    iget v2, p0, Lcom/tablayout/SegmentTabLayout;->mLastTab:I

    invoke-virtual {v1, v2}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    .line 267
    .local v1, "lastTabView":Landroid/view/View;
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mLastP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    invoke-virtual {v1}, Landroid/view/View;->getLeft()I

    move-result v3

    int-to-float v3, v3

    iput v3, v2, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->left:F

    .line 268
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mLastP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    invoke-virtual {v1}, Landroid/view/View;->getRight()I

    move-result v3

    int-to-float v3, v3

    iput v3, v2, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->right:F

    .line 272
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mLastP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    iget v2, v2, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->left:F

    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    iget v3, v3, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->left:F

    cmpl-float v2, v2, v3

    if-nez v2, :cond_50

    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mLastP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    iget v2, v2, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->right:F

    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    iget v3, v3, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->right:F

    cmpl-float v2, v2, v3

    if-nez v2, :cond_50

    .line 273
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    goto :goto_8c

    .line 275
    :cond_50
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mValueAnimator:Landroid/animation/ValueAnimator;

    const/4 v3, 0x2

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    iget-object v5, p0, Lcom/tablayout/SegmentTabLayout;->mLastP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    aput-object v5, v3, v4

    const/4 v4, 0x1

    iget-object v5, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentP:Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    aput-object v5, v3, v4

    invoke-virtual {v2, v3}, Landroid/animation/ValueAnimator;->setObjectValues([Ljava/lang/Object;)V

    .line 276
    iget-boolean v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorBounceEnable:Z

    if-eqz v2, :cond_6d

    .line 277
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mValueAnimator:Landroid/animation/ValueAnimator;

    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mInterpolator:Landroid/view/animation/OvershootInterpolator;

    invoke-virtual {v2, v3}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V

    .line 280
    :cond_6d
    iget-wide v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimDuration:J

    const-wide/16 v4, 0x0

    cmp-long v6, v2, v4

    if-gez v6, :cond_80

    .line 281
    iget-boolean v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorBounceEnable:Z

    if-eqz v2, :cond_7c

    const-wide/16 v2, 0x1f4

    goto :goto_7e

    :cond_7c
    const-wide/16 v2, 0xfa

    :goto_7e
    iput-wide v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimDuration:J

    .line 283
    :cond_80
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mValueAnimator:Landroid/animation/ValueAnimator;

    iget-wide v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimDuration:J

    invoke-virtual {v2, v3, v4}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;

    .line 284
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mValueAnimator:Landroid/animation/ValueAnimator;

    invoke-virtual {v2}, Landroid/animation/ValueAnimator;->start()V

    .line 286
    :goto_8c
    return-void
.end method

.method private obtainAttributes(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 11
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "attrs"    # Landroid/util/AttributeSet;

    .line 133
    sget-object v0, Lim/tpelyyftgw/messenger/R$styleable;->SegmentTabLayout:[I

    invoke-virtual {p1, p2, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;

    move-result-object v0

    .line 135
    .local v0, "ta":Landroid/content/res/TypedArray;
    const-string v1, "#222831"

    invoke-static {v1}, Landroid/graphics/Color;->parseColor(Ljava/lang/String;)I

    move-result v1

    const/16 v2, 0x9

    invoke-virtual {v0, v2, v1}, Landroid/content/res/TypedArray;->getColor(II)I

    move-result v1

    iput v1, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorColor:I

    .line 136
    const/high16 v1, -0x40800000    # -1.0f

    const/16 v2, 0xc

    invoke-virtual {v0, v2, v1}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v2

    iput v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorHeight:F

    .line 137
    const/16 v2, 0xa

    invoke-virtual {v0, v2, v1}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v2

    iput v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorCornerRadius:F

    .line 138
    const/4 v2, 0x0

    invoke-virtual {p0, v2}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v3

    int-to-float v3, v3

    const/16 v4, 0xe

    invoke-virtual {v0, v4, v3}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v3

    iput v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginLeft:F

    .line 139
    const/16 v3, 0x10

    invoke-virtual {v0, v3, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v3

    iput v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginTop:F

    .line 140
    invoke-virtual {p0, v2}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v3

    int-to-float v3, v3

    const/16 v4, 0xf

    invoke-virtual {v0, v4, v3}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v3

    iput v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginRight:F

    .line 141
    const/16 v3, 0xd

    invoke-virtual {v0, v3, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v3

    iput v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginBottom:F

    .line 142
    const/4 v3, 0x0

    const/4 v4, 0x7

    invoke-virtual {v0, v4, v3}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z

    move-result v4

    iput-boolean v4, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimEnable:Z

    .line 143
    const/4 v4, 0x1

    const/16 v5, 0x8

    invoke-virtual {v0, v5, v4}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z

    move-result v5

    iput-boolean v5, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorBounceEnable:Z

    .line 144
    const/4 v5, 0x6

    const/4 v6, -0x1

    invoke-virtual {v0, v5, v6}, Landroid/content/res/TypedArray;->getInt(II)I

    move-result v5

    int-to-long v5, v5

    iput-wide v5, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimDuration:J

    .line 146
    iget v5, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorColor:I

    const/4 v6, 0x3

    invoke-virtual {v0, v6, v5}, Landroid/content/res/TypedArray;->getColor(II)I

    move-result v5

    iput v5, p0, Lcom/tablayout/SegmentTabLayout;->mDividerColor:I

    .line 147
    const/high16 v5, 0x3f800000    # 1.0f

    invoke-virtual {p0, v5}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v6

    int-to-float v6, v6

    const/4 v7, 0x5

    invoke-virtual {v0, v7, v6}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v6

    iput v6, p0, Lcom/tablayout/SegmentTabLayout;->mDividerWidth:F

    .line 148
    const/4 v6, 0x4

    invoke-virtual {v0, v6, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v6

    iput v6, p0, Lcom/tablayout/SegmentTabLayout;->mDividerPadding:F

    .line 150
    const/high16 v6, 0x41500000    # 13.0f

    invoke-virtual {p0, v6}, Lcom/tablayout/SegmentTabLayout;->sp2px(F)I

    move-result v6

    int-to-float v6, v6

    const/16 v7, 0x16

    invoke-virtual {v0, v7, v6}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v6

    iput v6, p0, Lcom/tablayout/SegmentTabLayout;->mTextsize:F

    .line 151
    const-string v6, "#ffffff"

    invoke-static {v6}, Landroid/graphics/Color;->parseColor(Ljava/lang/String;)I

    move-result v6

    const/16 v7, 0x17

    invoke-virtual {v0, v7, v6}, Landroid/content/res/TypedArray;->getColor(II)I

    move-result v6

    iput v6, p0, Lcom/tablayout/SegmentTabLayout;->mTextSelectColor:I

    .line 152
    iget v6, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorColor:I

    const/16 v7, 0x19

    invoke-virtual {v0, v7, v6}, Landroid/content/res/TypedArray;->getColor(II)I

    move-result v6

    iput v6, p0, Lcom/tablayout/SegmentTabLayout;->mTextUnselectColor:I

    .line 153
    const/16 v6, 0x15

    invoke-virtual {v0, v6, v3}, Landroid/content/res/TypedArray;->getInt(II)I

    move-result v6

    iput v6, p0, Lcom/tablayout/SegmentTabLayout;->mTextBold:I

    .line 154
    const/16 v6, 0x14

    invoke-virtual {v0, v6, v3}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z

    move-result v6

    iput-boolean v6, p0, Lcom/tablayout/SegmentTabLayout;->mTextAllCaps:Z

    .line 156
    const/16 v6, 0x12

    invoke-virtual {v0, v6, v4}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z

    move-result v6

    iput-boolean v6, p0, Lcom/tablayout/SegmentTabLayout;->mTabSpaceEqual:Z

    .line 157
    invoke-virtual {p0, v1}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v1

    int-to-float v1, v1

    const/16 v6, 0x13

    invoke-virtual {v0, v6, v1}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v1

    iput v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabWidth:F

    .line 158
    iget-boolean v6, p0, Lcom/tablayout/SegmentTabLayout;->mTabSpaceEqual:Z

    if-nez v6, :cond_e5

    cmpl-float v1, v1, v2

    if-lez v1, :cond_de

    goto :goto_e5

    :cond_de
    const/high16 v1, 0x41200000    # 10.0f

    invoke-virtual {p0, v1}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v1

    goto :goto_e9

    :cond_e5
    :goto_e5
    invoke-virtual {p0, v2}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v1

    :goto_e9
    int-to-float v1, v1

    const/16 v2, 0x11

    invoke-virtual {v0, v2, v1}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v1

    iput v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabPadding:F

    .line 160
    invoke-virtual {v0, v3, v3}, Landroid/content/res/TypedArray;->getColor(II)I

    move-result v1

    iput v1, p0, Lcom/tablayout/SegmentTabLayout;->mBarColor:I

    .line 161
    iget v1, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorColor:I

    invoke-virtual {v0, v4, v1}, Landroid/content/res/TypedArray;->getColor(II)I

    move-result v1

    iput v1, p0, Lcom/tablayout/SegmentTabLayout;->mBarStrokeColor:I

    .line 162
    const/4 v1, 0x2

    invoke-virtual {p0, v5}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v2

    int-to-float v2, v2

    invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F

    move-result v1

    iput v1, p0, Lcom/tablayout/SegmentTabLayout;->mBarStrokeWidth:F

    .line 164
    invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V

    .line 165
    return-void
.end method

.method private updateTabSelection(I)V
    .registers 8
    .param p1, "position"    # I

    .line 250
    const/4 v0, 0x0

    .local v0, "i":I
    :goto_1
    iget v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    if-ge v0, v1, :cond_36

    .line 251
    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v1, v0}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    .line 252
    .local v1, "tabView":Landroid/view/View;
    const/4 v2, 0x1

    if-ne v0, p1, :cond_10

    const/4 v3, 0x1

    goto :goto_11

    :cond_10
    const/4 v3, 0x0

    .line 253
    .local v3, "isSelect":Z
    :goto_11
    const v4, 0x7f091339

    invoke-static {v4}, Lnp/NPFog;->d(I)I

    move-result v4

    invoke-virtual {v1, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v4

    check-cast v4, Landroid/widget/TextView;

    .line 254
    .local v4, "tab_title":Landroid/widget/TextView;
    if-eqz v3, :cond_23

    iget v5, p0, Lcom/tablayout/SegmentTabLayout;->mTextSelectColor:I

    goto :goto_25

    :cond_23
    iget v5, p0, Lcom/tablayout/SegmentTabLayout;->mTextUnselectColor:I

    :goto_25
    invoke-virtual {v4, v5}, Landroid/widget/TextView;->setTextColor(I)V

    .line 255
    iget v5, p0, Lcom/tablayout/SegmentTabLayout;->mTextBold:I

    if-ne v5, v2, :cond_33

    .line 256
    invoke-virtual {v4}, Landroid/widget/TextView;->getPaint()Landroid/text/TextPaint;

    move-result-object v2

    invoke-virtual {v2, v3}, Landroid/text/TextPaint;->setFakeBoldText(Z)V

    .line 250
    .end local v1    # "tabView":Landroid/view/View;
    .end local v3    # "isSelect":Z
    .end local v4    # "tab_title":Landroid/widget/TextView;
    :cond_33
    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    .line 259
    .end local v0    # "i":I
    :cond_36
    return-void
.end method

.method private updateTabStyles()V
    .registers 7

    .line 230
    const/4 v0, 0x0

    .local v0, "i":I
    :goto_1
    iget v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    if-ge v0, v1, :cond_5e

    .line 231
    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v1, v0}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    .line 232
    .local v1, "tabView":Landroid/view/View;
    iget v2, p0, Lcom/tablayout/SegmentTabLayout;->mTabPadding:F

    float-to-int v3, v2

    float-to-int v2, v2

    const/4 v4, 0x0

    invoke-virtual {v1, v3, v4, v2, v4}, Landroid/view/View;->setPadding(IIII)V

    .line 233
    const v2, 0x7f091339

    invoke-static {v2}, Lnp/NPFog;->d(I)I

    move-result v2

    invoke-virtual {v1, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v2

    check-cast v2, Landroid/widget/TextView;

    .line 234
    .local v2, "tv_tab_title":Landroid/widget/TextView;
    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    if-ne v0, v3, :cond_27

    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mTextSelectColor:I

    goto :goto_29

    :cond_27
    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mTextUnselectColor:I

    :goto_29
    invoke-virtual {v2, v3}, Landroid/widget/TextView;->setTextColor(I)V

    .line 235
    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mTextsize:F

    invoke-virtual {v2, v4, v3}, Landroid/widget/TextView;->setTextSize(IF)V

    .line 237
    iget-boolean v3, p0, Lcom/tablayout/SegmentTabLayout;->mTextAllCaps:Z

    if-eqz v3, :cond_44

    .line 238
    invoke-virtual {v2}, Landroid/widget/TextView;->getText()Ljava/lang/CharSequence;

    move-result-object v3

    invoke-interface {v3}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    .line 241
    :cond_44
    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mTextBold:I

    const/4 v5, 0x2

    if-ne v3, v5, :cond_52

    .line 242
    invoke-virtual {v2}, Landroid/widget/TextView;->getPaint()Landroid/text/TextPaint;

    move-result-object v3

    const/4 v4, 0x1

    invoke-virtual {v3, v4}, Landroid/text/TextPaint;->setFakeBoldText(Z)V

    goto :goto_5b

    .line 243
    :cond_52
    if-nez v3, :cond_5b

    .line 244
    invoke-virtual {v2}, Landroid/widget/TextView;->getPaint()Landroid/text/TextPaint;

    move-result-object v3

    invoke-virtual {v3, v4}, Landroid/text/TextPaint;->setFakeBoldText(Z)V

    .line 230
    .end local v1    # "tabView":Landroid/view/View;
    .end local v2    # "tv_tab_title":Landroid/widget/TextView;
    :cond_5b
    :goto_5b
    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    .line 247
    .end local v0    # "i":I
    :cond_5e
    return-void
.end method


# virtual methods
.method protected dp2px(F)I
    .registers 5
    .param p1, "dp"    # F

    .line 749
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->density:F

    .line 750
    .local v0, "scale":F
    mul-float v1, p1, v0

    const/high16 v2, 0x3f000000    # 0.5f

    add-float/2addr v1, v2

    float-to-int v1, v1

    return v1
.end method

.method public getCurrentTab()I
    .registers 2

    .line 518
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    return v0
.end method

.method public getDividerColor()I
    .registers 2

    .line 574
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mDividerColor:I

    return v0
.end method

.method public getDividerPadding()F
    .registers 2

    .line 582
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mDividerPadding:F

    return v0
.end method

.method public getDividerWidth()F
    .registers 2

    .line 578
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mDividerWidth:F

    return v0
.end method

.method public getIndicatorAnimDuration()J
    .registers 3

    .line 562
    iget-wide v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimDuration:J

    return-wide v0
.end method

.method public getIndicatorColor()I
    .registers 2

    .line 534
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorColor:I

    return v0
.end method

.method public getIndicatorCornerRadius()F
    .registers 2

    .line 542
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorCornerRadius:F

    return v0
.end method

.method public getIndicatorHeight()F
    .registers 2

    .line 538
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorHeight:F

    return v0
.end method

.method public getIndicatorMarginBottom()F
    .registers 2

    .line 558
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginBottom:F

    return v0
.end method

.method public getIndicatorMarginLeft()F
    .registers 2

    .line 546
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginLeft:F

    return v0
.end method

.method public getIndicatorMarginRight()F
    .registers 2

    .line 554
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginRight:F

    return v0
.end method

.method public getIndicatorMarginTop()F
    .registers 2

    .line 550
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginTop:F

    return v0
.end method

.method public getMsgView(I)Lcom/tablayout/widget/MsgView;
    .registers 4
    .param p1, "position"    # I

    .line 693
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    if-lt p1, v0, :cond_6

    .line 694
    add-int/lit8 p1, v0, -0x1

    .line 696
    :cond_6
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v0, p1}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 697
    .local v0, "tabView":Landroid/view/View;
    const v1, 0x7f091697

    invoke-static {v1}, Lnp/NPFog;->d(I)I

    move-result v1

    invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v1

    check-cast v1, Lcom/tablayout/widget/MsgView;

    .line 698
    .local v1, "tipView":Lcom/tablayout/widget/MsgView;
    return-object v1
.end method

.method public getTabCount()I
    .registers 2

    .line 514
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    return v0
.end method

.method public getTabPadding()F
    .registers 2

    .line 522
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabPadding:F

    return v0
.end method

.method public getTabWidth()F
    .registers 2

    .line 530
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabWidth:F

    return v0
.end method

.method public getTextBold()I
    .registers 2

    .line 598
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTextBold:I

    return v0
.end method

.method public getTextSelectColor()I
    .registers 2

    .line 590
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTextSelectColor:I

    return v0
.end method

.method public getTextUnselectColor()I
    .registers 2

    .line 594
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTextUnselectColor:I

    return v0
.end method

.method public getTextsize()F
    .registers 2

    .line 586
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTextsize:F

    return v0
.end method

.method public getTitleView(I)Landroid/widget/TextView;
    .registers 4
    .param p1, "tab"    # I

    .line 606
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v0, p1}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 607
    .local v0, "tabView":Landroid/view/View;
    const v1, 0x7f091339

    invoke-static {v1}, Lnp/NPFog;->d(I)I

    move-result v1

    invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v1

    check-cast v1, Landroid/widget/TextView;

    .line 608
    .local v1, "tv_tab_title":Landroid/widget/TextView;
    return-object v1
.end method

.method public hideMsg(I)V
    .registers 5
    .param p1, "position"    # I

    .line 655
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    if-lt p1, v0, :cond_6

    .line 656
    add-int/lit8 p1, v0, -0x1

    .line 659
    :cond_6
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v0, p1}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 660
    .local v0, "tabView":Landroid/view/View;
    const v1, 0x7f091697

    invoke-static {v1}, Lnp/NPFog;->d(I)I

    move-result v1

    invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v1

    check-cast v1, Lcom/tablayout/widget/MsgView;

    .line 661
    .local v1, "tipView":Lcom/tablayout/widget/MsgView;
    if-eqz v1, :cond_20

    .line 662
    const/16 v2, 0x8

    invoke-virtual {v1, v2}, Lcom/tablayout/widget/MsgView;->setVisibility(I)V

    .line 664
    :cond_20
    return-void
.end method

.method public isIndicatorAnimEnable()Z
    .registers 2

    .line 566
    iget-boolean v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimEnable:Z

    return v0
.end method

.method public isIndicatorBounceEnable()Z
    .registers 2

    .line 570
    iget-boolean v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorBounceEnable:Z

    return v0
.end method

.method public isTabSpaceEqual()Z
    .registers 2

    .line 526
    iget-boolean v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabSpaceEqual:Z

    return v0
.end method

.method public isTextAllCaps()Z
    .registers 2

    .line 602
    iget-boolean v0, p0, Lcom/tablayout/SegmentTabLayout;->mTextAllCaps:Z

    return v0
.end method

.method public notifyDataSetChanged()V
    .registers 5

    .line 185
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v0}, Landroid/widget/LinearLayout;->removeAllViews()V

    .line 186
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTitles:[Ljava/lang/String;

    array-length v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    .line 188
    const/4 v0, 0x0

    .local v0, "i":I
    :goto_b
    iget v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    if-ge v0, v1, :cond_26

    .line 189
    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mContext:Landroid/content/Context;

    const v2, 0x7f0c0141

    const/4 v3, 0x0

    invoke-static {v1, v2, v3}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;

    move-result-object v1

    .line 190
    .local v1, "tabView":Landroid/view/View;
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    invoke-virtual {v1, v2}, Landroid/view/View;->setTag(Ljava/lang/Object;)V

    .line 191
    invoke-direct {p0, v0, v1}, Lcom/tablayout/SegmentTabLayout;->addTab(ILandroid/view/View;)V

    .line 188
    add-int/lit8 v0, v0, 0x1

    goto :goto_b

    .line 194
    .end local v0    # "i":I
    .end local v1    # "tabView":Landroid/view/View;
    :cond_26
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->updateTabStyles()V

    .line 195
    return-void
.end method

.method public onAnimationUpdate(Landroid/animation/ValueAnimator;)V
    .registers 5
    .param p1, "animation"    # Landroid/animation/ValueAnimator;

    .line 343
    invoke-virtual {p1}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;

    .line 344
    .local v0, "p":Lcom/tablayout/SegmentTabLayout$IndicatorPoint;
    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorRect:Landroid/graphics/Rect;

    iget v2, v0, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->left:F

    float-to-int v2, v2

    iput v2, v1, Landroid/graphics/Rect;->left:I

    .line 345
    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorRect:Landroid/graphics/Rect;

    iget v2, v0, Lcom/tablayout/SegmentTabLayout$IndicatorPoint;->right:F

    float-to-int v2, v2

    iput v2, v1, Landroid/graphics/Rect;->right:I

    .line 346
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    .line 347
    return-void
.end method

.method protected onDraw(Landroid/graphics/Canvas;)V
    .registers 13
    .param p1, "canvas"    # Landroid/graphics/Canvas;

    .line 353
    invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onDraw(Landroid/graphics/Canvas;)V

    .line 355
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->isInEditMode()Z

    move-result v0

    if-nez v0, :cond_fd

    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    if-gtz v0, :cond_f

    goto/16 :goto_fd

    .line 359
    :cond_f
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->getHeight()I

    move-result v0

    .line 360
    .local v0, "height":I
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->getPaddingLeft()I

    move-result v1

    .line 362
    .local v1, "paddingLeft":I
    iget v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorHeight:F

    const/4 v3, 0x0

    cmpg-float v2, v2, v3

    if-gez v2, :cond_27

    .line 363
    int-to-float v2, v0

    iget v4, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginTop:F

    sub-float/2addr v2, v4

    iget v4, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginBottom:F

    sub-float/2addr v2, v4

    iput v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorHeight:F

    .line 366
    :cond_27
    iget v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorCornerRadius:F

    const/high16 v4, 0x40000000    # 2.0f

    cmpg-float v5, v2, v3

    if-ltz v5, :cond_36

    iget v5, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorHeight:F

    div-float/2addr v5, v4

    cmpl-float v2, v2, v5

    if-lez v2, :cond_3b

    .line 367
    :cond_36
    iget v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorHeight:F

    div-float/2addr v2, v4

    iput v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorCornerRadius:F

    .line 371
    :cond_3b
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mRectDrawable:Landroid/graphics/drawable/GradientDrawable;

    iget v4, p0, Lcom/tablayout/SegmentTabLayout;->mBarColor:I

    invoke-virtual {v2, v4}, Landroid/graphics/drawable/GradientDrawable;->setColor(I)V

    .line 372
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mRectDrawable:Landroid/graphics/drawable/GradientDrawable;

    iget v4, p0, Lcom/tablayout/SegmentTabLayout;->mBarStrokeWidth:F

    float-to-int v4, v4

    iget v5, p0, Lcom/tablayout/SegmentTabLayout;->mBarStrokeColor:I

    invoke-virtual {v2, v4, v5}, Landroid/graphics/drawable/GradientDrawable;->setStroke(II)V

    .line 373
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mRectDrawable:Landroid/graphics/drawable/GradientDrawable;

    iget v4, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorCornerRadius:F

    invoke-virtual {v2, v4}, Landroid/graphics/drawable/GradientDrawable;->setCornerRadius(F)V

    .line 374
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mRectDrawable:Landroid/graphics/drawable/GradientDrawable;

    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->getPaddingLeft()I

    move-result v4

    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->getPaddingTop()I

    move-result v5

    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->getWidth()I

    move-result v6

    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->getPaddingRight()I

    move-result v7

    sub-int/2addr v6, v7

    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->getHeight()I

    move-result v7

    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->getPaddingBottom()I

    move-result v8

    sub-int/2addr v7, v8

    invoke-virtual {v2, v4, v5, v6, v7}, Landroid/graphics/drawable/GradientDrawable;->setBounds(IIII)V

    .line 375
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mRectDrawable:Landroid/graphics/drawable/GradientDrawable;

    invoke-virtual {v2, p1}, Landroid/graphics/drawable/GradientDrawable;->draw(Landroid/graphics/Canvas;)V

    .line 378
    iget-boolean v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimEnable:Z

    if-nez v2, :cond_b6

    iget v2, p0, Lcom/tablayout/SegmentTabLayout;->mDividerWidth:F

    cmpl-float v3, v2, v3

    if-lez v3, :cond_b6

    .line 379
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mDividerPaint:Landroid/graphics/Paint;

    invoke-virtual {v3, v2}, Landroid/graphics/Paint;->setStrokeWidth(F)V

    .line 380
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mDividerPaint:Landroid/graphics/Paint;

    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mDividerColor:I

    invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setColor(I)V

    .line 381
    const/4 v2, 0x0

    .local v2, "i":I
    :goto_8e
    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    add-int/lit8 v3, v3, -0x1

    if-ge v2, v3, :cond_b6

    .line 382
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v3, v2}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v3

    .line 383
    .local v3, "tab":Landroid/view/View;
    invoke-virtual {v3}, Landroid/view/View;->getRight()I

    move-result v4

    add-int/2addr v4, v1

    int-to-float v6, v4

    iget v7, p0, Lcom/tablayout/SegmentTabLayout;->mDividerPadding:F

    invoke-virtual {v3}, Landroid/view/View;->getRight()I

    move-result v4

    add-int/2addr v4, v1

    int-to-float v8, v4

    int-to-float v4, v0

    iget v5, p0, Lcom/tablayout/SegmentTabLayout;->mDividerPadding:F

    sub-float v9, v4, v5

    iget-object v10, p0, Lcom/tablayout/SegmentTabLayout;->mDividerPaint:Landroid/graphics/Paint;

    move-object v5, p1

    invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V

    .line 381
    .end local v3    # "tab":Landroid/view/View;
    add-int/lit8 v2, v2, 0x1

    goto :goto_8e

    .line 389
    .end local v2    # "i":I
    :cond_b6
    iget-boolean v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimEnable:Z

    if-eqz v2, :cond_c5

    .line 390
    iget-boolean v2, p0, Lcom/tablayout/SegmentTabLayout;->mIsFirstDraw:Z

    if-eqz v2, :cond_c8

    .line 391
    const/4 v2, 0x0

    iput-boolean v2, p0, Lcom/tablayout/SegmentTabLayout;->mIsFirstDraw:Z

    .line 392
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->calcIndicatorRect()V

    goto :goto_c8

    .line 395
    :cond_c5
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->calcIndicatorRect()V

    .line 398
    :cond_c8
    :goto_c8
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorDrawable:Landroid/graphics/drawable/GradientDrawable;

    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorColor:I

    invoke-virtual {v2, v3}, Landroid/graphics/drawable/GradientDrawable;->setColor(I)V

    .line 399
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorDrawable:Landroid/graphics/drawable/GradientDrawable;

    iget v3, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginLeft:F

    float-to-int v3, v3

    add-int/2addr v3, v1

    iget-object v4, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorRect:Landroid/graphics/Rect;

    iget v4, v4, Landroid/graphics/Rect;->left:I

    add-int/2addr v3, v4

    iget v4, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginTop:F

    float-to-int v4, v4

    iget-object v5, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorRect:Landroid/graphics/Rect;

    iget v5, v5, Landroid/graphics/Rect;->right:I

    add-int/2addr v5, v1

    int-to-float v5, v5

    iget v6, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginRight:F

    sub-float/2addr v5, v6

    float-to-int v5, v5

    iget v6, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginTop:F

    iget v7, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorHeight:F

    add-float/2addr v6, v7

    float-to-int v6, v6

    invoke-virtual {v2, v3, v4, v5, v6}, Landroid/graphics/drawable/GradientDrawable;->setBounds(IIII)V

    .line 402
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorDrawable:Landroid/graphics/drawable/GradientDrawable;

    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mRadiusArr:[F

    invoke-virtual {v2, v3}, Landroid/graphics/drawable/GradientDrawable;->setCornerRadii([F)V

    .line 403
    iget-object v2, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorDrawable:Landroid/graphics/drawable/GradientDrawable;

    invoke-virtual {v2, p1}, Landroid/graphics/drawable/GradientDrawable;->draw(Landroid/graphics/Canvas;)V

    .line 405
    return-void

    .line 356
    .end local v0    # "height":I
    .end local v1    # "paddingLeft":I
    :cond_fd
    :goto_fd
    return-void
.end method

.method protected onRestoreInstanceState(Landroid/os/Parcelable;)V
    .registers 4
    .param p1, "state"    # Landroid/os/Parcelable;

    .line 717
    instance-of v0, p1, Landroid/os/Bundle;

    if-eqz v0, :cond_26

    .line 718
    move-object v0, p1

    check-cast v0, Landroid/os/Bundle;

    .line 719
    .local v0, "bundle":Landroid/os/Bundle;
    const-string v1, "mCurrentTab"

    invoke-virtual {v0, v1}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I

    move-result v1

    iput v1, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    .line 720
    const-string v1, "instanceState"

    invoke-virtual {v0, v1}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object p1

    .line 721
    iget v1, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    if-eqz v1, :cond_26

    iget-object v1, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v1}, Landroid/widget/LinearLayout;->getChildCount()I

    move-result v1

    if-lez v1, :cond_26

    .line 722
    iget v1, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    invoke-direct {p0, v1}, Lcom/tablayout/SegmentTabLayout;->updateTabSelection(I)V

    .line 725
    .end local v0    # "bundle":Landroid/os/Bundle;
    :cond_26
    invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onRestoreInstanceState(Landroid/os/Parcelable;)V

    .line 726
    return-void
.end method

.method protected onSaveInstanceState()Landroid/os/Parcelable;
    .registers 4

    .line 709
    new-instance v0, Landroid/os/Bundle;

    invoke-direct {v0}, Landroid/os/Bundle;-><init>()V

    .line 710
    .local v0, "bundle":Landroid/os/Bundle;
    invoke-super {p0}, Landroid/widget/FrameLayout;->onSaveInstanceState()Landroid/os/Parcelable;

    move-result-object v1

    const-string v2, "instanceState"

    invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V

    .line 711
    iget v1, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    const-string v2, "mCurrentTab"

    invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V

    .line 712
    return-object v0
.end method

.method public setCurrentTab(I)V
    .registers 3
    .param p1, "currentTab"    # I

    .line 409
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mLastTab:I

    .line 410
    iput p1, p0, Lcom/tablayout/SegmentTabLayout;->mCurrentTab:I

    .line 411
    invoke-direct {p0, p1}, Lcom/tablayout/SegmentTabLayout;->updateTabSelection(I)V

    .line 412
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mFragmentChangeManager:Lcom/tablayout/utils/FragmentChangeManager;

    if-eqz v0, :cond_10

    .line 413
    invoke-virtual {v0, p1}, Lcom/tablayout/utils/FragmentChangeManager;->setFragments(I)V

    .line 415
    :cond_10
    iget-boolean v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimEnable:Z

    if-eqz v0, :cond_18

    .line 416
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->calcOffset()V

    goto :goto_1b

    .line 418
    :cond_18
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    .line 420
    :goto_1b
    return-void
.end method

.method public setDividerColor(I)V
    .registers 2
    .param p1, "dividerColor"    # I

    .line 474
    iput p1, p0, Lcom/tablayout/SegmentTabLayout;->mDividerColor:I

    .line 475
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    .line 476
    return-void
.end method

.method public setDividerPadding(F)V
    .registers 3
    .param p1, "dividerPadding"    # F

    .line 484
    invoke-virtual {p0, p1}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mDividerPadding:F

    .line 485
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    .line 486
    return-void
.end method

.method public setDividerWidth(F)V
    .registers 3
    .param p1, "dividerWidth"    # F

    .line 479
    invoke-virtual {p0, p1}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mDividerWidth:F

    .line 480
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    .line 481
    return-void
.end method

.method public setIndicatorAnimDuration(J)V
    .registers 3
    .param p1, "indicatorAnimDuration"    # J

    .line 462
    iput-wide p1, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimDuration:J

    .line 463
    return-void
.end method

.method public setIndicatorAnimEnable(Z)V
    .registers 2
    .param p1, "indicatorAnimEnable"    # Z

    .line 466
    iput-boolean p1, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorAnimEnable:Z

    .line 467
    return-void
.end method

.method public setIndicatorBounceEnable(Z)V
    .registers 2
    .param p1, "indicatorBounceEnable"    # Z

    .line 470
    iput-boolean p1, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorBounceEnable:Z

    .line 471
    return-void
.end method

.method public setIndicatorColor(I)V
    .registers 2
    .param p1, "indicatorColor"    # I

    .line 438
    iput p1, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorColor:I

    .line 439
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    .line 440
    return-void
.end method

.method public setIndicatorCornerRadius(F)V
    .registers 3
    .param p1, "indicatorCornerRadius"    # F

    .line 448
    invoke-virtual {p0, p1}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorCornerRadius:F

    .line 449
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    .line 450
    return-void
.end method

.method public setIndicatorHeight(F)V
    .registers 3
    .param p1, "indicatorHeight"    # F

    .line 443
    invoke-virtual {p0, p1}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorHeight:F

    .line 444
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    .line 445
    return-void
.end method

.method public setIndicatorMargin(FFFF)V
    .registers 6
    .param p1, "indicatorMarginLeft"    # F
    .param p2, "indicatorMarginTop"    # F
    .param p3, "indicatorMarginRight"    # F
    .param p4, "indicatorMarginBottom"    # F

    .line 454
    invoke-virtual {p0, p1}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginLeft:F

    .line 455
    invoke-virtual {p0, p2}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginTop:F

    .line 456
    invoke-virtual {p0, p3}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginRight:F

    .line 457
    invoke-virtual {p0, p4}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mIndicatorMarginBottom:F

    .line 458
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->invalidate()V

    .line 459
    return-void
.end method

.method public setMsgMargin(IFF)V
    .registers 12
    .param p1, "position"    # I
    .param p2, "leftPadding"    # F
    .param p3, "bottomPadding"    # F

    .line 672
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    if-lt p1, v0, :cond_6

    .line 673
    add-int/lit8 p1, v0, -0x1

    .line 675
    :cond_6
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v0, p1}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 676
    .local v0, "tabView":Landroid/view/View;
    const v1, 0x7f091697

    invoke-static {v1}, Lnp/NPFog;->d(I)I

    move-result v1

    invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v1

    check-cast v1, Lcom/tablayout/widget/MsgView;

    .line 677
    .local v1, "tipView":Lcom/tablayout/widget/MsgView;
    if-eqz v1, :cond_6e

    .line 678
    const v2, 0x7f091339

    invoke-static {v2}, Lnp/NPFog;->d(I)I

    move-result v2

    invoke-virtual {v0, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v2

    check-cast v2, Landroid/widget/TextView;

    .line 679
    .local v2, "tv_tab_title":Landroid/widget/TextView;
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mTextPaint:Landroid/graphics/Paint;

    iget v4, p0, Lcom/tablayout/SegmentTabLayout;->mTextsize:F

    invoke-virtual {v3, v4}, Landroid/graphics/Paint;->setTextSize(F)V

    .line 680
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mTextPaint:Landroid/graphics/Paint;

    invoke-virtual {v2}, Landroid/widget/TextView;->getText()Ljava/lang/CharSequence;

    move-result-object v4

    invoke-interface {v4}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Landroid/graphics/Paint;->measureText(Ljava/lang/String;)F

    move-result v3

    .line 681
    .local v3, "textWidth":F
    iget-object v4, p0, Lcom/tablayout/SegmentTabLayout;->mTextPaint:Landroid/graphics/Paint;

    invoke-virtual {v4}, Landroid/graphics/Paint;->descent()F

    move-result v4

    iget-object v5, p0, Lcom/tablayout/SegmentTabLayout;->mTextPaint:Landroid/graphics/Paint;

    invoke-virtual {v5}, Landroid/graphics/Paint;->ascent()F

    move-result v5

    sub-float/2addr v4, v5

    .line 682
    .local v4, "textHeight":F
    invoke-virtual {v1}, Lcom/tablayout/widget/MsgView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v5

    check-cast v5, Landroid/view/ViewGroup$MarginLayoutParams;

    .line 684
    .local v5, "lp":Landroid/view/ViewGroup$MarginLayoutParams;
    invoke-virtual {p0, p2}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v6

    iput v6, v5, Landroid/view/ViewGroup$MarginLayoutParams;->leftMargin:I

    .line 685
    iget v6, p0, Lcom/tablayout/SegmentTabLayout;->mHeight:I

    if-lez v6, :cond_65

    int-to-float v6, v6

    sub-float/2addr v6, v4

    float-to-int v6, v6

    div-int/lit8 v6, v6, 0x2

    invoke-virtual {p0, p3}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v7

    sub-int/2addr v6, v7

    goto :goto_69

    :cond_65
    invoke-virtual {p0, p3}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v6

    :goto_69
    iput v6, v5, Landroid/view/ViewGroup$MarginLayoutParams;->topMargin:I

    .line 687
    invoke-virtual {v1, v5}, Lcom/tablayout/widget/MsgView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V

    .line 689
    .end local v2    # "tv_tab_title":Landroid/widget/TextView;
    .end local v3    # "textWidth":F
    .end local v4    # "textHeight":F
    .end local v5    # "lp":Landroid/view/ViewGroup$MarginLayoutParams;
    :cond_6e
    return-void
.end method

.method public setOnTabSelectListener(Lcom/tablayout/listener/OnTabSelectListener;)V
    .registers 2
    .param p1, "listener"    # Lcom/tablayout/listener/OnTabSelectListener;

    .line 704
    iput-object p1, p0, Lcom/tablayout/SegmentTabLayout;->mListener:Lcom/tablayout/listener/OnTabSelectListener;

    .line 705
    return-void
.end method

.method public setTabData([Ljava/lang/String;)V
    .registers 4
    .param p1, "titles"    # [Ljava/lang/String;

    .line 168
    if-eqz p1, :cond_b

    array-length v0, p1

    if-eqz v0, :cond_b

    .line 172
    iput-object p1, p0, Lcom/tablayout/SegmentTabLayout;->mTitles:[Ljava/lang/String;

    .line 174
    invoke-virtual {p0}, Lcom/tablayout/SegmentTabLayout;->notifyDataSetChanged()V

    .line 175
    return-void

    .line 169
    :cond_b
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "Titles can not be NULL or EMPTY !"

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public setTabData([Ljava/lang/String;Landroidx/fragment/app/FragmentActivity;ILjava/util/ArrayList;)V
    .registers 7
    .param p1, "titles"    # [Ljava/lang/String;
    .param p2, "fa"    # Landroidx/fragment/app/FragmentActivity;
    .param p3, "containerViewId"    # I
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([",
            "Ljava/lang/String;",
            "Landroidx/fragment/app/FragmentActivity;",
            "I",
            "Ljava/util/ArrayList<",
            "Landroidx/fragment/app/Fragment;",
            ">;)V"
        }
    .end annotation

    .line 179
    .local p4, "fragments":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Landroidx/fragment/app/Fragment;>;"
    new-instance v0, Lcom/tablayout/utils/FragmentChangeManager;

    invoke-virtual {p2}, Landroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager;

    move-result-object v1

    invoke-direct {v0, v1, p3, p4}, Lcom/tablayout/utils/FragmentChangeManager;-><init>(Landroidx/fragment/app/FragmentManager;ILjava/util/ArrayList;)V

    iput-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mFragmentChangeManager:Lcom/tablayout/utils/FragmentChangeManager;

    .line 180
    invoke-virtual {p0, p1}, Lcom/tablayout/SegmentTabLayout;->setTabData([Ljava/lang/String;)V

    .line 181
    return-void
.end method

.method public setTabPadding(F)V
    .registers 3
    .param p1, "tabPadding"    # F

    .line 423
    invoke-virtual {p0, p1}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabPadding:F

    .line 424
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->updateTabStyles()V

    .line 425
    return-void
.end method

.method public setTabSpaceEqual(Z)V
    .registers 2
    .param p1, "tabSpaceEqual"    # Z

    .line 428
    iput-boolean p1, p0, Lcom/tablayout/SegmentTabLayout;->mTabSpaceEqual:Z

    .line 429
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->updateTabStyles()V

    .line 430
    return-void
.end method

.method public setTabWidth(F)V
    .registers 3
    .param p1, "tabWidth"    # F

    .line 433
    invoke-virtual {p0, p1}, Lcom/tablayout/SegmentTabLayout;->dp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabWidth:F

    .line 434
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->updateTabStyles()V

    .line 435
    return-void
.end method

.method public setTextAllCaps(Z)V
    .registers 2
    .param p1, "textAllCaps"    # Z

    .line 509
    iput-boolean p1, p0, Lcom/tablayout/SegmentTabLayout;->mTextAllCaps:Z

    .line 510
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->updateTabStyles()V

    .line 511
    return-void
.end method

.method public setTextBold(I)V
    .registers 2
    .param p1, "textBold"    # I

    .line 504
    iput p1, p0, Lcom/tablayout/SegmentTabLayout;->mTextBold:I

    .line 505
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->updateTabStyles()V

    .line 506
    return-void
.end method

.method public setTextSelectColor(I)V
    .registers 2
    .param p1, "textSelectColor"    # I

    .line 494
    iput p1, p0, Lcom/tablayout/SegmentTabLayout;->mTextSelectColor:I

    .line 495
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->updateTabStyles()V

    .line 496
    return-void
.end method

.method public setTextUnselectColor(I)V
    .registers 2
    .param p1, "textUnselectColor"    # I

    .line 499
    iput p1, p0, Lcom/tablayout/SegmentTabLayout;->mTextUnselectColor:I

    .line 500
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->updateTabStyles()V

    .line 501
    return-void
.end method

.method public setTextsize(F)V
    .registers 3
    .param p1, "textsize"    # F

    .line 489
    invoke-virtual {p0, p1}, Lcom/tablayout/SegmentTabLayout;->sp2px(F)I

    move-result v0

    int-to-float v0, v0

    iput v0, p0, Lcom/tablayout/SegmentTabLayout;->mTextsize:F

    .line 490
    invoke-direct {p0}, Lcom/tablayout/SegmentTabLayout;->updateTabStyles()V

    .line 491
    return-void
.end method

.method public showDot(I)V
    .registers 3
    .param p1, "position"    # I

    .line 648
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    if-lt p1, v0, :cond_6

    .line 649
    add-int/lit8 p1, v0, -0x1

    .line 651
    :cond_6
    const/4 v0, 0x0

    invoke-virtual {p0, p1, v0}, Lcom/tablayout/SegmentTabLayout;->showMsg(II)V

    .line 652
    return-void
.end method

.method public showMsg(II)V
    .registers 7
    .param p1, "position"    # I
    .param p2, "num"    # I

    .line 623
    iget v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabCount:I

    const/4 v1, 0x1

    if-lt p1, v0, :cond_7

    .line 624
    add-int/lit8 p1, v0, -0x1

    .line 627
    :cond_7
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mTabsContainer:Landroid/widget/LinearLayout;

    invoke-virtual {v0, p1}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 628
    .local v0, "tabView":Landroid/view/View;
    const v2, 0x7f091697

    invoke-static {v2}, Lnp/NPFog;->d(I)I

    move-result v2

    invoke-virtual {v0, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v2

    check-cast v2, Lcom/tablayout/widget/MsgView;

    .line 629
    .local v2, "tipView":Lcom/tablayout/widget/MsgView;
    if-eqz v2, :cond_44

    .line 630
    invoke-static {v2, p2}, Lcom/tablayout/utils/UnreadMsgUtils;->show(Lcom/tablayout/widget/MsgView;I)V

    .line 632
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mInitSetMap:Landroid/util/SparseArray;

    invoke-virtual {v3, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;

    move-result-object v3

    if-eqz v3, :cond_36

    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mInitSetMap:Landroid/util/SparseArray;

    invoke-virtual {v3, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/Boolean;

    invoke-virtual {v3}, Ljava/lang/Boolean;->booleanValue()Z

    move-result v3

    if-eqz v3, :cond_36

    .line 633
    return-void

    .line 636
    :cond_36
    const/high16 v3, 0x40000000    # 2.0f

    invoke-virtual {p0, p1, v3, v3}, Lcom/tablayout/SegmentTabLayout;->setMsgMargin(IFF)V

    .line 638
    iget-object v3, p0, Lcom/tablayout/SegmentTabLayout;->mInitSetMap:Landroid/util/SparseArray;

    invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v1

    invoke-virtual {v3, p1, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V

    .line 640
    :cond_44
    return-void
.end method

.method protected sp2px(F)I
    .registers 5
    .param p1, "sp"    # F

    .line 754
    iget-object v0, p0, Lcom/tablayout/SegmentTabLayout;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->scaledDensity:F

    .line 755
    .local v0, "scale":F
    mul-float v1, p1, v0

    const/high16 v2, 0x3f000000    # 0.5f

    add-float/2addr v1, v2

    float-to-int v1, v1

    return v1
.end method