4014 lines
112 KiB
Smali
4014 lines
112 KiB
Smali
.class public Lcom/google/android/material/tabs/TabLayout;
|
|
.super Landroid/widget/HorizontalScrollView;
|
|
.source "TabLayout.java"
|
|
|
|
|
|
# annotations
|
|
.annotation runtime Landroidx/viewpager/widget/ViewPager$DecorView;
|
|
.end annotation
|
|
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;,
|
|
Lcom/google/android/material/tabs/TabLayout$PagerAdapterObserver;,
|
|
Lcom/google/android/material/tabs/TabLayout$ViewPagerOnTabSelectedListener;,
|
|
Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;,
|
|
Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;,
|
|
Lcom/google/android/material/tabs/TabLayout$TabView;,
|
|
Lcom/google/android/material/tabs/TabLayout$Tab;,
|
|
Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;,
|
|
Lcom/google/android/material/tabs/TabLayout$OnTabSelectedListener;,
|
|
Lcom/google/android/material/tabs/TabLayout$TabIndicatorAnimationMode;,
|
|
Lcom/google/android/material/tabs/TabLayout$TabIndicatorGravity;,
|
|
Lcom/google/android/material/tabs/TabLayout$TabGravity;,
|
|
Lcom/google/android/material/tabs/TabLayout$LabelVisibility;,
|
|
Lcom/google/android/material/tabs/TabLayout$Mode;
|
|
}
|
|
.end annotation
|
|
|
|
|
|
# static fields
|
|
.field private static final ANIMATION_DURATION:I = 0x12c
|
|
|
|
.field static final DEFAULT_GAP_TEXT_ICON:I = 0x8
|
|
|
|
.field private static final DEFAULT_HEIGHT:I = 0x30
|
|
|
|
.field private static final DEFAULT_HEIGHT_WITH_TEXT_ICON:I = 0x48
|
|
|
|
.field private static final DEF_STYLE_RES:I
|
|
|
|
.field static final FIXED_WRAP_GUTTER_MIN:I = 0x10
|
|
|
|
.field public static final GRAVITY_CENTER:I = 0x1
|
|
|
|
.field public static final GRAVITY_FILL:I = 0x0
|
|
|
|
.field public static final GRAVITY_START:I = 0x2
|
|
|
|
.field public static final INDICATOR_ANIMATION_MODE_ELASTIC:I = 0x1
|
|
|
|
.field public static final INDICATOR_ANIMATION_MODE_LINEAR:I = 0x0
|
|
|
|
.field public static final INDICATOR_GRAVITY_BOTTOM:I = 0x0
|
|
|
|
.field public static final INDICATOR_GRAVITY_CENTER:I = 0x1
|
|
|
|
.field public static final INDICATOR_GRAVITY_STRETCH:I = 0x3
|
|
|
|
.field public static final INDICATOR_GRAVITY_TOP:I = 0x2
|
|
|
|
.field private static final INVALID_WIDTH:I = -0x1
|
|
|
|
.field private static final LOG_TAG:Ljava/lang/String; = "TabLayout"
|
|
|
|
.field public static final MODE_AUTO:I = 0x2
|
|
|
|
.field public static final MODE_FIXED:I = 0x1
|
|
|
|
.field public static final MODE_SCROLLABLE:I = 0x0
|
|
|
|
.field public static final TAB_LABEL_VISIBILITY_LABELED:I = 0x1
|
|
|
|
.field public static final TAB_LABEL_VISIBILITY_UNLABELED:I = 0x0
|
|
|
|
.field private static final TAB_MIN_WIDTH_MARGIN:I = 0x38
|
|
|
|
.field private static final tabPool:Landroidx/core/util/Pools$Pool;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Landroidx/core/util/Pools$Pool<",
|
|
"Lcom/google/android/material/tabs/TabLayout$Tab;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
|
|
# instance fields
|
|
.field private adapterChangeListener:Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;
|
|
|
|
.field private contentInsetStart:I
|
|
|
|
.field private currentVpSelectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
.field inlineLabel:Z
|
|
|
|
.field mode:I
|
|
|
|
.field private pageChangeListener:Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;
|
|
|
|
.field private pagerAdapter:Landroidx/viewpager/widget/PagerAdapter;
|
|
|
|
.field private pagerAdapterObserver:Landroid/database/DataSetObserver;
|
|
|
|
.field private final requestedTabMaxWidth:I
|
|
|
|
.field private final requestedTabMinWidth:I
|
|
|
|
.field private scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
.field private final scrollableTabMinWidth:I
|
|
|
|
.field private selectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
.field private final selectedListeners:Ljava/util/ArrayList;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/ArrayList<",
|
|
"Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private selectedTab:Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
.field private setupViewPagerImplicitly:Z
|
|
|
|
.field final slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
.field final tabBackgroundResId:I
|
|
|
|
.field tabGravity:I
|
|
|
|
.field tabIconTint:Landroid/content/res/ColorStateList;
|
|
|
|
.field tabIconTintMode:Landroid/graphics/PorterDuff$Mode;
|
|
|
|
.field tabIndicatorAnimationDuration:I
|
|
|
|
.field tabIndicatorAnimationMode:I
|
|
|
|
.field tabIndicatorFullWidth:Z
|
|
|
|
.field tabIndicatorGravity:I
|
|
|
|
.field private tabIndicatorInterpolator:Lcom/google/android/material/tabs/TabIndicatorInterpolator;
|
|
|
|
.field tabMaxWidth:I
|
|
|
|
.field tabPaddingBottom:I
|
|
|
|
.field tabPaddingEnd:I
|
|
|
|
.field tabPaddingStart:I
|
|
|
|
.field tabPaddingTop:I
|
|
|
|
.field tabRippleColorStateList:Landroid/content/res/ColorStateList;
|
|
|
|
.field tabSelectedIndicator:Landroid/graphics/drawable/Drawable;
|
|
|
|
.field private tabSelectedIndicatorColor:I
|
|
|
|
.field tabTextAppearance:I
|
|
|
|
.field tabTextColors:Landroid/content/res/ColorStateList;
|
|
|
|
.field tabTextMultiLineSize:F
|
|
|
|
.field tabTextSize:F
|
|
|
|
.field private final tabViewPool:Landroidx/core/util/Pools$Pool;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Landroidx/core/util/Pools$Pool<",
|
|
"Lcom/google/android/material/tabs/TabLayout$TabView;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final tabs:Ljava/util/ArrayList;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/ArrayList<",
|
|
"Lcom/google/android/material/tabs/TabLayout$Tab;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field unboundedRipple:Z
|
|
|
|
.field viewPager:Landroidx/viewpager/widget/ViewPager;
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.locals 2
|
|
|
|
.line 179
|
|
sget v0, Lcom/google/android/material/R$style;->Widget_Design_TabLayout:I
|
|
|
|
sput v0, Lcom/google/android/material/tabs/TabLayout;->DEF_STYLE_RES:I
|
|
|
|
.line 200
|
|
new-instance v0, Landroidx/core/util/Pools$SynchronizedPool;
|
|
|
|
const/16 v1, 0x10
|
|
|
|
invoke-direct {v0, v1}, Landroidx/core/util/Pools$SynchronizedPool;-><init>(I)V
|
|
|
|
sput-object v0, Lcom/google/android/material/tabs/TabLayout;->tabPool:Landroidx/core/util/Pools$Pool;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Landroid/content/Context;)V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 484
|
|
invoke-direct {p0, p1, v0}, Lcom/google/android/material/tabs/TabLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
|
.locals 1
|
|
|
|
.line 488
|
|
sget v0, Lcom/google/android/material/R$attr;->tabStyle:I
|
|
|
|
invoke-direct {p0, p1, p2, v0}, Lcom/google/android/material/tabs/TabLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
.locals 10
|
|
|
|
.line 492
|
|
sget v4, Lcom/google/android/material/tabs/TabLayout;->DEF_STYLE_RES:I
|
|
|
|
invoke-static {p1, p2, p3, v4}, Lcom/google/android/material/theme/overlay/MaterialThemeOverlay;->wrap(Landroid/content/Context;Landroid/util/AttributeSet;II)Landroid/content/Context;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-direct {p0, p1, p2, p3}, Landroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
|
|
.line 425
|
|
new-instance p1, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
.line 439
|
|
new-instance p1, Landroid/graphics/drawable/GradientDrawable;
|
|
|
|
invoke-direct {p1}, Landroid/graphics/drawable/GradientDrawable;-><init>()V
|
|
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabSelectedIndicator:Landroid/graphics/drawable/Drawable;
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 440
|
|
iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabSelectedIndicatorColor:I
|
|
|
|
const v0, 0x7fffffff
|
|
|
|
.line 448
|
|
iput v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabMaxWidth:I
|
|
|
|
.line 468
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
.line 481
|
|
new-instance v0, Landroidx/core/util/Pools$SimplePool;
|
|
|
|
const/16 v1, 0xc
|
|
|
|
invoke-direct {v0, v1}, Landroidx/core/util/Pools$SimplePool;-><init>(I)V
|
|
|
|
iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabViewPool:Landroidx/core/util/Pools$Pool;
|
|
|
|
.line 494
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v6
|
|
|
|
.line 497
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setHorizontalScrollBarEnabled(Z)V
|
|
|
|
.line 500
|
|
new-instance v7, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-direct {v7, p0, v6}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;-><init>(Lcom/google/android/material/tabs/TabLayout;Landroid/content/Context;)V
|
|
|
|
iput-object v7, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
.line 501
|
|
new-instance v0, Landroid/widget/FrameLayout$LayoutParams;
|
|
|
|
const/4 v1, -0x2
|
|
|
|
const/4 v8, -0x1
|
|
|
|
invoke-direct {v0, v1, v8}, Landroid/widget/FrameLayout$LayoutParams;-><init>(II)V
|
|
|
|
invoke-super {p0, v7, p1, v0}, Landroid/widget/HorizontalScrollView;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
|
|
|
|
.line 507
|
|
sget-object v2, Lcom/google/android/material/R$styleable;->TabLayout:[I
|
|
|
|
const/4 v9, 0x1
|
|
|
|
new-array v5, v9, [I
|
|
|
|
sget v0, Lcom/google/android/material/R$styleable;->TabLayout_tabTextAppearance:I
|
|
|
|
aput v0, v5, p1
|
|
|
|
move-object v0, v6
|
|
|
|
move-object v1, p2
|
|
|
|
move v3, p3
|
|
|
|
.line 508
|
|
invoke-static/range {v0 .. v5}, Lcom/google/android/material/internal/ThemeEnforcement;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[III[I)Landroid/content/res/TypedArray;
|
|
|
|
move-result-object p2
|
|
|
|
.line 516
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getBackground()Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object p3
|
|
|
|
instance-of p3, p3, Landroid/graphics/drawable/ColorDrawable;
|
|
|
|
if-eqz p3, :cond_0
|
|
|
|
.line 517
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getBackground()Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object p3
|
|
|
|
check-cast p3, Landroid/graphics/drawable/ColorDrawable;
|
|
|
|
.line 518
|
|
new-instance v0, Lcom/google/android/material/shape/MaterialShapeDrawable;
|
|
|
|
invoke-direct {v0}, Lcom/google/android/material/shape/MaterialShapeDrawable;-><init>()V
|
|
|
|
.line 519
|
|
invoke-virtual {p3}, Landroid/graphics/drawable/ColorDrawable;->getColor()I
|
|
|
|
move-result p3
|
|
|
|
invoke-static {p3}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
|
|
|
|
move-result-object p3
|
|
|
|
invoke-virtual {v0, p3}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setFillColor(Landroid/content/res/ColorStateList;)V
|
|
|
|
.line 520
|
|
invoke-virtual {v0, v6}, Lcom/google/android/material/shape/MaterialShapeDrawable;->initializeElevationOverlay(Landroid/content/Context;)V
|
|
|
|
.line 521
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getElevation(Landroid/view/View;)F
|
|
|
|
move-result p3
|
|
|
|
invoke-virtual {v0, p3}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setElevation(F)V
|
|
|
|
.line 522
|
|
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->setBackground(Landroid/view/View;Landroid/graphics/drawable/Drawable;)V
|
|
|
|
.line 525
|
|
:cond_0
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicator:I
|
|
|
|
.line 526
|
|
invoke-static {v6, p2, p3}, Lcom/google/android/material/resources/MaterialResources;->getDrawable(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object p3
|
|
|
|
.line 525
|
|
invoke-virtual {p0, p3}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabIndicator(Landroid/graphics/drawable/Drawable;)V
|
|
|
|
.line 527
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorColor:I
|
|
|
|
.line 528
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getColor(II)I
|
|
|
|
move-result p3
|
|
|
|
.line 527
|
|
invoke-virtual {p0, p3}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabIndicatorColor(I)V
|
|
|
|
.line 529
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorHeight:I
|
|
|
|
.line 530
|
|
invoke-virtual {p2, p3, v8}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result p3
|
|
|
|
.line 529
|
|
invoke-virtual {v7, p3}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setSelectedIndicatorHeight(I)V
|
|
|
|
.line 531
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorGravity:I
|
|
|
|
.line 532
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getInt(II)I
|
|
|
|
move-result p3
|
|
|
|
.line 531
|
|
invoke-virtual {p0, p3}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabIndicatorGravity(I)V
|
|
|
|
.line 533
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorFullWidth:I
|
|
|
|
invoke-virtual {p2, p3, v9}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
|
|
|
move-result p3
|
|
|
|
invoke-virtual {p0, p3}, Lcom/google/android/material/tabs/TabLayout;->setTabIndicatorFullWidth(Z)V
|
|
|
|
.line 534
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorAnimationMode:I
|
|
|
|
.line 535
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getInt(II)I
|
|
|
|
move-result p3
|
|
|
|
.line 534
|
|
invoke-virtual {p0, p3}, Lcom/google/android/material/tabs/TabLayout;->setTabIndicatorAnimationMode(I)V
|
|
|
|
.line 537
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPadding:I
|
|
|
|
.line 540
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingBottom:I
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingEnd:I
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingTop:I
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingStart:I
|
|
|
|
.line 541
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPaddingStart:I
|
|
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingStart:I
|
|
|
|
.line 542
|
|
invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingStart:I
|
|
|
|
.line 543
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPaddingTop:I
|
|
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingTop:I
|
|
|
|
invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingTop:I
|
|
|
|
.line 544
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPaddingEnd:I
|
|
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingEnd:I
|
|
|
|
invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingEnd:I
|
|
|
|
.line 545
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPaddingBottom:I
|
|
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingBottom:I
|
|
|
|
.line 546
|
|
invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingBottom:I
|
|
|
|
.line 548
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabTextAppearance:I
|
|
|
|
sget v0, Lcom/google/android/material/R$style;->TextAppearance_Design_Tab:I
|
|
|
|
.line 549
|
|
invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getResourceId(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextAppearance:I
|
|
|
|
.line 552
|
|
sget-object v0, Landroidx/appcompat/R$styleable;->TextAppearance:[I
|
|
|
|
.line 553
|
|
invoke-virtual {v6, p3, v0}, Landroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;
|
|
|
|
move-result-object p3
|
|
|
|
.line 556
|
|
:try_start_0
|
|
sget v0, Landroidx/appcompat/R$styleable;->TextAppearance_android_textSize:I
|
|
|
|
.line 557
|
|
invoke-virtual {p3, v0, p1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result v0
|
|
|
|
int-to-float v0, v0
|
|
|
|
iput v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextSize:F
|
|
|
|
.line 559
|
|
sget v0, Landroidx/appcompat/R$styleable;->TextAppearance_android_textColor:I
|
|
|
|
.line 560
|
|
invoke-static {v6, p3, v0}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList;
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
.line 565
|
|
invoke-virtual {p3}, Landroid/content/res/TypedArray;->recycle()V
|
|
|
|
.line 568
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabTextColor:I
|
|
|
|
invoke-virtual {p2, p3}, Landroid/content/res/TypedArray;->hasValue(I)Z
|
|
|
|
move-result p3
|
|
|
|
if-eqz p3, :cond_1
|
|
|
|
.line 570
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabTextColor:I
|
|
|
|
.line 571
|
|
invoke-static {v6, p2, p3}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList;
|
|
|
|
move-result-object p3
|
|
|
|
iput-object p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList;
|
|
|
|
.line 574
|
|
:cond_1
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabSelectedTextColor:I
|
|
|
|
invoke-virtual {p2, p3}, Landroid/content/res/TypedArray;->hasValue(I)Z
|
|
|
|
move-result p3
|
|
|
|
if-eqz p3, :cond_2
|
|
|
|
.line 578
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabSelectedTextColor:I
|
|
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getColor(II)I
|
|
|
|
move-result p3
|
|
|
|
.line 579
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList;
|
|
|
|
invoke-virtual {v0}, Landroid/content/res/ColorStateList;->getDefaultColor()I
|
|
|
|
move-result v0
|
|
|
|
invoke-static {v0, p3}, Lcom/google/android/material/tabs/TabLayout;->createColorStateList(II)Landroid/content/res/ColorStateList;
|
|
|
|
move-result-object p3
|
|
|
|
iput-object p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList;
|
|
|
|
.line 582
|
|
:cond_2
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIconTint:I
|
|
|
|
.line 583
|
|
invoke-static {v6, p2, p3}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList;
|
|
|
|
move-result-object p3
|
|
|
|
iput-object p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabIconTint:Landroid/content/res/ColorStateList;
|
|
|
|
.line 584
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIconTintMode:I
|
|
|
|
.line 585
|
|
invoke-virtual {p2, p3, v8}, Landroid/content/res/TypedArray;->getInt(II)I
|
|
|
|
move-result p3
|
|
|
|
const/4 v0, 0x0
|
|
|
|
invoke-static {p3, v0}, Lcom/google/android/material/internal/ViewUtils;->parseTintMode(ILandroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuff$Mode;
|
|
|
|
move-result-object p3
|
|
|
|
iput-object p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabIconTintMode:Landroid/graphics/PorterDuff$Mode;
|
|
|
|
.line 587
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabRippleColor:I
|
|
|
|
.line 588
|
|
invoke-static {v6, p2, p3}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList;
|
|
|
|
move-result-object p3
|
|
|
|
iput-object p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabRippleColorStateList:Landroid/content/res/ColorStateList;
|
|
|
|
.line 590
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorAnimationDuration:I
|
|
|
|
const/16 v0, 0x12c
|
|
|
|
.line 591
|
|
invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getInt(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorAnimationDuration:I
|
|
|
|
.line 593
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabMinWidth:I
|
|
|
|
.line 594
|
|
invoke-virtual {p2, p3, v8}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->requestedTabMinWidth:I
|
|
|
|
.line 595
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabMaxWidth:I
|
|
|
|
.line 596
|
|
invoke-virtual {p2, p3, v8}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->requestedTabMaxWidth:I
|
|
|
|
.line 597
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabBackground:I
|
|
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getResourceId(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabBackgroundResId:I
|
|
|
|
.line 598
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabContentStart:I
|
|
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->contentInsetStart:I
|
|
|
|
.line 600
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabMode:I
|
|
|
|
invoke-virtual {p2, p3, v9}, Landroid/content/res/TypedArray;->getInt(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
.line 601
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabGravity:I
|
|
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getInt(II)I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I
|
|
|
|
.line 602
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabInlineLabel:I
|
|
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
|
|
|
move-result p3
|
|
|
|
iput-boolean p3, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z
|
|
|
|
.line 603
|
|
sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabUnboundedRipple:I
|
|
|
|
invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
|
|
|
move-result p1
|
|
|
|
iput-boolean p1, p0, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z
|
|
|
|
.line 604
|
|
invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V
|
|
|
|
.line 607
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getResources()Landroid/content/res/Resources;
|
|
|
|
move-result-object p1
|
|
|
|
.line 608
|
|
sget p2, Lcom/google/android/material/R$dimen;->design_tab_text_size_2line:I
|
|
|
|
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
|
|
|
|
move-result p2
|
|
|
|
int-to-float p2, p2
|
|
|
|
iput p2, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextMultiLineSize:F
|
|
|
|
.line 609
|
|
sget p2, Lcom/google/android/material/R$dimen;->design_tab_scrollable_min_width:I
|
|
|
|
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->scrollableTabMinWidth:I
|
|
|
|
.line 612
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->applyModeAndGravity()V
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
.line 565
|
|
invoke-virtual {p3}, Landroid/content/res/TypedArray;->recycle()V
|
|
|
|
.line 566
|
|
throw p1
|
|
.end method
|
|
|
|
.method static synthetic access$1200(Lcom/google/android/material/tabs/TabLayout;)Lcom/google/android/material/tabs/TabIndicatorInterpolator;
|
|
.locals 0
|
|
|
|
.line 177
|
|
iget-object p0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorInterpolator:Lcom/google/android/material/tabs/TabIndicatorInterpolator;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method static synthetic access$1400(Lcom/google/android/material/tabs/TabLayout;)I
|
|
.locals 0
|
|
|
|
.line 177
|
|
iget p0, p0, Lcom/google/android/material/tabs/TabLayout;->tabSelectedIndicatorColor:I
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method private addTabFromItemView(Lcom/google/android/material/tabs/TabItem;)V
|
|
.locals 2
|
|
|
|
.line 748
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->newTab()Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
move-result-object v0
|
|
|
|
.line 749
|
|
iget-object v1, p1, Lcom/google/android/material/tabs/TabItem;->text:Ljava/lang/CharSequence;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 750
|
|
iget-object v1, p1, Lcom/google/android/material/tabs/TabItem;->text:Ljava/lang/CharSequence;
|
|
|
|
invoke-virtual {v0, v1}, Lcom/google/android/material/tabs/TabLayout$Tab;->setText(Ljava/lang/CharSequence;)Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
.line 752
|
|
:cond_0
|
|
iget-object v1, p1, Lcom/google/android/material/tabs/TabItem;->icon:Landroid/graphics/drawable/Drawable;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 753
|
|
iget-object v1, p1, Lcom/google/android/material/tabs/TabItem;->icon:Landroid/graphics/drawable/Drawable;
|
|
|
|
invoke-virtual {v0, v1}, Lcom/google/android/material/tabs/TabLayout$Tab;->setIcon(Landroid/graphics/drawable/Drawable;)Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
.line 755
|
|
:cond_1
|
|
iget v1, p1, Lcom/google/android/material/tabs/TabItem;->customLayout:I
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 756
|
|
iget v1, p1, Lcom/google/android/material/tabs/TabItem;->customLayout:I
|
|
|
|
invoke-virtual {v0, v1}, Lcom/google/android/material/tabs/TabLayout$Tab;->setCustomView(I)Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
.line 758
|
|
:cond_2
|
|
invoke-virtual {p1}, Lcom/google/android/material/tabs/TabItem;->getContentDescription()Ljava/lang/CharSequence;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_3
|
|
|
|
.line 759
|
|
invoke-virtual {p1}, Lcom/google/android/material/tabs/TabItem;->getContentDescription()Ljava/lang/CharSequence;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->setContentDescription(Ljava/lang/CharSequence;)Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
.line 761
|
|
:cond_3
|
|
invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->addTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private addTabView(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
.locals 3
|
|
|
|
.line 1576
|
|
iget-object v0, p1, Lcom/google/android/material/tabs/TabLayout$Tab;->view:Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 1577
|
|
invoke-virtual {v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setSelected(Z)V
|
|
|
|
.line 1578
|
|
invoke-virtual {v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setActivated(Z)V
|
|
|
|
.line 1579
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I
|
|
|
|
move-result p1
|
|
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->createLayoutParamsForTabs()Landroid/widget/LinearLayout$LayoutParams;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v1, v0, p1, v2}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private addViewInternal(Landroid/view/View;)V
|
|
.locals 1
|
|
|
|
.line 1603
|
|
instance-of v0, p1, Lcom/google/android/material/tabs/TabItem;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 1604
|
|
check-cast p1, Lcom/google/android/material/tabs/TabItem;
|
|
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addTabFromItemView(Lcom/google/android/material/tabs/TabItem;)V
|
|
|
|
return-void
|
|
|
|
.line 1606
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
const-string v0, "Only TabItem instances can be added to TabLayout"
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method private animateToTab(I)V
|
|
.locals 6
|
|
|
|
const/4 v0, -0x1
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 1743
|
|
:cond_0
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getWindowToken()Landroid/os/IBinder;
|
|
|
|
move-result-object v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 1744
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->isLaidOut(Landroid/view/View;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
.line 1745
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->childrenNeedLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
goto :goto_0
|
|
|
|
.line 1752
|
|
:cond_1
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getScrollX()I
|
|
|
|
move-result v0
|
|
|
|
.line 1753
|
|
invoke-direct {p0, p1, v2}, Lcom/google/android/material/tabs/TabLayout;->calculateScrollXForTab(IF)I
|
|
|
|
move-result v2
|
|
|
|
if-eq v0, v2, :cond_2
|
|
|
|
.line 1756
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->ensureScrollAnimator()V
|
|
|
|
.line 1758
|
|
iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
const/4 v4, 0x2
|
|
|
|
new-array v4, v4, [I
|
|
|
|
const/4 v5, 0x0
|
|
|
|
aput v0, v4, v5
|
|
|
|
aput v2, v4, v1
|
|
|
|
invoke-virtual {v3, v4}, Landroid/animation/ValueAnimator;->setIntValues([I)V
|
|
|
|
.line 1759
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V
|
|
|
|
.line 1763
|
|
:cond_2
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
iget v1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorAnimationDuration:I
|
|
|
|
invoke-virtual {v0, p1, v1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->animateIndicatorToPosition(II)V
|
|
|
|
return-void
|
|
|
|
.line 1748
|
|
:cond_3
|
|
:goto_0
|
|
invoke-virtual {p0, p1, v2, v1}, Lcom/google/android/material/tabs/TabLayout;->setScrollPosition(IFZ)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private applyGravityForModeScrollable(I)V
|
|
.locals 1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
const/4 v0, 0x1
|
|
|
|
if-eq p1, v0, :cond_0
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-eq p1, v0, :cond_2
|
|
|
|
goto :goto_0
|
|
|
|
.line 1924
|
|
:cond_0
|
|
iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {p1, v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setGravity(I)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const-string p1, "TabLayout"
|
|
|
|
const-string v0, "MODE_SCROLLABLE + GRAVITY_FILL is not supported, GRAVITY_START will be used instead"
|
|
|
|
.line 1927
|
|
invoke-static {p1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 1933
|
|
:cond_2
|
|
iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
const v0, 0x800003
|
|
|
|
invoke-virtual {p1, v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setGravity(I)V
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private applyModeAndGravity()V
|
|
.locals 4
|
|
|
|
.line 1896
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
const/4 v1, 0x2
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v0, v2
|
|
|
|
goto :goto_1
|
|
|
|
.line 1898
|
|
:cond_1
|
|
:goto_0
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->contentInsetStart:I
|
|
|
|
iget v3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingStart:I
|
|
|
|
sub-int/2addr v0, v3
|
|
|
|
invoke-static {v2, v0}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result v0
|
|
|
|
.line 1900
|
|
:goto_1
|
|
iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-static {v3, v0, v2, v2, v2}, Landroidx/core/view/ViewCompat;->setPaddingRelative(Landroid/view/View;IIII)V
|
|
|
|
.line 1902
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
if-eq v0, v2, :cond_2
|
|
|
|
if-eq v0, v1, :cond_2
|
|
|
|
goto :goto_2
|
|
|
|
.line 1905
|
|
:cond_2
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I
|
|
|
|
if-ne v0, v1, :cond_3
|
|
|
|
const-string v0, "TabLayout"
|
|
|
|
const-string v1, "GRAVITY_START is not supported with the current tab mode, GRAVITY_CENTER will be used instead"
|
|
|
|
.line 1906
|
|
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 1911
|
|
:cond_3
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0, v2}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setGravity(I)V
|
|
|
|
goto :goto_2
|
|
|
|
.line 1914
|
|
:cond_4
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I
|
|
|
|
invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->applyGravityForModeScrollable(I)V
|
|
|
|
.line 1918
|
|
:goto_2
|
|
invoke-virtual {p0, v2}, Lcom/google/android/material/tabs/TabLayout;->updateTabViews(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private calculateScrollXForTab(IF)I
|
|
.locals 4
|
|
|
|
.line 1873
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
const/4 v1, 0x0
|
|
|
|
const/4 v2, 0x2
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-ne v0, v2, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return v1
|
|
|
|
.line 1874
|
|
:cond_1
|
|
:goto_0
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
add-int/lit8 p1, p1, 0x1
|
|
|
|
.line 1875
|
|
iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
.line 1876
|
|
invoke-virtual {v3}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I
|
|
|
|
move-result v3
|
|
|
|
if-ge p1, v3, :cond_2
|
|
|
|
iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
.line 1877
|
|
invoke-virtual {v3, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object p1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
const/4 p1, 0x0
|
|
|
|
:goto_1
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 1879
|
|
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v3
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
move v3, v1
|
|
|
|
:goto_2
|
|
if-eqz p1, :cond_4
|
|
|
|
.line 1880
|
|
invoke-virtual {p1}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v1
|
|
|
|
.line 1883
|
|
:cond_4
|
|
invoke-virtual {v0}, Landroid/view/View;->getLeft()I
|
|
|
|
move-result p1
|
|
|
|
div-int/lit8 v0, v3, 0x2
|
|
|
|
add-int/2addr p1, v0
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getWidth()I
|
|
|
|
move-result v0
|
|
|
|
div-int/2addr v0, v2
|
|
|
|
sub-int/2addr p1, v0
|
|
|
|
add-int/2addr v3, v1
|
|
|
|
int-to-float v0, v3
|
|
|
|
const/high16 v1, 0x3f000000 # 0.5f
|
|
|
|
mul-float/2addr v0, v1
|
|
|
|
mul-float/2addr v0, p2
|
|
|
|
float-to-int p2, v0
|
|
|
|
.line 1887
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_5
|
|
|
|
add-int/2addr p1, p2
|
|
|
|
goto :goto_3
|
|
|
|
:cond_5
|
|
sub-int/2addr p1, p2
|
|
|
|
:goto_3
|
|
return p1
|
|
.end method
|
|
|
|
.method private configureTab(Lcom/google/android/material/tabs/TabLayout$Tab;I)V
|
|
.locals 1
|
|
|
|
.line 1566
|
|
invoke-virtual {p1, p2}, Lcom/google/android/material/tabs/TabLayout$Tab;->setPosition(I)V
|
|
|
|
.line 1567
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
|
|
|
|
.line 1569
|
|
iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result p1
|
|
|
|
:goto_0
|
|
add-int/lit8 p2, p2, 0x1
|
|
|
|
if-ge p2, p1, :cond_0
|
|
|
|
.line 1571
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
invoke-virtual {v0, p2}, Lcom/google/android/material/tabs/TabLayout$Tab;->setPosition(I)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private static createColorStateList(II)Landroid/content/res/ColorStateList;
|
|
.locals 4
|
|
|
|
const/4 v0, 0x2
|
|
|
|
new-array v1, v0, [[I
|
|
|
|
new-array v0, v0, [I
|
|
|
|
.line 3278
|
|
sget-object v2, Lcom/google/android/material/tabs/TabLayout;->SELECTED_STATE_SET:[I
|
|
|
|
const/4 v3, 0x0
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
aput p1, v0, v3
|
|
|
|
.line 3283
|
|
sget-object p1, Lcom/google/android/material/tabs/TabLayout;->EMPTY_STATE_SET:[I
|
|
|
|
const/4 v2, 0x1
|
|
|
|
aput-object p1, v1, v2
|
|
|
|
aput p0, v0, v2
|
|
|
|
.line 3287
|
|
new-instance p0, Landroid/content/res/ColorStateList;
|
|
|
|
invoke-direct {p0, v1, v0}, Landroid/content/res/ColorStateList;-><init>([[I[I)V
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method private createLayoutParamsForTabs()Landroid/widget/LinearLayout$LayoutParams;
|
|
.locals 3
|
|
|
|
.line 1612
|
|
new-instance v0, Landroid/widget/LinearLayout$LayoutParams;
|
|
|
|
const/4 v1, -0x2
|
|
|
|
const/4 v2, -0x1
|
|
|
|
invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout$LayoutParams;-><init>(II)V
|
|
|
|
.line 1614
|
|
invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->updateTabViewLayoutParams(Landroid/widget/LinearLayout$LayoutParams;)V
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private createTabView(Lcom/google/android/material/tabs/TabLayout$Tab;)Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
.locals 2
|
|
|
|
.line 1550
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabViewPool:Landroidx/core/util/Pools$Pool;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-interface {v0}, Landroidx/core/util/Pools$Pool;->acquire()Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
if-nez v0, :cond_1
|
|
|
|
.line 1552
|
|
new-instance v0, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, p0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;-><init>(Lcom/google/android/material/tabs/TabLayout;Landroid/content/Context;)V
|
|
|
|
.line 1554
|
|
:cond_1
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 1555
|
|
invoke-virtual {v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setFocusable(Z)V
|
|
|
|
.line 1556
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->getTabMinWidth()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setMinimumWidth(I)V
|
|
|
|
.line 1557
|
|
invoke-static {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$200(Lcom/google/android/material/tabs/TabLayout$Tab;)Ljava/lang/CharSequence;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 1558
|
|
invoke-static {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$300(Lcom/google/android/material/tabs/TabLayout$Tab;)Ljava/lang/CharSequence;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setContentDescription(Ljava/lang/CharSequence;)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 1560
|
|
:cond_2
|
|
invoke-static {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$200(Lcom/google/android/material/tabs/TabLayout$Tab;)Ljava/lang/CharSequence;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setContentDescription(Ljava/lang/CharSequence;)V
|
|
|
|
:goto_1
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private dispatchTabReselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
.locals 2
|
|
|
|
.line 1867
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_0
|
|
|
|
.line 1868
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
invoke-interface {v1, p1}, Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;->onTabReselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchTabSelected(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
.locals 2
|
|
|
|
.line 1855
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_0
|
|
|
|
.line 1856
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
invoke-interface {v1, p1}, Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;->onTabSelected(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchTabUnselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
.locals 2
|
|
|
|
.line 1861
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_0
|
|
|
|
.line 1862
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
invoke-interface {v1, p1}, Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;->onTabUnselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private ensureScrollAnimator()V
|
|
.locals 3
|
|
|
|
.line 1767
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 1768
|
|
new-instance v0, Landroid/animation/ValueAnimator;
|
|
|
|
invoke-direct {v0}, Landroid/animation/ValueAnimator;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
.line 1769
|
|
sget-object v1, Lcom/google/android/material/animation/AnimationUtils;->FAST_OUT_SLOW_IN_INTERPOLATOR:Landroid/animation/TimeInterpolator;
|
|
|
|
invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
|
|
|
|
.line 1770
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
iget v1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorAnimationDuration:I
|
|
|
|
int-to-long v1, v1
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;
|
|
|
|
.line 1771
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
new-instance v1, Lcom/google/android/material/tabs/TabLayout$1;
|
|
|
|
invoke-direct {v1, p0}, Lcom/google/android/material/tabs/TabLayout$1;-><init>(Lcom/google/android/material/tabs/TabLayout;)V
|
|
|
|
invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private getDefaultHeight()I
|
|
.locals 5
|
|
|
|
.line 3293
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_1
|
|
|
|
.line 3294
|
|
iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v3
|
|
|
|
check-cast v3, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
if-eqz v3, :cond_0
|
|
|
|
.line 3295
|
|
invoke-virtual {v3}, Lcom/google/android/material/tabs/TabLayout$Tab;->getIcon()Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object v4
|
|
|
|
if-eqz v4, :cond_0
|
|
|
|
invoke-virtual {v3}, Lcom/google/android/material/tabs/TabLayout$Tab;->getText()Ljava/lang/CharSequence;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_0
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
:goto_1
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 3300
|
|
iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
const/16 v0, 0x48
|
|
|
|
goto :goto_2
|
|
|
|
:cond_2
|
|
const/16 v0, 0x30
|
|
|
|
:goto_2
|
|
return v0
|
|
.end method
|
|
|
|
.method private getTabMinWidth()I
|
|
.locals 2
|
|
|
|
.line 3304
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->requestedTabMinWidth:I
|
|
|
|
const/4 v1, -0x1
|
|
|
|
if-eq v0, v1, :cond_0
|
|
|
|
return v0
|
|
|
|
.line 3309
|
|
:cond_0
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
const/4 v1, 0x2
|
|
|
|
if-ne v0, v1, :cond_1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 v0, 0x0
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
:goto_0
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollableTabMinWidth:I
|
|
|
|
:goto_1
|
|
return v0
|
|
.end method
|
|
|
|
.method private getTabScrollRange()I
|
|
.locals 2
|
|
|
|
.line 1499
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
.line 1500
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getWidth()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getWidth()I
|
|
|
|
move-result v1
|
|
|
|
sub-int/2addr v0, v1
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getPaddingLeft()I
|
|
|
|
move-result v1
|
|
|
|
sub-int/2addr v0, v1
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getPaddingRight()I
|
|
|
|
move-result v1
|
|
|
|
sub-int/2addr v0, v1
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 1499
|
|
invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method private removeTabViewAt(I)V
|
|
.locals 2
|
|
|
|
.line 1729
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
.line 1730
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v1, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->removeViewAt(I)V
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 1732
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->reset()V
|
|
|
|
.line 1733
|
|
iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabViewPool:Landroidx/core/util/Pools$Pool;
|
|
|
|
invoke-interface {p1, v0}, Landroidx/core/util/Pools$Pool;->release(Ljava/lang/Object;)Z
|
|
|
|
.line 1735
|
|
:cond_0
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private setSelectedTabView(I)V
|
|
.locals 6
|
|
|
|
.line 1792
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
if-ge p1, v0, :cond_2
|
|
|
|
const/4 v1, 0x0
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_2
|
|
|
|
.line 1795
|
|
iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v3, v2}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
const/4 v4, 0x1
|
|
|
|
if-ne v2, p1, :cond_0
|
|
|
|
move v5, v4
|
|
|
|
goto :goto_1
|
|
|
|
:cond_0
|
|
move v5, v1
|
|
|
|
.line 1796
|
|
:goto_1
|
|
invoke-virtual {v3, v5}, Landroid/view/View;->setSelected(Z)V
|
|
|
|
if-ne v2, p1, :cond_1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_1
|
|
move v4, v1
|
|
|
|
.line 1797
|
|
:goto_2
|
|
invoke-virtual {v3, v4}, Landroid/view/View;->setActivated(Z)V
|
|
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method private setupWithViewPager(Landroidx/viewpager/widget/ViewPager;ZZ)V
|
|
.locals 2
|
|
|
|
.line 1397
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 1399
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->pageChangeListener:Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 1400
|
|
invoke-virtual {v0, v1}, Landroidx/viewpager/widget/ViewPager;->removeOnPageChangeListener(Landroidx/viewpager/widget/ViewPager$OnPageChangeListener;)V
|
|
|
|
.line 1402
|
|
:cond_0
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->adapterChangeListener:Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 1403
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager;
|
|
|
|
invoke-virtual {v1, v0}, Landroidx/viewpager/widget/ViewPager;->removeOnAdapterChangeListener(Landroidx/viewpager/widget/ViewPager$OnAdapterChangeListener;)V
|
|
|
|
.line 1407
|
|
:cond_1
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->currentVpSelectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 1409
|
|
invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->removeOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
|
|
.line 1410
|
|
iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->currentVpSelectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
:cond_2
|
|
if-eqz p1, :cond_6
|
|
|
|
.line 1414
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager;
|
|
|
|
.line 1417
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->pageChangeListener:Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 1418
|
|
new-instance v0, Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;
|
|
|
|
invoke-direct {v0, p0}, Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;-><init>(Lcom/google/android/material/tabs/TabLayout;)V
|
|
|
|
iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->pageChangeListener:Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;
|
|
|
|
.line 1420
|
|
:cond_3
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->pageChangeListener:Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;
|
|
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;->reset()V
|
|
|
|
.line 1421
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->pageChangeListener:Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener;
|
|
|
|
invoke-virtual {p1, v0}, Landroidx/viewpager/widget/ViewPager;->addOnPageChangeListener(Landroidx/viewpager/widget/ViewPager$OnPageChangeListener;)V
|
|
|
|
.line 1424
|
|
new-instance v0, Lcom/google/android/material/tabs/TabLayout$ViewPagerOnTabSelectedListener;
|
|
|
|
invoke-direct {v0, p1}, Lcom/google/android/material/tabs/TabLayout$ViewPagerOnTabSelectedListener;-><init>(Landroidx/viewpager/widget/ViewPager;)V
|
|
|
|
iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->currentVpSelectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
.line 1425
|
|
invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->addOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
|
|
.line 1427
|
|
invoke-virtual {p1}, Landroidx/viewpager/widget/ViewPager;->getAdapter()Landroidx/viewpager/widget/PagerAdapter;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 1431
|
|
invoke-virtual {p0, v0, p2}, Lcom/google/android/material/tabs/TabLayout;->setPagerAdapter(Landroidx/viewpager/widget/PagerAdapter;Z)V
|
|
|
|
.line 1435
|
|
:cond_4
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->adapterChangeListener:Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;
|
|
|
|
if-nez v0, :cond_5
|
|
|
|
.line 1436
|
|
new-instance v0, Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;
|
|
|
|
invoke-direct {v0, p0}, Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;-><init>(Lcom/google/android/material/tabs/TabLayout;)V
|
|
|
|
iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->adapterChangeListener:Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;
|
|
|
|
.line 1438
|
|
:cond_5
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->adapterChangeListener:Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;
|
|
|
|
invoke-virtual {v0, p2}, Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;->setAutoRefresh(Z)V
|
|
|
|
.line 1439
|
|
iget-object p2, p0, Lcom/google/android/material/tabs/TabLayout;->adapterChangeListener:Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener;
|
|
|
|
invoke-virtual {p1, p2}, Landroidx/viewpager/widget/ViewPager;->addOnAdapterChangeListener(Landroidx/viewpager/widget/ViewPager$OnAdapterChangeListener;)V
|
|
|
|
.line 1442
|
|
invoke-virtual {p1}, Landroidx/viewpager/widget/ViewPager;->getCurrentItem()I
|
|
|
|
move-result p1
|
|
|
|
const/4 p2, 0x0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
invoke-virtual {p0, p1, p2, v0}, Lcom/google/android/material/tabs/TabLayout;->setScrollPosition(IFZ)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 1446
|
|
:cond_6
|
|
iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager;
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 1447
|
|
invoke-virtual {p0, v1, p1}, Lcom/google/android/material/tabs/TabLayout;->setPagerAdapter(Landroidx/viewpager/widget/PagerAdapter;Z)V
|
|
|
|
.line 1450
|
|
:goto_0
|
|
iput-boolean p3, p0, Lcom/google/android/material/tabs/TabLayout;->setupViewPagerImplicitly:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private updateAllTabs()V
|
|
.locals 3
|
|
|
|
.line 1543
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
.line 1544
|
|
iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
invoke-virtual {v2}, Lcom/google/android/material/tabs/TabLayout$Tab;->updateView()V
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private updateTabViewLayoutParams(Landroid/widget/LinearLayout$LayoutParams;)V
|
|
.locals 2
|
|
|
|
.line 1619
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1620
|
|
iput v0, p1, Landroid/widget/LinearLayout$LayoutParams;->width:I
|
|
|
|
const/high16 v0, 0x3f800000 # 1.0f
|
|
|
|
.line 1621
|
|
iput v0, p1, Landroid/widget/LinearLayout$LayoutParams;->weight:F
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, -0x2
|
|
|
|
.line 1623
|
|
iput v0, p1, Landroid/widget/LinearLayout$LayoutParams;->width:I
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1624
|
|
iput v0, p1, Landroid/widget/LinearLayout$LayoutParams;->weight:F
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public addOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
.locals 1
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 816
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 817
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public addOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$OnTabSelectedListener;)V
|
|
.locals 0
|
|
|
|
.line 801
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
.locals 1
|
|
|
|
.line 704
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0, p1, v0}, Lcom/google/android/material/tabs/TabLayout;->addTab(Lcom/google/android/material/tabs/TabLayout$Tab;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addTab(Lcom/google/android/material/tabs/TabLayout$Tab;I)V
|
|
.locals 1
|
|
|
|
.line 715
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0, p1, p2, v0}, Lcom/google/android/material/tabs/TabLayout;->addTab(Lcom/google/android/material/tabs/TabLayout$Tab;IZ)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addTab(Lcom/google/android/material/tabs/TabLayout$Tab;IZ)V
|
|
.locals 1
|
|
|
|
.line 736
|
|
iget-object v0, p1, Lcom/google/android/material/tabs/TabLayout$Tab;->parent:Lcom/google/android/material/tabs/TabLayout;
|
|
|
|
if-ne v0, p0, :cond_1
|
|
|
|
.line 739
|
|
invoke-direct {p0, p1, p2}, Lcom/google/android/material/tabs/TabLayout;->configureTab(Lcom/google/android/material/tabs/TabLayout$Tab;I)V
|
|
|
|
.line 740
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addTabView(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
if-eqz p3, :cond_0
|
|
|
|
.line 743
|
|
invoke-virtual {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->select()V
|
|
|
|
:cond_0
|
|
return-void
|
|
|
|
.line 737
|
|
:cond_1
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
const-string p2, "Tab belongs to a different TabLayout."
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method public addTab(Lcom/google/android/material/tabs/TabLayout$Tab;Z)V
|
|
.locals 1
|
|
|
|
.line 725
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0, p1, v0, p2}, Lcom/google/android/material/tabs/TabLayout;->addTab(Lcom/google/android/material/tabs/TabLayout$Tab;IZ)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addView(Landroid/view/View;)V
|
|
.locals 0
|
|
|
|
.line 1584
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addViewInternal(Landroid/view/View;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addView(Landroid/view/View;I)V
|
|
.locals 0
|
|
|
|
.line 1589
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addViewInternal(Landroid/view/View;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
|
|
.locals 0
|
|
|
|
.line 1599
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addViewInternal(Landroid/view/View;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
|
|
.locals 0
|
|
|
|
.line 1594
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addViewInternal(Landroid/view/View;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public clearOnTabSelectedListeners()V
|
|
.locals 1
|
|
|
|
.line 845
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method protected createTabFromPool()Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
.locals 1
|
|
|
|
.line 869
|
|
sget-object v0, Lcom/google/android/material/tabs/TabLayout;->tabPool:Landroidx/core/util/Pools$Pool;
|
|
|
|
invoke-interface {v0}, Landroidx/core/util/Pools$Pool;->acquire()Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 871
|
|
new-instance v0, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
invoke-direct {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;-><init>()V
|
|
|
|
:cond_0
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public bridge synthetic generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
|
|
.locals 0
|
|
|
|
.line 176
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/FrameLayout$LayoutParams;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/FrameLayout$LayoutParams;
|
|
.locals 0
|
|
|
|
.line 3318
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->generateDefaultLayoutParams()Landroid/widget/FrameLayout$LayoutParams;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public getSelectedTabPosition()I
|
|
.locals 1
|
|
|
|
.line 902
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedTab:Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, -0x1
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method public getTabAt(I)Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
.locals 1
|
|
|
|
if-ltz p1, :cond_1
|
|
|
|
.line 893
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getTabCount()I
|
|
|
|
move-result v0
|
|
|
|
if-lt p1, v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const/4 p1, 0x0
|
|
|
|
:goto_1
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public getTabCount()I
|
|
.locals 1
|
|
|
|
.line 887
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getTabGravity()I
|
|
.locals 1
|
|
|
|
.line 1014
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getTabIconTint()Landroid/content/res/ColorStateList;
|
|
.locals 1
|
|
|
|
.line 1263
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIconTint:Landroid/content/res/ColorStateList;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getTabIndicatorAnimationMode()I
|
|
.locals 1
|
|
|
|
.line 1088
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorAnimationMode:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getTabIndicatorGravity()I
|
|
.locals 1
|
|
|
|
.line 1047
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorGravity:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method getTabMaxWidth()I
|
|
.locals 1
|
|
|
|
.line 3322
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabMaxWidth:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getTabMode()I
|
|
.locals 1
|
|
|
|
.line 991
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getTabRippleColor()Landroid/content/res/ColorStateList;
|
|
.locals 1
|
|
|
|
.line 1274
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabRippleColorStateList:Landroid/content/res/ColorStateList;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getTabSelectedIndicator()Landroid/graphics/drawable/Drawable;
|
|
.locals 1
|
|
|
|
.line 1321
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabSelectedIndicator:Landroid/graphics/drawable/Drawable;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getTabTextColors()Landroid/content/res/ColorStateList;
|
|
.locals 1
|
|
|
|
.line 1225
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public hasUnboundedRipple()Z
|
|
.locals 1
|
|
|
|
.line 1207
|
|
iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public isInlineLabel()Z
|
|
.locals 1
|
|
|
|
.line 1163
|
|
iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public isTabIndicatorFullWidth()Z
|
|
.locals 1
|
|
|
|
.line 1120
|
|
iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorFullWidth:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public newTab()Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
.locals 3
|
|
|
|
.line 857
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->createTabFromPool()Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
move-result-object v0
|
|
|
|
.line 858
|
|
iput-object p0, v0, Lcom/google/android/material/tabs/TabLayout$Tab;->parent:Lcom/google/android/material/tabs/TabLayout;
|
|
|
|
.line 859
|
|
invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->createTabView(Lcom/google/android/material/tabs/TabLayout$Tab;)Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, v0, Lcom/google/android/material/tabs/TabLayout$Tab;->view:Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
.line 860
|
|
invoke-static {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$000(Lcom/google/android/material/tabs/TabLayout$Tab;)I
|
|
|
|
move-result v1
|
|
|
|
const/4 v2, -0x1
|
|
|
|
if-eq v1, v2, :cond_0
|
|
|
|
.line 861
|
|
iget-object v1, v0, Lcom/google/android/material/tabs/TabLayout$Tab;->view:Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
invoke-static {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$000(Lcom/google/android/material/tabs/TabLayout$Tab;)I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {v1, v2}, Lcom/google/android/material/tabs/TabLayout$TabView;->setId(I)V
|
|
|
|
:cond_0
|
|
return-object v0
|
|
.end method
|
|
|
|
.method protected onAttachedToWindow()V
|
|
.locals 2
|
|
|
|
.line 1471
|
|
invoke-super {p0}, Landroid/widget/HorizontalScrollView;->onAttachedToWindow()V
|
|
|
|
.line 1473
|
|
invoke-static {p0}, Lcom/google/android/material/shape/MaterialShapeUtils;->setParentAbsoluteElevation(Landroid/view/View;)V
|
|
|
|
.line 1475
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 1478
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v0
|
|
|
|
.line 1479
|
|
instance-of v1, v0, Landroidx/viewpager/widget/ViewPager;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 1482
|
|
check-cast v0, Landroidx/viewpager/widget/ViewPager;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
invoke-direct {p0, v0, v1, v1}, Lcom/google/android/material/tabs/TabLayout;->setupWithViewPager(Landroidx/viewpager/widget/ViewPager;ZZ)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method protected onDetachedFromWindow()V
|
|
.locals 1
|
|
|
|
.line 1489
|
|
invoke-super {p0}, Landroid/widget/HorizontalScrollView;->onDetachedFromWindow()V
|
|
|
|
.line 1491
|
|
iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->setupViewPagerImplicitly:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1493
|
|
invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->setupWithViewPager(Landroidx/viewpager/widget/ViewPager;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1494
|
|
iput-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->setupViewPagerImplicitly:Z
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method protected onDraw(Landroid/graphics/Canvas;)V
|
|
.locals 3
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1651
|
|
:goto_0
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I
|
|
|
|
move-result v1
|
|
|
|
if-ge v0, v1, :cond_1
|
|
|
|
.line 1652
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v1, v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
.line 1653
|
|
instance-of v2, v1, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
.line 1654
|
|
check-cast v1, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
invoke-static {v1, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->access$400(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/graphics/Canvas;)V
|
|
|
|
:cond_0
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 1658
|
|
:cond_1
|
|
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->onDraw(Landroid/graphics/Canvas;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
|
|
.locals 3
|
|
|
|
.line 1638
|
|
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
|
|
|
|
.line 1639
|
|
invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->wrap(Landroid/view/accessibility/AccessibilityNodeInfo;)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;
|
|
|
|
move-result-object p1
|
|
|
|
.line 1643
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getTabCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 1641
|
|
invoke-static {v1, v0, v2, v1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$CollectionInfoCompat;->obtain(IIZI)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$CollectionInfoCompat;
|
|
|
|
move-result-object v0
|
|
|
|
.line 1640
|
|
invoke-virtual {p1, v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setCollectionInfo(Ljava/lang/Object;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method protected onMeasure(II)V
|
|
.locals 6
|
|
|
|
.line 1665
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->getDefaultHeight()I
|
|
|
|
move-result v1
|
|
|
|
invoke-static {v0, v1}, Lcom/google/android/material/internal/ViewUtils;->dpToPx(Landroid/content/Context;I)F
|
|
|
|
move-result v0
|
|
|
|
invoke-static {v0}, Ljava/lang/Math;->round(F)I
|
|
|
|
move-result v0
|
|
|
|
.line 1666
|
|
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
|
|
|
|
move-result v1
|
|
|
|
const/high16 v2, -0x80000000
|
|
|
|
const/high16 v3, 0x40000000 # 2.0f
|
|
|
|
const/4 v4, 0x0
|
|
|
|
const/4 v5, 0x1
|
|
|
|
if-eq v1, v2, :cond_1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 1675
|
|
:cond_0
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getPaddingTop()I
|
|
|
|
move-result p2
|
|
|
|
add-int/2addr v0, p2
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getPaddingBottom()I
|
|
|
|
move-result p2
|
|
|
|
add-int/2addr v0, p2
|
|
|
|
.line 1674
|
|
invoke-static {v0, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
|
|
|
|
move-result p2
|
|
|
|
goto :goto_0
|
|
|
|
.line 1668
|
|
:cond_1
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getChildCount()I
|
|
|
|
move-result v1
|
|
|
|
if-ne v1, v5, :cond_2
|
|
|
|
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I
|
|
|
|
move-result v1
|
|
|
|
if-lt v1, v0, :cond_2
|
|
|
|
.line 1669
|
|
invoke-virtual {p0, v4}, Lcom/google/android/material/tabs/TabLayout;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1, v0}, Landroid/view/View;->setMinimumHeight(I)V
|
|
|
|
.line 1681
|
|
:cond_2
|
|
:goto_0
|
|
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
|
|
|
|
move-result v0
|
|
|
|
.line 1682
|
|
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_4
|
|
|
|
.line 1685
|
|
iget v1, p0, Lcom/google/android/material/tabs/TabLayout;->requestedTabMaxWidth:I
|
|
|
|
if-lez v1, :cond_3
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
int-to-float v0, v0
|
|
|
|
.line 1688
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v1
|
|
|
|
const/16 v2, 0x38
|
|
|
|
invoke-static {v1, v2}, Lcom/google/android/material/internal/ViewUtils;->dpToPx(Landroid/content/Context;I)F
|
|
|
|
move-result v1
|
|
|
|
sub-float/2addr v0, v1
|
|
|
|
float-to-int v1, v0
|
|
|
|
:goto_1
|
|
iput v1, p0, Lcom/google/android/material/tabs/TabLayout;->tabMaxWidth:I
|
|
|
|
.line 1692
|
|
:cond_4
|
|
invoke-super {p0, p1, p2}, Landroid/widget/HorizontalScrollView;->onMeasure(II)V
|
|
|
|
.line 1694
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getChildCount()I
|
|
|
|
move-result p1
|
|
|
|
if-ne p1, v5, :cond_8
|
|
|
|
.line 1697
|
|
invoke-virtual {p0, v4}, Lcom/google/android/material/tabs/TabLayout;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object p1
|
|
|
|
.line 1700
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
if-eq v0, v5, :cond_5
|
|
|
|
const/4 v1, 0x2
|
|
|
|
if-eq v0, v1, :cond_6
|
|
|
|
goto :goto_3
|
|
|
|
.line 1709
|
|
:cond_5
|
|
invoke-virtual {p1}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
if-eq v0, v1, :cond_7
|
|
|
|
:goto_2
|
|
move v4, v5
|
|
|
|
goto :goto_3
|
|
|
|
.line 1705
|
|
:cond_6
|
|
invoke-virtual {p1}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
if-ge v0, v1, :cond_7
|
|
|
|
goto :goto_2
|
|
|
|
:cond_7
|
|
:goto_3
|
|
if-eqz v4, :cond_8
|
|
|
|
.line 1718
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getPaddingTop()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getPaddingBottom()I
|
|
|
|
move-result v1
|
|
|
|
add-int/2addr v0, v1
|
|
|
|
.line 1719
|
|
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v1
|
|
|
|
iget v1, v1, Landroid/view/ViewGroup$LayoutParams;->height:I
|
|
|
|
.line 1716
|
|
invoke-static {p2, v0, v1}, Lcom/google/android/material/tabs/TabLayout;->getChildMeasureSpec(III)I
|
|
|
|
move-result p2
|
|
|
|
.line 1722
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getMeasuredWidth()I
|
|
|
|
move-result v0
|
|
|
|
invoke-static {v0, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
|
|
|
|
move-result v0
|
|
|
|
.line 1723
|
|
invoke-virtual {p1, v0, p2}, Landroid/view/View;->measure(II)V
|
|
|
|
:cond_8
|
|
return-void
|
|
.end method
|
|
|
|
.method populateFromPagerAdapter()V
|
|
.locals 5
|
|
|
|
.line 1524
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->removeAllTabs()V
|
|
|
|
.line 1526
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapter:Landroidx/viewpager/widget/PagerAdapter;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 1527
|
|
invoke-virtual {v0}, Landroidx/viewpager/widget/PagerAdapter;->getCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_0
|
|
|
|
.line 1529
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->newTab()Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
move-result-object v3
|
|
|
|
iget-object v4, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapter:Landroidx/viewpager/widget/PagerAdapter;
|
|
|
|
invoke-virtual {v4, v2}, Landroidx/viewpager/widget/PagerAdapter;->getPageTitle(I)Ljava/lang/CharSequence;
|
|
|
|
move-result-object v4
|
|
|
|
invoke-virtual {v3, v4}, Lcom/google/android/material/tabs/TabLayout$Tab;->setText(Ljava/lang/CharSequence;)Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {p0, v3, v1}, Lcom/google/android/material/tabs/TabLayout;->addTab(Lcom/google/android/material/tabs/TabLayout$Tab;Z)V
|
|
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 1533
|
|
:cond_0
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
if-lez v0, :cond_1
|
|
|
|
.line 1534
|
|
invoke-virtual {v1}, Landroidx/viewpager/widget/ViewPager;->getCurrentItem()I
|
|
|
|
move-result v0
|
|
|
|
.line 1535
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getSelectedTabPosition()I
|
|
|
|
move-result v1
|
|
|
|
if-eq v0, v1, :cond_1
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getTabCount()I
|
|
|
|
move-result v1
|
|
|
|
if-ge v0, v1, :cond_1
|
|
|
|
.line 1536
|
|
invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->getTabAt(I)Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->selectTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method protected releaseFromTabPool(Lcom/google/android/material/tabs/TabLayout$Tab;)Z
|
|
.locals 1
|
|
|
|
.line 878
|
|
sget-object v0, Lcom/google/android/material/tabs/TabLayout;->tabPool:Landroidx/core/util/Pools$Pool;
|
|
|
|
invoke-interface {v0, p1}, Landroidx/core/util/Pools$Pool;->release(Ljava/lang/Object;)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public removeAllTabs()V
|
|
.locals 2
|
|
|
|
.line 948
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_0
|
|
|
|
.line 949
|
|
invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->removeTabViewAt(I)V
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 952
|
|
:cond_0
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
|
|
|
|
move-result-object v0
|
|
|
|
:goto_1
|
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 953
|
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
.line 954
|
|
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
|
|
|
|
.line 955
|
|
invoke-virtual {v1}, Lcom/google/android/material/tabs/TabLayout$Tab;->reset()V
|
|
|
|
.line 956
|
|
invoke-virtual {p0, v1}, Lcom/google/android/material/tabs/TabLayout;->releaseFromTabPool(Lcom/google/android/material/tabs/TabLayout$Tab;)Z
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
const/4 v0, 0x0
|
|
|
|
.line 959
|
|
iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedTab:Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
.locals 1
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 840
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$OnTabSelectedListener;)V
|
|
.locals 0
|
|
|
|
.line 828
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->removeOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
.locals 1
|
|
|
|
.line 912
|
|
iget-object v0, p1, Lcom/google/android/material/tabs/TabLayout$Tab;->parent:Lcom/google/android/material/tabs/TabLayout;
|
|
|
|
if-ne v0, p0, :cond_0
|
|
|
|
.line 916
|
|
invoke-virtual {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I
|
|
|
|
move-result p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->removeTabAt(I)V
|
|
|
|
return-void
|
|
|
|
.line 913
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
const-string v0, "Tab does not belong to this TabLayout."
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method public removeTabAt(I)V
|
|
.locals 5
|
|
|
|
.line 926
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedTab:Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v0, v1
|
|
|
|
.line 927
|
|
:goto_0
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->removeTabViewAt(I)V
|
|
|
|
.line 929
|
|
iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
if-eqz v2, :cond_1
|
|
|
|
.line 931
|
|
invoke-virtual {v2}, Lcom/google/android/material/tabs/TabLayout$Tab;->reset()V
|
|
|
|
.line 932
|
|
invoke-virtual {p0, v2}, Lcom/google/android/material/tabs/TabLayout;->releaseFromTabPool(Lcom/google/android/material/tabs/TabLayout$Tab;)Z
|
|
|
|
.line 935
|
|
:cond_1
|
|
iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v2
|
|
|
|
move v3, p1
|
|
|
|
:goto_1
|
|
if-ge v3, v2, :cond_2
|
|
|
|
.line 937
|
|
iget-object v4, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v4
|
|
|
|
check-cast v4, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
invoke-virtual {v4, v3}, Lcom/google/android/material/tabs/TabLayout$Tab;->setPosition(I)V
|
|
|
|
add-int/lit8 v3, v3, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
if-ne v0, p1, :cond_4
|
|
|
|
.line 941
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
const/4 p1, 0x0
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList;
|
|
|
|
add-int/lit8 p1, p1, -0x1
|
|
|
|
invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result p1
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
:goto_2
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->selectTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
:cond_4
|
|
return-void
|
|
.end method
|
|
|
|
.method public selectTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 1809
|
|
invoke-virtual {p0, p1, v0}, Lcom/google/android/material/tabs/TabLayout;->selectTab(Lcom/google/android/material/tabs/TabLayout$Tab;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public selectTab(Lcom/google/android/material/tabs/TabLayout$Tab;Z)V
|
|
.locals 4
|
|
|
|
.line 1821
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedTab:Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
if-ne v0, p1, :cond_0
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
.line 1825
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->dispatchTabReselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
.line 1826
|
|
invoke-virtual {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I
|
|
|
|
move-result p1
|
|
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->animateToTab(I)V
|
|
|
|
goto :goto_2
|
|
|
|
:cond_0
|
|
const/4 v1, -0x1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 1829
|
|
invoke-virtual {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I
|
|
|
|
move-result v2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-eqz p2, :cond_4
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 1831
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I
|
|
|
|
move-result p2
|
|
|
|
if-ne p2, v1, :cond_3
|
|
|
|
:cond_2
|
|
if-eq v2, v1, :cond_3
|
|
|
|
const/4 p2, 0x0
|
|
|
|
const/4 v3, 0x1
|
|
|
|
.line 1834
|
|
invoke-virtual {p0, v2, p2, v3}, Lcom/google/android/material/tabs/TabLayout;->setScrollPosition(IFZ)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 1836
|
|
:cond_3
|
|
invoke-direct {p0, v2}, Lcom/google/android/material/tabs/TabLayout;->animateToTab(I)V
|
|
|
|
:goto_1
|
|
if-eq v2, v1, :cond_4
|
|
|
|
.line 1839
|
|
invoke-direct {p0, v2}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabView(I)V
|
|
|
|
.line 1844
|
|
:cond_4
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->selectedTab:Lcom/google/android/material/tabs/TabLayout$Tab;
|
|
|
|
if-eqz v0, :cond_5
|
|
|
|
.line 1846
|
|
invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->dispatchTabUnselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
:cond_5
|
|
if-eqz p1, :cond_6
|
|
|
|
.line 1849
|
|
invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->dispatchTabSelected(Lcom/google/android/material/tabs/TabLayout$Tab;)V
|
|
|
|
:cond_6
|
|
:goto_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public setElevation(F)V
|
|
.locals 0
|
|
|
|
.line 1631
|
|
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->setElevation(F)V
|
|
|
|
.line 1633
|
|
invoke-static {p0, p1}, Lcom/google/android/material/shape/MaterialShapeUtils;->setElevation(Landroid/view/View;F)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setInlineLabel(Z)V
|
|
.locals 2
|
|
|
|
.line 1131
|
|
iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z
|
|
|
|
if-eq v0, p1, :cond_2
|
|
|
|
.line 1132
|
|
iput-boolean p1, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 1133
|
|
:goto_0
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
if-ge p1, v0, :cond_1
|
|
|
|
.line 1134
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
.line 1135
|
|
instance-of v1, v0, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 1136
|
|
check-cast v0, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->updateOrientation()V
|
|
|
|
:cond_0
|
|
add-int/lit8 p1, p1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 1139
|
|
:cond_1
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->applyModeAndGravity()V
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public setInlineLabelResource(I)V
|
|
.locals 1
|
|
|
|
.line 1152
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getResources()Landroid/content/res/Resources;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getBoolean(I)Z
|
|
|
|
move-result p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setInlineLabel(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
.locals 1
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 781
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 782
|
|
invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->removeOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
|
|
.line 786
|
|
:cond_0
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 788
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public setOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$OnTabSelectedListener;)V
|
|
.locals 0
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 770
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method setPagerAdapter(Landroidx/viewpager/widget/PagerAdapter;Z)V
|
|
.locals 2
|
|
|
|
.line 1504
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapter:Landroidx/viewpager/widget/PagerAdapter;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapterObserver:Landroid/database/DataSetObserver;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 1506
|
|
invoke-virtual {v0, v1}, Landroidx/viewpager/widget/PagerAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
|
|
|
|
.line 1509
|
|
:cond_0
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapter:Landroidx/viewpager/widget/PagerAdapter;
|
|
|
|
if-eqz p2, :cond_2
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
.line 1513
|
|
iget-object p2, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapterObserver:Landroid/database/DataSetObserver;
|
|
|
|
if-nez p2, :cond_1
|
|
|
|
.line 1514
|
|
new-instance p2, Lcom/google/android/material/tabs/TabLayout$PagerAdapterObserver;
|
|
|
|
invoke-direct {p2, p0}, Lcom/google/android/material/tabs/TabLayout$PagerAdapterObserver;-><init>(Lcom/google/android/material/tabs/TabLayout;)V
|
|
|
|
iput-object p2, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapterObserver:Landroid/database/DataSetObserver;
|
|
|
|
.line 1516
|
|
:cond_1
|
|
iget-object p2, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapterObserver:Landroid/database/DataSetObserver;
|
|
|
|
invoke-virtual {p1, p2}, Landroidx/viewpager/widget/PagerAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
|
|
|
|
.line 1520
|
|
:cond_2
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->populateFromPagerAdapter()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method setScrollAnimatorListener(Landroid/animation/Animator$AnimatorListener;)V
|
|
.locals 1
|
|
|
|
.line 1782
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->ensureScrollAnimator()V
|
|
|
|
.line 1783
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
invoke-virtual {v0, p1}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setScrollPosition(IFZ)V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 655
|
|
invoke-virtual {p0, p1, p2, p3, v0}, Lcom/google/android/material/tabs/TabLayout;->setScrollPosition(IFZZ)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setScrollPosition(IFZZ)V
|
|
.locals 2
|
|
|
|
int-to-float v0, p1
|
|
|
|
add-float/2addr v0, p2
|
|
|
|
.line 675
|
|
invoke-static {v0}, Ljava/lang/Math;->round(F)I
|
|
|
|
move-result v0
|
|
|
|
if-ltz v0, :cond_3
|
|
|
|
.line 676
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I
|
|
|
|
move-result v1
|
|
|
|
if-lt v0, v1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
if-eqz p4, :cond_1
|
|
|
|
.line 682
|
|
iget-object p4, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {p4, p1, p2}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setIndicatorPositionFromTabPosition(IF)V
|
|
|
|
.line 686
|
|
:cond_1
|
|
iget-object p4, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
if-eqz p4, :cond_2
|
|
|
|
invoke-virtual {p4}, Landroid/animation/ValueAnimator;->isRunning()Z
|
|
|
|
move-result p4
|
|
|
|
if-eqz p4, :cond_2
|
|
|
|
.line 687
|
|
iget-object p4, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator;
|
|
|
|
invoke-virtual {p4}, Landroid/animation/ValueAnimator;->cancel()V
|
|
|
|
.line 689
|
|
:cond_2
|
|
invoke-direct {p0, p1, p2}, Lcom/google/android/material/tabs/TabLayout;->calculateScrollXForTab(IF)I
|
|
|
|
move-result p1
|
|
|
|
const/4 p2, 0x0
|
|
|
|
invoke-virtual {p0, p1, p2}, Lcom/google/android/material/tabs/TabLayout;->scrollTo(II)V
|
|
|
|
if-eqz p3, :cond_3
|
|
|
|
.line 693
|
|
invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabView(I)V
|
|
|
|
:cond_3
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public setSelectedTabIndicator(I)V
|
|
.locals 1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 1357
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {v0, p1}, Landroidx/appcompat/content/res/AppCompatResources;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object p1
|
|
|
|
.line 1356
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabIndicator(Landroid/graphics/drawable/Drawable;)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p1, 0x0
|
|
|
|
.line 1359
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabIndicator(Landroid/graphics/drawable/Drawable;)V
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public setSelectedTabIndicator(Landroid/graphics/drawable/Drawable;)V
|
|
.locals 1
|
|
|
|
.line 1338
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabSelectedIndicator:Landroid/graphics/drawable/Drawable;
|
|
|
|
if-eq v0, p1, :cond_1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 1339
|
|
:cond_0
|
|
new-instance p1, Landroid/graphics/drawable/GradientDrawable;
|
|
|
|
invoke-direct {p1}, Landroid/graphics/drawable/GradientDrawable;-><init>()V
|
|
|
|
:goto_0
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabSelectedIndicator:Landroid/graphics/drawable/Drawable;
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public setSelectedTabIndicatorColor(I)V
|
|
.locals 0
|
|
|
|
.line 627
|
|
iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabSelectedIndicatorColor:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setSelectedTabIndicatorGravity(I)V
|
|
.locals 1
|
|
|
|
.line 1032
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorGravity:I
|
|
|
|
if-eq v0, p1, :cond_0
|
|
|
|
.line 1033
|
|
iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorGravity:I
|
|
|
|
.line 1034
|
|
iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-static {p1}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public setSelectedTabIndicatorHeight(I)V
|
|
.locals 1
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 640
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setSelectedIndicatorHeight(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabGravity(I)V
|
|
.locals 1
|
|
|
|
.line 1001
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I
|
|
|
|
if-eq v0, p1, :cond_0
|
|
|
|
.line 1002
|
|
iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I
|
|
|
|
.line 1003
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->applyModeAndGravity()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabIconTint(Landroid/content/res/ColorStateList;)V
|
|
.locals 1
|
|
|
|
.line 1244
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIconTint:Landroid/content/res/ColorStateList;
|
|
|
|
if-eq v0, p1, :cond_0
|
|
|
|
.line 1245
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIconTint:Landroid/content/res/ColorStateList;
|
|
|
|
.line 1246
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->updateAllTabs()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabIconTintResource(I)V
|
|
.locals 1
|
|
|
|
.line 1257
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {v0, p1}, Landroidx/appcompat/content/res/AppCompatResources;->getColorStateList(Landroid/content/Context;I)Landroid/content/res/ColorStateList;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setTabIconTint(Landroid/content/res/ColorStateList;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabIndicatorAnimationMode(I)V
|
|
.locals 2
|
|
|
|
.line 1063
|
|
iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorAnimationMode:I
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
const/4 v0, 0x1
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
.line 1069
|
|
new-instance p1, Lcom/google/android/material/tabs/ElasticTabIndicatorInterpolator;
|
|
|
|
invoke-direct {p1}, Lcom/google/android/material/tabs/ElasticTabIndicatorInterpolator;-><init>()V
|
|
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorInterpolator:Lcom/google/android/material/tabs/TabIndicatorInterpolator;
|
|
|
|
goto :goto_0
|
|
|
|
.line 1072
|
|
:cond_0
|
|
new-instance v0, Ljava/lang/IllegalArgumentException;
|
|
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object p1
|
|
|
|
const-string v1, " is not a valid TabIndicatorAnimationMode"
|
|
|
|
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
.line 1066
|
|
:cond_1
|
|
new-instance p1, Lcom/google/android/material/tabs/TabIndicatorInterpolator;
|
|
|
|
invoke-direct {p1}, Lcom/google/android/material/tabs/TabIndicatorInterpolator;-><init>()V
|
|
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorInterpolator:Lcom/google/android/material/tabs/TabIndicatorInterpolator;
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabIndicatorFullWidth(Z)V
|
|
.locals 0
|
|
|
|
.line 1107
|
|
iput-boolean p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorFullWidth:Z
|
|
|
|
.line 1108
|
|
iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-static {p1}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabMode(I)V
|
|
.locals 1
|
|
|
|
.line 978
|
|
iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
if-eq p1, v0, :cond_0
|
|
|
|
.line 979
|
|
iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I
|
|
|
|
.line 980
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->applyModeAndGravity()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabRippleColor(Landroid/content/res/ColorStateList;)V
|
|
.locals 2
|
|
|
|
.line 1288
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabRippleColorStateList:Landroid/content/res/ColorStateList;
|
|
|
|
if-eq v0, p1, :cond_1
|
|
|
|
.line 1289
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabRippleColorStateList:Landroid/content/res/ColorStateList;
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 1290
|
|
:goto_0
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
if-ge p1, v0, :cond_1
|
|
|
|
.line 1291
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
.line 1292
|
|
instance-of v1, v0, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 1293
|
|
check-cast v0, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-static {v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->access$100(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/content/Context;)V
|
|
|
|
:cond_0
|
|
add-int/lit8 p1, p1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabRippleColorResource(I)V
|
|
.locals 1
|
|
|
|
.line 1309
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {v0, p1}, Landroidx/appcompat/content/res/AppCompatResources;->getColorStateList(Landroid/content/Context;I)Landroid/content/res/ColorStateList;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setTabRippleColor(Landroid/content/res/ColorStateList;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabTextColors(II)V
|
|
.locals 0
|
|
|
|
.line 1235
|
|
invoke-static {p1, p2}, Lcom/google/android/material/tabs/TabLayout;->createColorStateList(II)Landroid/content/res/ColorStateList;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setTabTextColors(Landroid/content/res/ColorStateList;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabTextColors(Landroid/content/res/ColorStateList;)V
|
|
.locals 1
|
|
|
|
.line 1216
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList;
|
|
|
|
if-eq v0, p1, :cond_0
|
|
|
|
.line 1217
|
|
iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList;
|
|
|
|
.line 1218
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->updateAllTabs()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public setTabsFromPagerAdapter(Landroidx/viewpager/widget/PagerAdapter;)V
|
|
.locals 1
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1460
|
|
invoke-virtual {p0, p1, v0}, Lcom/google/android/material/tabs/TabLayout;->setPagerAdapter(Landroidx/viewpager/widget/PagerAdapter;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setUnboundedRipple(Z)V
|
|
.locals 2
|
|
|
|
.line 1176
|
|
iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z
|
|
|
|
if-eq v0, p1, :cond_1
|
|
|
|
.line 1177
|
|
iput-boolean p1, p0, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 1178
|
|
:goto_0
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
if-ge p1, v0, :cond_1
|
|
|
|
.line 1179
|
|
iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v0, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
.line 1180
|
|
instance-of v1, v0, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 1181
|
|
check-cast v0, Lcom/google/android/material/tabs/TabLayout$TabView;
|
|
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-static {v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->access$100(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/content/Context;)V
|
|
|
|
:cond_0
|
|
add-int/lit8 p1, p1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public setUnboundedRippleResource(I)V
|
|
.locals 1
|
|
|
|
.line 1196
|
|
invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getResources()Landroid/content/res/Resources;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getBoolean(I)Z
|
|
|
|
move-result p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setUnboundedRipple(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setupWithViewPager(Landroidx/viewpager/widget/ViewPager;)V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 1372
|
|
invoke-virtual {p0, p1, v0}, Lcom/google/android/material/tabs/TabLayout;->setupWithViewPager(Landroidx/viewpager/widget/ViewPager;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setupWithViewPager(Landroidx/viewpager/widget/ViewPager;Z)V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1392
|
|
invoke-direct {p0, p1, p2, v0}, Lcom/google/android/material/tabs/TabLayout;->setupWithViewPager(Landroidx/viewpager/widget/ViewPager;ZZ)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public shouldDelayChildPressedState()Z
|
|
.locals 1
|
|
|
|
.line 1466
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->getTabScrollRange()I
|
|
|
|
move-result v0
|
|
|
|
if-lez v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method updateTabViews(Z)V
|
|
.locals 3
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1941
|
|
:goto_0
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I
|
|
|
|
move-result v1
|
|
|
|
if-ge v0, v1, :cond_1
|
|
|
|
.line 1942
|
|
iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;
|
|
|
|
invoke-virtual {v1, v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
.line 1943
|
|
invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->getTabMinWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {v1, v2}, Landroid/view/View;->setMinimumWidth(I)V
|
|
|
|
.line 1944
|
|
invoke-virtual {v1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Landroid/widget/LinearLayout$LayoutParams;
|
|
|
|
invoke-direct {p0, v2}, Lcom/google/android/material/tabs/TabLayout;->updateTabViewLayoutParams(Landroid/widget/LinearLayout$LayoutParams;)V
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 1946
|
|
invoke-virtual {v1}, Landroid/view/View;->requestLayout()V
|
|
|
|
:cond_0
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|