.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$OnTabSelectedListener;, Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;, Lcom/google/android/material/tabs/TabLayout$TabIndicatorGravity;, Lcom/google/android/material/tabs/TabLayout$TabGravity;, 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 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 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 MIN_INDICATOR_WIDTH:I = 0x18 .field public static final MODE_FIXED:I = 0x1 .field public static final MODE_SCROLLABLE: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 private 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 tabIndicatorFullWidth:Z .field tabIndicatorGravity:I .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 tabTextAppearance:I .field tabTextColors:Landroid/content/res/ColorStateList; .field tabTextMultiLineSize:F .field tabTextSize:F .field private final tabViewContentBounds:Landroid/graphics/RectF; .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 .registers 2 .line 191 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 .registers 3 const/4 v0, 0x0 .line 395 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 .registers 4 .line 399 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 .registers 15 .line 403 invoke-direct {p0, p1, p2, p3}, Landroid/widget/HorizontalScrollView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 339 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabs:Ljava/util/ArrayList; .line 342 new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabViewContentBounds:Landroid/graphics/RectF; const v0, 0x7fffffff .line 363 iput v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabMaxWidth:I .line 379 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 392 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; const/4 v0, 0x0 .line 406 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->setHorizontalScrollBarEnabled(Z)V .line 409 new-instance v1, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator; invoke-direct {v1, p0, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->(Lcom/google/android/material/tabs/TabLayout;Landroid/content/Context;)V iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator; .line 410 new-instance v2, Landroid/widget/FrameLayout$LayoutParams; const/4 v3, -0x2 const/4 v4, -0x1 invoke-direct {v2, v3, v4}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-super {p0, v1, v0, v2}, Landroid/widget/HorizontalScrollView;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V .line 416 sget-object v7, Lcom/google/android/material/R$styleable;->TabLayout:[I sget v9, Lcom/google/android/material/R$style;->Widget_Design_TabLayout:I sget v2, Lcom/google/android/material/R$styleable;->TabLayout_tabTextAppearance:I filled-new-array {v2}, [I move-result-object v10 move-object v5, p1 move-object v6, p2 move v8, p3 .line 417 invoke-static/range {v5 .. v10}, Lcom/google/android/material/internal/ThemeEnforcement;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[III[I)Landroid/content/res/TypedArray; move-result-object p2 .line 425 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorHeight:I .line 426 invoke-virtual {p2, p3, v4}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result p3 .line 425 invoke-virtual {v1, p3}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setSelectedIndicatorHeight(I)V .line 427 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorColor:I .line 428 invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getColor(II)I move-result p3 .line 427 invoke-virtual {v1, p3}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setSelectedIndicatorColor(I)V .line 429 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicator:I .line 430 invoke-static {p1, 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 429 invoke-virtual {p0, p3}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabIndicator(Landroid/graphics/drawable/Drawable;)V .line 431 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorGravity:I .line 432 invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getInt(II)I move-result p3 .line 431 invoke-virtual {p0, p3}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabIndicatorGravity(I)V .line 433 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorFullWidth:I const/4 v1, 0x1 invoke-virtual {p2, p3, v1}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result p3 invoke-virtual {p0, p3}, Lcom/google/android/material/tabs/TabLayout;->setTabIndicatorFullWidth(Z)V .line 435 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPadding:I .line 438 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 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 439 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPaddingStart:I iget v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingStart:I .line 440 invoke-virtual {p2, p3, v2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result p3 iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingStart:I .line 441 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPaddingTop:I iget v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingTop:I invoke-virtual {p2, p3, v2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result p3 iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingTop:I .line 442 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPaddingEnd:I iget v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingEnd:I invoke-virtual {p2, p3, v2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result p3 iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingEnd:I .line 443 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabPaddingBottom:I iget v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingBottom:I .line 444 invoke-virtual {p2, p3, v2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result p3 iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingBottom:I .line 446 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabTextAppearance:I sget v2, Lcom/google/android/material/R$style;->TextAppearance_Design_Tab:I .line 447 invoke-virtual {p2, p3, v2}, Landroid/content/res/TypedArray;->getResourceId(II)I move-result p3 iput p3, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextAppearance:I .line 450 sget-object v2, Landroidx/appcompat/R$styleable;->TextAppearance:[I .line 451 invoke-virtual {p1, p3, v2}, Landroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray; move-result-object p3 .line 454 :try_start_c0 sget v2, Landroidx/appcompat/R$styleable;->TextAppearance_android_textSize:I .line 455 invoke-virtual {p3, v2, v0}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result v2 int-to-float v2, v2 iput v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextSize:F .line 457 sget v2, Landroidx/appcompat/R$styleable;->TextAppearance_android_textColor:I .line 458 invoke-static {p1, p3, v2}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object v2 iput-object v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList; :try_end_d1 .catchall {:try_start_c0 .. :try_end_d1} :catchall_181 .line 463 invoke-virtual {p3}, Landroid/content/res/TypedArray;->recycle()V .line 466 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_e4 .line 468 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabTextColor:I .line 469 invoke-static {p1, 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 472 :cond_e4 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_fe .line 476 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabSelectedTextColor:I invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getColor(II)I move-result p3 .line 477 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList; invoke-virtual {v2}, Landroid/content/res/ColorStateList;->getDefaultColor()I move-result v2 invoke-static {v2, 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 480 :cond_fe sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIconTint:I .line 481 invoke-static {p1, 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 482 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabIconTintMode:I .line 483 invoke-virtual {p2, p3, v4}, Landroid/content/res/TypedArray;->getInt(II)I move-result p3 const/4 v2, 0x0 invoke-static {p3, v2}, 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 485 sget p3, Lcom/google/android/material/R$styleable;->TabLayout_tabRippleColor:I .line 486 invoke-static {p1, p2, p3}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object p1 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabRippleColorStateList:Landroid/content/res/ColorStateList; .line 488 sget p1, Lcom/google/android/material/R$styleable;->TabLayout_tabIndicatorAnimationDuration:I const/16 p3, 0x12c .line 489 invoke-virtual {p2, p1, p3}, Landroid/content/res/TypedArray;->getInt(II)I move-result p1 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorAnimationDuration:I .line 491 sget p1, Lcom/google/android/material/R$styleable;->TabLayout_tabMinWidth:I .line 492 invoke-virtual {p2, p1, v4}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result p1 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->requestedTabMinWidth:I .line 493 sget p1, Lcom/google/android/material/R$styleable;->TabLayout_tabMaxWidth:I .line 494 invoke-virtual {p2, p1, v4}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result p1 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->requestedTabMaxWidth:I .line 495 sget p1, Lcom/google/android/material/R$styleable;->TabLayout_tabBackground:I invoke-virtual {p2, p1, v0}, Landroid/content/res/TypedArray;->getResourceId(II)I move-result p1 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabBackgroundResId:I .line 496 sget p1, Lcom/google/android/material/R$styleable;->TabLayout_tabContentStart:I invoke-virtual {p2, p1, v0}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result p1 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->contentInsetStart:I .line 498 sget p1, Lcom/google/android/material/R$styleable;->TabLayout_tabMode:I invoke-virtual {p2, p1, v1}, Landroid/content/res/TypedArray;->getInt(II)I move-result p1 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I .line 499 sget p1, Lcom/google/android/material/R$styleable;->TabLayout_tabGravity:I invoke-virtual {p2, p1, v0}, Landroid/content/res/TypedArray;->getInt(II)I move-result p1 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I .line 500 sget p1, Lcom/google/android/material/R$styleable;->TabLayout_tabInlineLabel:I invoke-virtual {p2, p1, v0}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result p1 iput-boolean p1, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z .line 501 sget p1, Lcom/google/android/material/R$styleable;->TabLayout_tabUnboundedRipple:I invoke-virtual {p2, p1, v0}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result p1 iput-boolean p1, p0, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z .line 502 invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V .line 505 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getResources()Landroid/content/res/Resources; move-result-object p1 .line 506 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 507 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 510 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->applyModeAndGravity()V return-void :catchall_181 move-exception p1 .line 463 invoke-virtual {p3}, Landroid/content/res/TypedArray;->recycle()V throw p1 .end method .method static synthetic access$400(Lcom/google/android/material/tabs/TabLayout;)Landroid/graphics/RectF; .registers 1 .line 167 iget-object p0, p0, Lcom/google/android/material/tabs/TabLayout;->tabViewContentBounds:Landroid/graphics/RectF; return-object p0 .end method .method private addTabFromItemView(Lcom/google/android/material/tabs/TabItem;)V .registers 4 .line 628 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->newTab()Lcom/google/android/material/tabs/TabLayout$Tab; move-result-object v0 .line 629 iget-object v1, p1, Lcom/google/android/material/tabs/TabItem;->text:Ljava/lang/CharSequence; if-eqz v1, :cond_d .line 630 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 632 :cond_d iget-object v1, p1, Lcom/google/android/material/tabs/TabItem;->icon:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_16 .line 633 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 635 :cond_16 iget v1, p1, Lcom/google/android/material/tabs/TabItem;->customLayout:I if-eqz v1, :cond_1f .line 636 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 638 :cond_1f 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_30 .line 639 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 641 :cond_30 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 .registers 5 .line 1369 iget-object v0, p1, Lcom/google/android/material/tabs/TabLayout$Tab;->view:Lcom/google/android/material/tabs/TabLayout$TabView; .line 1370 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 .registers 3 .line 1394 instance-of v0, p1, Lcom/google/android/material/tabs/TabItem; if-eqz v0, :cond_a .line 1395 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 1397 :cond_a 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 .registers 5 const/4 v0, -0x1 if-ne p1, v0, :cond_4 return-void .line 1514 :cond_4 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getWindowToken()Landroid/os/IBinder; move-result-object v0 const/4 v1, 0x0 if-eqz v0, :cond_3d .line 1515 invoke-static {p0}, Landroidx/core/view/ViewCompat;->isLaidOut(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_3d iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator; .line 1516 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->childrenNeedLayout()Z move-result v0 if-eqz v0, :cond_1a goto :goto_3d .line 1523 :cond_1a invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getScrollX()I move-result v0 .line 1524 invoke-direct {p0, p1, v1}, Lcom/google/android/material/tabs/TabLayout;->calculateScrollXForTab(IF)I move-result v1 if-eq v0, v1, :cond_35 .line 1527 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->ensureScrollAnimator()V .line 1529 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator; filled-new-array {v0, v1}, [I move-result-object v0 invoke-virtual {v2, v0}, Landroid/animation/ValueAnimator;->setIntValues([I)V .line 1530 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator; invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V .line 1534 :cond_35 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 :cond_3d :goto_3d const/4 v0, 0x1 .line 1519 invoke-virtual {p0, p1, v1, v0}, Lcom/google/android/material/tabs/TabLayout;->setScrollPosition(IFZ)V return-void .end method .method private applyModeAndGravity()V .registers 4 .line 1648 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I const/4 v1, 0x0 if-nez v0, :cond_f .line 1650 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->contentInsetStart:I iget v2, p0, Lcom/google/android/material/tabs/TabLayout;->tabPaddingStart:I sub-int/2addr v0, v2 invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I move-result v0 goto :goto_10 :cond_f move v0, v1 .line 1652 :goto_10 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator; invoke-static {v2, v0, v1, v1, v1}, Landroidx/core/view/ViewCompat;->setPaddingRelative(Landroid/view/View;IIII)V .line 1654 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I const/4 v1, 0x1 if-eqz v0, :cond_23 if-eq v0, v1, :cond_1d goto :goto_2b .line 1656 :cond_1d iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator; invoke-virtual {v0, v1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setGravity(I)V goto :goto_2b .line 1659 :cond_23 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator; const v2, 0x800003 invoke-virtual {v0, v2}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->setGravity(I)V .line 1663 :goto_2b invoke-virtual {p0, v1}, Lcom/google/android/material/tabs/TabLayout;->updateTabViews(Z)V return-void .end method .method private calculateScrollXForTab(IF)I .registers 6 .line 1625 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I const/4 v1, 0x0 if-nez v0, :cond_4a .line 1626 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 1627 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator; .line 1628 invoke-virtual {v2}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildCount()I move-result v2 if-ge p1, v2, :cond_1c iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator; .line 1629 invoke-virtual {v2, p1}, Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator;->getChildAt(I)Landroid/view/View; move-result-object p1 goto :goto_1d :cond_1c const/4 p1, 0x0 :goto_1d if-eqz v0, :cond_24 .line 1631 invoke-virtual {v0}, Landroid/view/View;->getWidth()I move-result v2 goto :goto_25 :cond_24 move v2, v1 :goto_25 if-eqz p1, :cond_2b .line 1632 invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v1 .line 1635 :cond_2b invoke-virtual {v0}, Landroid/view/View;->getLeft()I move-result p1 div-int/lit8 v0, v2, 0x2 add-int/2addr p1, v0 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getWidth()I move-result v0 div-int/lit8 v0, v0, 0x2 sub-int/2addr p1, v0 add-int/2addr v2, v1 int-to-float v0, v2 const/high16 v1, 0x3f000000 # 0.5f mul-float/2addr v0, v1 mul-float/2addr v0, p2 float-to-int p2, v0 .line 1639 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I move-result v0 if-nez v0, :cond_48 add-int/2addr p1, p2 goto :goto_49 :cond_48 sub-int/2addr p1, p2 :goto_49 return p1 :cond_4a return v1 .end method .method private configureTab(Lcom/google/android/material/tabs/TabLayout$Tab;I)V .registers 4 .line 1359 invoke-virtual {p1, p2}, Lcom/google/android/material/tabs/TabLayout$Tab;->setPosition(I)V .line 1360 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 1362 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_e add-int/lit8 p2, p2, 0x1 if-ge p2, p1, :cond_1e .line 1364 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_e :cond_1e return-void .end method .method private static createColorStateList(II)Landroid/content/res/ColorStateList; .registers 6 const/4 v0, 0x2 .line 2704 new-array v1, v0, [[I .line 2705 new-array v0, v0, [I .line 2708 sget-object v2, Lcom/google/android/material/tabs/TabLayout;->SELECTED_STATE_SET:[I const/4 v3, 0x0 aput-object v2, v1, v3 .line 2709 aput p1, v0, v3 .line 2713 sget-object p1, Lcom/google/android/material/tabs/TabLayout;->EMPTY_STATE_SET:[I const/4 v2, 0x1 aput-object p1, v1, v2 .line 2714 aput p0, v0, v2 .line 2717 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; .registers 4 .line 1402 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 1404 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; .registers 4 .line 1343 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabViewPool:Landroidx/core/util/Pools$Pool; if-eqz v0, :cond_b 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_c :cond_b const/4 v0, 0x0 :goto_c if-nez v0, :cond_17 .line 1345 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 1347 :cond_17 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 1348 invoke-virtual {v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setFocusable(Z)V .line 1349 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 1350 # getter for: Lcom/google/android/material/tabs/TabLayout$Tab;->contentDesc:Ljava/lang/CharSequence; invoke-static {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$100(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_37 .line 1351 # getter for: Lcom/google/android/material/tabs/TabLayout$Tab;->text:Ljava/lang/CharSequence; 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 :goto_3e .line 1353 :cond_37 # getter for: Lcom/google/android/material/tabs/TabLayout$Tab;->contentDesc:Ljava/lang/CharSequence; invoke-static {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$100(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_3e return-object v0 .end method .method private dispatchTabReselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V .registers 4 .line 1619 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_8 if-ltz v0, :cond_18 .line 1620 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_8 :cond_18 return-void .end method .method private dispatchTabSelected(Lcom/google/android/material/tabs/TabLayout$Tab;)V .registers 4 .line 1607 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_8 if-ltz v0, :cond_18 .line 1608 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_8 :cond_18 return-void .end method .method private dispatchTabUnselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V .registers 4 .line 1613 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_8 if-ltz v0, :cond_18 .line 1614 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_8 :cond_18 return-void .end method .method private ensureScrollAnimator()V .registers 4 .line 1538 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator; if-nez v0, :cond_22 .line 1539 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 1540 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 1541 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 1542 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_22 return-void .end method .method private getDefaultHeight()I .registers 5 .line 2723 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_7 if-ge v1, v0, :cond_2d .line 2724 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; if-eqz v2, :cond_2a .line 2725 invoke-virtual {v2}, Lcom/google/android/material/tabs/TabLayout$Tab;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v3 if-eqz v3, :cond_2a invoke-virtual {v2}, Lcom/google/android/material/tabs/TabLayout$Tab;->getText()Ljava/lang/CharSequence; move-result-object v2 invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v2 if-nez v2, :cond_2a .line 2730 iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z if-nez v0, :cond_2d const/16 v0, 0x48 goto :goto_2f :cond_2a add-int/lit8 v1, v1, 0x1 goto :goto_7 :cond_2d const/16 v0, 0x30 :goto_2f return v0 .end method .method private getTabMinWidth()I .registers 3 .line 2734 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->requestedTabMinWidth:I const/4 v1, -0x1 if-eq v0, v1, :cond_6 return v0 .line 2739 :cond_6 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I if-nez v0, :cond_d iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->scrollableTabMinWidth:I goto :goto_e :cond_d const/4 v0, 0x0 :goto_e return v0 .end method .method private getTabScrollRange()I .registers 3 .line 1293 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->slidingTabIndicator:Lcom/google/android/material/tabs/TabLayout$SlidingTabIndicator; .line 1294 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 1293 invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I move-result v0 return v0 .end method .method private removeTabViewAt(I)V .registers 4 .line 1500 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 1501 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_17 .line 1503 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->reset()V .line 1504 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 1506 :cond_17 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->requestLayout()V return-void .end method .method private setSelectedTabView(I)V .registers 8 .line 1558 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_25 const/4 v1, 0x0 move v2, v1 :goto_a if-ge v2, v0, :cond_25 .line 1561 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_17 move v5, v4 goto :goto_18 :cond_17 move v5, v1 .line 1562 :goto_18 invoke-virtual {v3, v5}, Landroid/view/View;->setSelected(Z)V if-ne v2, p1, :cond_1e goto :goto_1f :cond_1e move v4, v1 .line 1563 :goto_1f invoke-virtual {v3, v4}, Landroid/view/View;->setActivated(Z)V add-int/lit8 v2, v2, 0x1 goto :goto_a :cond_25 return-void .end method .method private setupWithViewPager(Landroidx/viewpager/widget/ViewPager;ZZ)V .registers 6 .line 1193 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager; if-eqz v0, :cond_14 .line 1195 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->pageChangeListener:Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener; if-eqz v1, :cond_b .line 1196 invoke-virtual {v0, v1}, Landroidx/viewpager/widget/ViewPager;->removeOnPageChangeListener(Landroidx/viewpager/widget/ViewPager$OnPageChangeListener;)V .line 1198 :cond_b iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->adapterChangeListener:Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener; if-eqz v0, :cond_14 .line 1199 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 1203 :cond_14 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_1e .line 1205 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->removeOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V .line 1206 iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->currentVpSelectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener; :cond_1e if-eqz p1, :cond_69 .line 1210 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager; .line 1213 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->pageChangeListener:Lcom/google/android/material/tabs/TabLayout$TabLayoutOnPageChangeListener; if-nez v0, :cond_2d .line 1214 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 1216 :cond_2d 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 1217 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 1220 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 1221 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->addOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V .line 1223 invoke-virtual {p1}, Landroidx/viewpager/widget/ViewPager;->getAdapter()Landroidx/viewpager/widget/PagerAdapter; move-result-object v0 if-eqz v0, :cond_4a .line 1227 invoke-virtual {p0, v0, p2}, Lcom/google/android/material/tabs/TabLayout;->setPagerAdapter(Landroidx/viewpager/widget/PagerAdapter;Z)V .line 1231 :cond_4a iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->adapterChangeListener:Lcom/google/android/material/tabs/TabLayout$AdapterChangeListener; if-nez v0, :cond_55 .line 1232 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 1234 :cond_55 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 1235 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 1238 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_6f .line 1242 :cond_69 iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager; const/4 p1, 0x0 .line 1243 invoke-virtual {p0, v1, p1}, Lcom/google/android/material/tabs/TabLayout;->setPagerAdapter(Landroidx/viewpager/widget/PagerAdapter;Z)V .line 1246 :goto_6f iput-boolean p3, p0, Lcom/google/android/material/tabs/TabLayout;->setupViewPagerImplicitly:Z return-void .end method .method private updateAllTabs()V .registers 4 .line 1337 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_7 if-ge v1, v0, :cond_17 .line 1338 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_7 :cond_17 return-void .end method .method private updateTabViewLayoutParams(Landroid/widget/LinearLayout$LayoutParams;)V .registers 4 .line 1409 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I const/4 v1, 0x1 if-ne v0, v1, :cond_11 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I if-nez v0, :cond_11 const/4 v0, 0x0 .line 1410 iput v0, p1, Landroid/widget/LinearLayout$LayoutParams;->width:I const/high16 v0, 0x3f800000 # 1.0f .line 1411 iput v0, p1, Landroid/widget/LinearLayout$LayoutParams;->weight:F goto :goto_17 :cond_11 const/4 v0, -0x2 .line 1413 iput v0, p1, Landroid/widget/LinearLayout$LayoutParams;->width:I const/4 v0, 0x0 .line 1414 iput v0, p1, Landroid/widget/LinearLayout$LayoutParams;->weight:F :goto_17 return-void .end method # virtual methods .method public addOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V .registers 3 .line 672 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_d .line 673 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_d return-void .end method .method public addTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V .registers 3 .line 584 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 .registers 4 .line 595 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 .registers 5 .line 616 iget-object v0, p1, Lcom/google/android/material/tabs/TabLayout$Tab;->parent:Lcom/google/android/material/tabs/TabLayout; if-ne v0, p0, :cond_10 .line 619 invoke-direct {p0, p1, p2}, Lcom/google/android/material/tabs/TabLayout;->configureTab(Lcom/google/android/material/tabs/TabLayout$Tab;I)V .line 620 invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addTabView(Lcom/google/android/material/tabs/TabLayout$Tab;)V if-eqz p3, :cond_f .line 623 invoke-virtual {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->select()V :cond_f return-void .line 617 :cond_10 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 .registers 4 .line 605 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 .registers 2 .line 1375 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 .registers 3 .line 1380 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 .registers 4 .line 1390 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 .registers 3 .line 1385 invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addViewInternal(Landroid/view/View;)V return-void .end method .method public clearOnTabSelectedListeners()V .registers 2 .line 689 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; .registers 2 .line 709 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_f .line 711 new-instance v0, Lcom/google/android/material/tabs/TabLayout$Tab; invoke-direct {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->()V :cond_f return-object v0 .end method .method dpToPx(I)I .registers 3 .line 1420 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getResources()Landroid/content/res/Resources; move-result-object v0 invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v0 iget v0, v0, Landroid/util/DisplayMetrics;->density:F int-to-float p1, p1 mul-float/2addr v0, p1 invoke-static {v0}, Ljava/lang/Math;->round(F)I move-result p1 return p1 .end method .method public bridge synthetic generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams; .registers 2 .line 166 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; .registers 2 .line 2748 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 .registers 2 .line 742 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedTab:Lcom/google/android/material/tabs/TabLayout$Tab; if-eqz v0, :cond_9 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I move-result v0 goto :goto_a :cond_9 const/4 v0, -0x1 :goto_a return v0 .end method .method public getTabAt(I)Lcom/google/android/material/tabs/TabLayout$Tab; .registers 3 if-ltz p1, :cond_12 .line 733 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getTabCount()I move-result v0 if-lt p1, v0, :cond_9 goto :goto_12 :cond_9 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_13 :cond_12 :goto_12 const/4 p1, 0x0 :goto_13 return-object p1 .end method .method public getTabCount()I .registers 2 .line 727 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 .registers 2 .line 854 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I return v0 .end method .method public getTabIconTint()Landroid/content/res/ColorStateList; .registers 2 .line 1062 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIconTint:Landroid/content/res/ColorStateList; return-object v0 .end method .method public getTabIndicatorGravity()I .registers 2 .line 887 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorGravity:I return v0 .end method .method getTabMaxWidth()I .registers 2 .line 2752 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabMaxWidth:I return v0 .end method .method public getTabMode()I .registers 2 .line 831 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I return v0 .end method .method public getTabRippleColor()Landroid/content/res/ColorStateList; .registers 2 .line 1073 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; .registers 2 .line 1120 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; .registers 2 .line 1024 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList; return-object v0 .end method .method public hasUnboundedRipple()Z .registers 2 .line 1006 iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z return v0 .end method .method public isInlineLabel()Z .registers 2 .line 962 iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z return v0 .end method .method public isTabIndicatorFullWidth()Z .registers 2 .line 919 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; .registers 3 .line 701 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->createTabFromPool()Lcom/google/android/material/tabs/TabLayout$Tab; move-result-object v0 .line 702 iput-object p0, v0, Lcom/google/android/material/tabs/TabLayout$Tab;->parent:Lcom/google/android/material/tabs/TabLayout; .line 703 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; return-object v0 .end method .method protected onAttachedToWindow()V .registers 3 .line 1267 invoke-super {p0}, Landroid/widget/HorizontalScrollView;->onAttachedToWindow()V .line 1269 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager; if-nez v0, :cond_15 .line 1272 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getParent()Landroid/view/ViewParent; move-result-object v0 .line 1273 instance-of v1, v0, Landroidx/viewpager/widget/ViewPager; if-eqz v1, :cond_15 .line 1276 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_15 return-void .end method .method protected onDetachedFromWindow()V .registers 2 .line 1283 invoke-super {p0}, Landroid/widget/HorizontalScrollView;->onDetachedFromWindow()V .line 1285 iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->setupViewPagerImplicitly:Z if-eqz v0, :cond_e const/4 v0, 0x0 .line 1287 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->setupWithViewPager(Landroidx/viewpager/widget/ViewPager;)V const/4 v0, 0x0 .line 1288 iput-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->setupViewPagerImplicitly:Z :cond_e return-void .end method .method protected onDraw(Landroid/graphics/Canvas;)V .registers 5 const/4 v0, 0x0 .line 1426 :goto_1 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_1b .line 1427 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 1428 instance-of v2, v1, Lcom/google/android/material/tabs/TabLayout$TabView; if-eqz v2, :cond_18 .line 1429 check-cast v1, Lcom/google/android/material/tabs/TabLayout$TabView; # invokes: Lcom/google/android/material/tabs/TabLayout$TabView;->drawBackground(Landroid/graphics/Canvas;)V invoke-static {v1, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->access$300(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/graphics/Canvas;)V :cond_18 add-int/lit8 v0, v0, 0x1 goto :goto_1 .line 1433 :cond_1b invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->onDraw(Landroid/graphics/Canvas;)V return-void .end method .method protected onMeasure(II)V .registers 7 .line 1440 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->getDefaultHeight()I move-result v0 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->dpToPx(I)I move-result v0 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getPaddingTop()I move-result v1 add-int/2addr v0, v1 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getPaddingBottom()I move-result v1 add-int/2addr v0, v1 .line 1441 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v1 const/high16 v2, -0x80000000 const/high16 v3, 0x40000000 # 2.0f if-eq v1, v2, :cond_24 if-eqz v1, :cond_1f goto :goto_30 .line 1448 :cond_1f invoke-static {v0, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result p2 goto :goto_30 .line 1445 :cond_24 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result p2 invoke-static {v0, p2}, Ljava/lang/Math;->min(II)I move-result p2 .line 1444 invoke-static {p2, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result p2 .line 1454 :goto_30 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result v0 .line 1455 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v1 if-eqz v1, :cond_49 .line 1458 iget v1, p0, Lcom/google/android/material/tabs/TabLayout;->requestedTabMaxWidth:I if-lez v1, :cond_3f goto :goto_47 :cond_3f const/16 v1, 0x38 .line 1461 invoke-virtual {p0, v1}, Lcom/google/android/material/tabs/TabLayout;->dpToPx(I)I move-result v1 sub-int v1, v0, v1 :goto_47 iput v1, p0, Lcom/google/android/material/tabs/TabLayout;->tabMaxWidth:I .line 1465 :cond_49 invoke-super {p0, p1, p2}, Landroid/widget/HorizontalScrollView;->onMeasure(II)V .line 1467 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getChildCount()I move-result p1 const/4 v0, 0x1 if-ne p1, v0, :cond_92 const/4 p1, 0x0 .line 1470 invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->getChildAt(I)Landroid/view/View; move-result-object p1 .line 1473 iget v1, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I if-eqz v1, :cond_6a if-eq v1, v0, :cond_5f goto :goto_92 .line 1481 :cond_5f 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_92 goto :goto_74 .line 1477 :cond_6a 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_92 .line 1490 :goto_74 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 1491 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 1488 invoke-static {p2, v0, v1}, Lcom/google/android/material/tabs/TabLayout;->getChildMeasureSpec(III)I move-result p2 .line 1493 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 1494 invoke-virtual {p1, v0, p2}, Landroid/view/View;->measure(II)V :cond_92 :goto_92 return-void .end method .method populateFromPagerAdapter()V .registers 6 .line 1318 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->removeAllTabs()V .line 1320 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapter:Landroidx/viewpager/widget/PagerAdapter; if-eqz v0, :cond_40 .line 1321 invoke-virtual {v0}, Landroidx/viewpager/widget/PagerAdapter;->getCount()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_d if-ge v2, v0, :cond_23 .line 1323 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_d .line 1327 :cond_23 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->viewPager:Landroidx/viewpager/widget/ViewPager; if-eqz v1, :cond_40 if-lez v0, :cond_40 .line 1328 invoke-virtual {v1}, Landroidx/viewpager/widget/ViewPager;->getCurrentItem()I move-result v0 .line 1329 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getSelectedTabPosition()I move-result v1 if-eq v0, v1, :cond_40 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->getTabCount()I move-result v1 if-ge v0, v1, :cond_40 .line 1330 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_40 return-void .end method .method protected releaseFromTabPool(Lcom/google/android/material/tabs/TabLayout$Tab;)Z .registers 3 .line 718 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 .registers 3 .line 788 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_8 if-ltz v0, :cond_10 .line 789 invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->removeTabViewAt(I)V add-int/lit8 v0, v0, -0x1 goto :goto_8 .line 792 :cond_10 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_16 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2c .line 793 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 794 invoke-interface {v0}, Ljava/util/Iterator;->remove()V .line 795 invoke-virtual {v1}, Lcom/google/android/material/tabs/TabLayout$Tab;->reset()V .line 796 invoke-virtual {p0, v1}, Lcom/google/android/material/tabs/TabLayout;->releaseFromTabPool(Lcom/google/android/material/tabs/TabLayout$Tab;)Z goto :goto_16 :cond_2c const/4 v0, 0x0 .line 799 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 .registers 3 .line 684 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 removeTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V .registers 3 .line 752 iget-object v0, p1, Lcom/google/android/material/tabs/TabLayout$Tab;->parent:Lcom/google/android/material/tabs/TabLayout; if-ne v0, p0, :cond_c .line 756 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 753 :cond_c 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 .registers 7 .line 766 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_a invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I move-result v0 goto :goto_b :cond_a move v0, v1 .line 767 :goto_b invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->removeTabViewAt(I)V .line 769 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_1e .line 771 invoke-virtual {v2}, Lcom/google/android/material/tabs/TabLayout$Tab;->reset()V .line 772 invoke-virtual {p0, v2}, Lcom/google/android/material/tabs/TabLayout;->releaseFromTabPool(Lcom/google/android/material/tabs/TabLayout$Tab;)Z .line 775 :cond_1e 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_25 if-ge v3, v2, :cond_35 .line 777 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_25 :cond_35 if-ne v0, p1, :cond_52 .line 781 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_41 const/4 p1, 0x0 goto :goto_4f :cond_41 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_4f invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->selectTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V :cond_52 return-void .end method .method selectTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V .registers 3 const/4 v0, 0x1 .line 1569 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 selectTab(Lcom/google/android/material/tabs/TabLayout$Tab;Z)V .registers 7 .line 1573 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedTab:Lcom/google/android/material/tabs/TabLayout$Tab; if-ne v0, p1, :cond_11 if-eqz v0, :cond_40 .line 1577 invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->dispatchTabReselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V .line 1578 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_40 :cond_11 const/4 v1, -0x1 if-eqz p1, :cond_19 .line 1581 invoke-virtual {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I move-result v2 goto :goto_1a :cond_19 move v2, v1 :goto_1a if-eqz p2, :cond_34 if-eqz v0, :cond_24 .line 1583 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I move-result p2 if-ne p2, v1, :cond_2c :cond_24 if-eq v2, v1, :cond_2c const/4 p2, 0x0 const/4 v3, 0x1 .line 1586 invoke-virtual {p0, v2, p2, v3}, Lcom/google/android/material/tabs/TabLayout;->setScrollPosition(IFZ)V goto :goto_2f .line 1588 :cond_2c invoke-direct {p0, v2}, Lcom/google/android/material/tabs/TabLayout;->animateToTab(I)V :goto_2f if-eq v2, v1, :cond_34 .line 1591 invoke-direct {p0, v2}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabView(I)V .line 1596 :cond_34 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->selectedTab:Lcom/google/android/material/tabs/TabLayout$Tab; if-eqz v0, :cond_3b .line 1598 invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->dispatchTabUnselected(Lcom/google/android/material/tabs/TabLayout$Tab;)V :cond_3b if-eqz p1, :cond_40 .line 1601 invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->dispatchTabSelected(Lcom/google/android/material/tabs/TabLayout$Tab;)V :cond_40 :goto_40 return-void .end method .method public setInlineLabel(Z)V .registers 4 .line 930 iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z if-eq v0, p1, :cond_24 .line 931 iput-boolean p1, p0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z const/4 p1, 0x0 .line 932 :goto_7 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_21 .line 933 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 934 instance-of v1, v0, Lcom/google/android/material/tabs/TabLayout$TabView; if-eqz v1, :cond_1e .line 935 check-cast v0, Lcom/google/android/material/tabs/TabLayout$TabView; invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->updateOrientation()V :cond_1e add-int/lit8 p1, p1, 0x1 goto :goto_7 .line 938 :cond_21 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->applyModeAndGravity()V :cond_24 return-void .end method .method public setInlineLabelResource(I)V .registers 3 .line 951 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 .registers 3 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 652 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener; if-eqz v0, :cond_7 .line 653 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->removeOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V .line 657 :cond_7 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->selectedListener:Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener; if-eqz p1, :cond_e .line 659 invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->addOnTabSelectedListener(Lcom/google/android/material/tabs/TabLayout$BaseOnTabSelectedListener;)V :cond_e return-void .end method .method setPagerAdapter(Landroidx/viewpager/widget/PagerAdapter;Z)V .registers 5 .line 1298 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapter:Landroidx/viewpager/widget/PagerAdapter; if-eqz v0, :cond_b iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapterObserver:Landroid/database/DataSetObserver; if-eqz v1, :cond_b .line 1300 invoke-virtual {v0, v1}, Landroidx/viewpager/widget/PagerAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V .line 1303 :cond_b iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapter:Landroidx/viewpager/widget/PagerAdapter; if-eqz p2, :cond_21 if-eqz p1, :cond_21 .line 1307 iget-object p2, p0, Lcom/google/android/material/tabs/TabLayout;->pagerAdapterObserver:Landroid/database/DataSetObserver; if-nez p2, :cond_1c .line 1308 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 1310 :cond_1c 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 1314 :cond_21 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout;->populateFromPagerAdapter()V return-void .end method .method setScrollAnimatorListener(Landroid/animation/Animator$AnimatorListener;)V .registers 3 .line 1553 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->ensureScrollAnimator()V .line 1554 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 .registers 5 const/4 v0, 0x1 .line 547 invoke-virtual {p0, p1, p2, p3, v0}, Lcom/google/android/material/tabs/TabLayout;->setScrollPosition(IFZZ)V return-void .end method .method setScrollPosition(IFZZ)V .registers 7 int-to-float v0, p1 add-float/2addr v0, p2 .line 555 invoke-static {v0}, Ljava/lang/Math;->round(F)I move-result v0 if-ltz v0, :cond_34 .line 556 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_11 goto :goto_34 :cond_11 if-eqz p4, :cond_18 .line 562 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 566 :cond_18 iget-object p4, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator; if-eqz p4, :cond_27 invoke-virtual {p4}, Landroid/animation/ValueAnimator;->isRunning()Z move-result p4 if-eqz p4, :cond_27 .line 567 iget-object p4, p0, Lcom/google/android/material/tabs/TabLayout;->scrollAnimator:Landroid/animation/ValueAnimator; invoke-virtual {p4}, Landroid/animation/ValueAnimator;->cancel()V .line 569 :cond_27 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_34 .line 573 invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabView(I)V :cond_34 :goto_34 return-void .end method .method public setSelectedTabIndicator(I)V .registers 3 if-eqz p1, :cond_e .line 1153 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 1152 invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabIndicator(Landroid/graphics/drawable/Drawable;)V goto :goto_12 :cond_e const/4 p1, 0x0 .line 1155 invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout;->setSelectedTabIndicator(Landroid/graphics/drawable/Drawable;)V :goto_12 return-void .end method .method public setSelectedTabIndicator(Landroid/graphics/drawable/Drawable;)V .registers 3 .line 1134 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabSelectedIndicator:Landroid/graphics/drawable/Drawable; if-eq v0, p1, :cond_b .line 1135 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabSelectedIndicator:Landroid/graphics/drawable/Drawable; .line 1136 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_b return-void .end method .method public setSelectedTabIndicatorColor(I)V .registers 3 .line 520 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;->setSelectedIndicatorColor(I)V return-void .end method .method public setSelectedTabIndicatorGravity(I)V .registers 3 .line 872 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorGravity:I if-eq v0, p1, :cond_b .line 873 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorGravity:I .line 874 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_b return-void .end method .method public setSelectedTabIndicatorHeight(I)V .registers 3 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 533 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 .registers 3 .line 841 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I if-eq v0, p1, :cond_9 .line 842 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabGravity:I .line 843 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->applyModeAndGravity()V :cond_9 return-void .end method .method public setTabIconTint(Landroid/content/res/ColorStateList;)V .registers 3 .line 1043 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabIconTint:Landroid/content/res/ColorStateList; if-eq v0, p1, :cond_9 .line 1044 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIconTint:Landroid/content/res/ColorStateList; .line 1045 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->updateAllTabs()V :cond_9 return-void .end method .method public setTabIconTintResource(I)V .registers 3 .line 1056 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 setTabIndicatorFullWidth(Z)V .registers 2 .line 906 iput-boolean p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabIndicatorFullWidth:Z .line 907 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 .registers 3 .line 818 iget v0, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I if-eq p1, v0, :cond_9 .line 819 iput p1, p0, Lcom/google/android/material/tabs/TabLayout;->mode:I .line 820 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->applyModeAndGravity()V :cond_9 return-void .end method .method public setTabRippleColor(Landroid/content/res/ColorStateList;)V .registers 4 .line 1087 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabRippleColorStateList:Landroid/content/res/ColorStateList; if-eq v0, p1, :cond_25 .line 1088 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabRippleColorStateList:Landroid/content/res/ColorStateList; const/4 p1, 0x0 .line 1089 :goto_7 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_25 .line 1090 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 1091 instance-of v1, v0, Lcom/google/android/material/tabs/TabLayout$TabView; if-eqz v1, :cond_22 .line 1092 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 # invokes: Lcom/google/android/material/tabs/TabLayout$TabView;->updateBackgroundDrawable(Landroid/content/Context;)V invoke-static {v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->access$000(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/content/Context;)V :cond_22 add-int/lit8 p1, p1, 0x1 goto :goto_7 :cond_25 return-void .end method .method public setTabRippleColorResource(I)V .registers 3 .line 1108 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 .registers 3 .line 1034 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 .registers 3 .line 1015 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList; if-eq v0, p1, :cond_9 .line 1016 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList; .line 1017 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->updateAllTabs()V :cond_9 return-void .end method .method public setTabsFromPagerAdapter(Landroidx/viewpager/widget/PagerAdapter;)V .registers 3 .annotation runtime Ljava/lang/Deprecated; .end annotation const/4 v0, 0x0 .line 1256 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 .registers 4 .line 975 iget-boolean v0, p0, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z if-eq v0, p1, :cond_25 .line 976 iput-boolean p1, p0, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z const/4 p1, 0x0 .line 977 :goto_7 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_25 .line 978 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 979 instance-of v1, v0, Lcom/google/android/material/tabs/TabLayout$TabView; if-eqz v1, :cond_22 .line 980 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 # invokes: Lcom/google/android/material/tabs/TabLayout$TabView;->updateBackgroundDrawable(Landroid/content/Context;)V invoke-static {v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->access$000(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/content/Context;)V :cond_22 add-int/lit8 p1, p1, 0x1 goto :goto_7 :cond_25 return-void .end method .method public setUnboundedRippleResource(I)V .registers 3 .line 995 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 .registers 3 const/4 v0, 0x1 .line 1168 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 .registers 4 const/4 v0, 0x0 .line 1188 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 .registers 2 .line 1262 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout;->getTabScrollRange()I move-result v0 if-lez v0, :cond_8 const/4 v0, 0x1 goto :goto_9 :cond_8 const/4 v0, 0x0 :goto_9 return v0 .end method .method updateTabViews(Z)V .registers 5 const/4 v0, 0x0 .line 1667 :goto_1 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_27 .line 1668 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 1669 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 1670 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_24 .line 1672 invoke-virtual {v1}, Landroid/view/View;->requestLayout()V :cond_24 add-int/lit8 v0, v0, 0x1 goto :goto_1 :cond_27 return-void .end method