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