.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 ()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;->(I)V sput-object v0, Lcom/google/android/material/tabs/TabLayout;->tabPool:Landroidx/core/util/Pools$Pool; return-void .end method .method public constructor (Landroid/content/Context;)V .locals 1 const/4 v0, 0x0 .line 484 invoke-direct {p0, p1, v0}, Lcom/google/android/material/tabs/TabLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (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;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (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;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 425 new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()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;->()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;->()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;->(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;->(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;->(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;->()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;->(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;->([[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;->(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;->(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;->()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;->(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;->(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;->(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;->(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;->(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;->()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;->(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;->(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;->()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;->()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;->()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;->(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;->()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