.class public final Lcom/google/android/material/tabs/TabLayout$TabView; .super Landroid/widget/LinearLayout; .source "TabLayout.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/android/material/tabs/TabLayout; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x11 name = "TabView" .end annotation # instance fields .field private badgeAnchorView:Landroid/view/View; .field private badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; .field private baseBackgroundDrawable:Landroid/graphics/drawable/Drawable; .field private customIconView:Landroid/widget/ImageView; .field private customTextView:Landroid/widget/TextView; .field private customView:Landroid/view/View; .field private defaultMaxLines:I .field private iconView:Landroid/widget/ImageView; .field private tab:Lcom/google/android/material/tabs/TabLayout$Tab; .field private textView:Landroid/widget/TextView; .field final synthetic this$0:Lcom/google/android/material/tabs/TabLayout; # direct methods .method public constructor (Lcom/google/android/material/tabs/TabLayout;Landroid/content/Context;)V .locals 3 .line 2341 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; .line 2342 invoke-direct {p0, p2}, Landroid/widget/LinearLayout;->(Landroid/content/Context;)V const/4 v0, 0x2 .line 2339 iput v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->defaultMaxLines:I .line 2343 invoke-direct {p0, p2}, Lcom/google/android/material/tabs/TabLayout$TabView;->updateBackgroundDrawable(Landroid/content/Context;)V .line 2344 iget p2, p1, Lcom/google/android/material/tabs/TabLayout;->tabPaddingStart:I iget v0, p1, Lcom/google/android/material/tabs/TabLayout;->tabPaddingTop:I iget v1, p1, Lcom/google/android/material/tabs/TabLayout;->tabPaddingEnd:I iget v2, p1, Lcom/google/android/material/tabs/TabLayout;->tabPaddingBottom:I invoke-static {p0, p2, v0, v1, v2}, Landroidx/core/view/ViewCompat;->setPaddingRelative(Landroid/view/View;IIII)V const/16 p2, 0x11 .line 2346 invoke-virtual {p0, p2}, Lcom/google/android/material/tabs/TabLayout$TabView;->setGravity(I)V .line 2347 iget-boolean p1, p1, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z const/4 p2, 0x1 xor-int/2addr p1, p2 invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setOrientation(I)V .line 2348 invoke-virtual {p0, p2}, Lcom/google/android/material/tabs/TabLayout$TabView;->setClickable(Z)V .line 2350 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getContext()Landroid/content/Context; move-result-object p1 const/16 p2, 0x3ea invoke-static {p1, p2}, Landroidx/core/view/PointerIconCompat;->getSystemIcon(Landroid/content/Context;I)Landroidx/core/view/PointerIconCompat; move-result-object p1 .line 2349 invoke-static {p0, p1}, Landroidx/core/view/ViewCompat;->setPointerIcon(Landroid/view/View;Landroidx/core/view/PointerIconCompat;)V return-void .end method .method static synthetic access$100(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/content/Context;)V .locals 0 .line 2327 invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->updateBackgroundDrawable(Landroid/content/Context;)V return-void .end method .method static synthetic access$1000(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/view/View;)V .locals 0 .line 2327 invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryUpdateBadgeDrawableBounds(Landroid/view/View;)V return-void .end method .method static synthetic access$400(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/graphics/Canvas;)V .locals 0 .line 2327 invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->drawBackground(Landroid/graphics/Canvas;)V return-void .end method .method static synthetic access$500(Lcom/google/android/material/tabs/TabLayout$TabView;)Z .locals 0 .line 2327 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->hasBadgeDrawable()Z move-result p0 return p0 .end method .method static synthetic access$600(Lcom/google/android/material/tabs/TabLayout$TabView;)Lcom/google/android/material/badge/BadgeDrawable; .locals 0 .line 2327 iget-object p0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; return-object p0 .end method .method static synthetic access$700(Lcom/google/android/material/tabs/TabLayout$TabView;)Lcom/google/android/material/badge/BadgeDrawable; .locals 0 .line 2327 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getOrCreateBadge()Lcom/google/android/material/badge/BadgeDrawable; move-result-object p0 return-object p0 .end method .method static synthetic access$800(Lcom/google/android/material/tabs/TabLayout$TabView;)V .locals 0 .line 2327 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->removeBadge()V return-void .end method .method static synthetic access$900(Lcom/google/android/material/tabs/TabLayout$TabView;)Lcom/google/android/material/badge/BadgeDrawable; .locals 0 .line 2327 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getBadge()Lcom/google/android/material/badge/BadgeDrawable; move-result-object p0 return-object p0 .end method .method private addOnLayoutChangeListener(Landroid/view/View;)V .locals 1 if-nez p1, :cond_0 return-void .line 2721 :cond_0 new-instance v0, Lcom/google/android/material/tabs/TabLayout$TabView$1; invoke-direct {v0, p0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView$1;->(Lcom/google/android/material/tabs/TabLayout$TabView;Landroid/view/View;)V invoke-virtual {p1, v0}, Landroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V return-void .end method .method private approximateLineWidth(Landroid/text/Layout;IF)F .locals 0 .line 2955 invoke-virtual {p1, p2}, Landroid/text/Layout;->getLineWidth(I)F move-result p2 invoke-virtual {p1}, Landroid/text/Layout;->getPaint()Landroid/text/TextPaint; move-result-object p1 invoke-virtual {p1}, Landroid/text/TextPaint;->getTextSize()F move-result p1 div-float/2addr p3, p1 mul-float/2addr p2, p3 return p2 .end method .method private clipViewToPaddingForBadge(Z)V .locals 1 .line 2799 invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setClipChildren(Z)V .line 2800 invoke-virtual {p0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setClipToPadding(Z)V .line 2801 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getParent()Landroid/view/ViewParent; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; if-eqz v0, :cond_0 .line 2803 invoke-virtual {v0, p1}, Landroid/view/ViewGroup;->setClipChildren(Z)V .line 2804 invoke-virtual {v0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V :cond_0 return-void .end method .method private createPreApi18BadgeAnchorRoot()Landroid/widget/FrameLayout; .locals 3 .line 2678 new-instance v0, Landroid/widget/FrameLayout; invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getContext()Landroid/content/Context; move-result-object v1 invoke-direct {v0, v1}, Landroid/widget/FrameLayout;->(Landroid/content/Context;)V .line 2679 new-instance v1, Landroid/widget/FrameLayout$LayoutParams; const/4 v2, -0x2 invoke-direct {v1, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;->(II)V .line 2682 invoke-virtual {v0, v1}, Landroid/widget/FrameLayout;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V return-object v0 .end method .method private drawBackground(Landroid/graphics/Canvas;)V .locals 5 .line 2409 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->baseBackgroundDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 2410 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getLeft()I move-result v1 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getTop()I move-result v2 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getRight()I move-result v3 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getBottom()I move-result v4 invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V .line 2411 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->baseBackgroundDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V :cond_0 return-void .end method .method private getBadge()Lcom/google/android/material/badge/BadgeDrawable; .locals 1 .line 2707 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; return-object v0 .end method .method private getCustomParentForBadge(Landroid/view/View;)Landroid/widget/FrameLayout; .locals 2 .line 2898 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; const/4 v1, 0x0 if-eq p1, v0, :cond_0 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; if-eq p1, v0, :cond_0 return-object v1 .line 2901 :cond_0 sget-boolean v0, Lcom/google/android/material/badge/BadgeUtils;->USE_COMPAT_PARENT:Z if-eqz v0, :cond_1 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 move-object v1, p1 check-cast v1, Landroid/widget/FrameLayout; :cond_1 return-object v1 .end method .method private getOrCreateBadge()Lcom/google/android/material/badge/BadgeDrawable; .locals 2 .line 2695 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; if-nez v0, :cond_0 .line 2696 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getContext()Landroid/content/Context; move-result-object v0 invoke-static {v0}, Lcom/google/android/material/badge/BadgeDrawable;->create(Landroid/content/Context;)Lcom/google/android/material/badge/BadgeDrawable; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; .line 2698 :cond_0 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryUpdateBadgeAnchor()V .line 2699 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; if-eqz v0, :cond_1 return-object v0 .line 2700 :cond_1 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "Unable to create badge" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method private hasBadgeDrawable()Z .locals 1 .line 2893 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method private inflateAndAddDefaultIconView()V .locals 4 .line 2652 sget-boolean v0, Lcom/google/android/material/badge/BadgeUtils;->USE_COMPAT_PARENT:Z const/4 v1, 0x0 if-eqz v0, :cond_0 .line 2653 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->createPreApi18BadgeAnchorRoot()Landroid/widget/FrameLayout; move-result-object v0 .line 2654 invoke-virtual {p0, v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->addView(Landroid/view/View;I)V goto :goto_0 :cond_0 move-object v0, p0 .line 2658 :goto_0 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getContext()Landroid/content/Context; move-result-object v2 invoke-static {v2}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater; move-result-object v2 sget v3, Lcom/google/android/material/R$layout;->design_layout_tab_icon:I .line 2659 invoke-virtual {v2, v3, v0, v1}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View; move-result-object v2 check-cast v2, Landroid/widget/ImageView; iput-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; .line 2660 invoke-virtual {v0, v2, v1}, Landroid/view/ViewGroup;->addView(Landroid/view/View;I)V return-void .end method .method private inflateAndAddDefaultTextView()V .locals 4 .line 2665 sget-boolean v0, Lcom/google/android/material/badge/BadgeUtils;->USE_COMPAT_PARENT:Z if-eqz v0, :cond_0 .line 2666 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->createPreApi18BadgeAnchorRoot()Landroid/widget/FrameLayout; move-result-object v0 .line 2667 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->addView(Landroid/view/View;)V goto :goto_0 :cond_0 move-object v0, p0 .line 2671 :goto_0 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getContext()Landroid/content/Context; move-result-object v1 invoke-static {v1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater; move-result-object v1 sget v2, Lcom/google/android/material/R$layout;->design_layout_tab_text:I const/4 v3, 0x0 .line 2672 invoke-virtual {v1, v2, v0, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View; move-result-object v1 check-cast v1, Landroid/widget/TextView; iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; .line 2673 invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V return-void .end method .method private removeBadge()V .locals 1 .line 2711 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeAnchorView:Landroid/view/View; if-eqz v0, :cond_0 .line 2712 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryRemoveBadgeFromAnchor()V :cond_0 const/4 v0, 0x0 .line 2714 iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; return-void .end method .method private tryAttachBadgeToAnchor(Landroid/view/View;)V .locals 2 .line 2774 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->hasBadgeDrawable()Z move-result v0 if-nez v0, :cond_0 return-void :cond_0 if-eqz p1, :cond_1 const/4 v0, 0x0 .line 2778 invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->clipViewToPaddingForBadge(Z)V .line 2779 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; .line 2780 invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->getCustomParentForBadge(Landroid/view/View;)Landroid/widget/FrameLayout; move-result-object v1 .line 2779 invoke-static {v0, p1, v1}, Lcom/google/android/material/badge/BadgeUtils;->attachBadgeDrawable(Lcom/google/android/material/badge/BadgeDrawable;Landroid/view/View;Landroid/widget/FrameLayout;)V .line 2781 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeAnchorView:Landroid/view/View; :cond_1 return-void .end method .method private tryRemoveBadgeFromAnchor()V .locals 2 .line 2786 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->hasBadgeDrawable()Z move-result v0 if-nez v0, :cond_0 return-void :cond_0 const/4 v0, 0x1 .line 2789 invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->clipViewToPaddingForBadge(Z)V .line 2790 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeAnchorView:Landroid/view/View; if-eqz v0, :cond_1 .line 2791 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; invoke-static {v1, v0}, Lcom/google/android/material/badge/BadgeUtils;->detachBadgeDrawable(Lcom/google/android/material/badge/BadgeDrawable;Landroid/view/View;)V const/4 v0, 0x0 .line 2792 iput-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeAnchorView:Landroid/view/View; :cond_1 return-void .end method .method private tryUpdateBadgeAnchor()V .locals 2 .line 2742 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->hasBadgeDrawable()Z move-result v0 if-nez v0, :cond_0 return-void .line 2745 :cond_0 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customView:Landroid/view/View; if-eqz v0, :cond_1 .line 2747 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryRemoveBadgeFromAnchor()V goto :goto_0 .line 2749 :cond_1 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; if-eqz v0, :cond_3 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; if-eqz v0, :cond_3 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_3 .line 2750 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeAnchorView:Landroid/view/View; iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; if-eq v0, v1, :cond_2 .line 2751 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryRemoveBadgeFromAnchor()V .line 2753 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryAttachBadgeToAnchor(Landroid/view/View;)V goto :goto_0 .line 2755 :cond_2 invoke-direct {p0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryUpdateBadgeDrawableBounds(Landroid/view/View;)V goto :goto_0 .line 2757 :cond_3 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; if-eqz v0, :cond_5 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; if-eqz v0, :cond_5 .line 2759 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getTabLabelVisibility()I move-result v0 const/4 v1, 0x1 if-ne v0, v1, :cond_5 .line 2760 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeAnchorView:Landroid/view/View; iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; if-eq v0, v1, :cond_4 .line 2761 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryRemoveBadgeFromAnchor()V .line 2763 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; invoke-direct {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryAttachBadgeToAnchor(Landroid/view/View;)V goto :goto_0 .line 2765 :cond_4 invoke-direct {p0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryUpdateBadgeDrawableBounds(Landroid/view/View;)V goto :goto_0 .line 2768 :cond_5 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryRemoveBadgeFromAnchor()V :goto_0 return-void .end method .method private tryUpdateBadgeDrawableBounds(Landroid/view/View;)V .locals 2 .line 2887 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->hasBadgeDrawable()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeAnchorView:Landroid/view/View; if-ne p1, v0, :cond_0 .line 2888 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; invoke-direct {p0, p1}, Lcom/google/android/material/tabs/TabLayout$TabView;->getCustomParentForBadge(Landroid/view/View;)Landroid/widget/FrameLayout; move-result-object v1 invoke-static {v0, p1, v1}, Lcom/google/android/material/badge/BadgeUtils;->setBadgeDrawableBounds(Lcom/google/android/material/badge/BadgeDrawable;Landroid/view/View;Landroid/widget/FrameLayout;)V :cond_0 return-void .end method .method private updateBackgroundDrawable(Landroid/content/Context;)V .locals 6 .line 2354 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget v0, v0, Lcom/google/android/material/tabs/TabLayout;->tabBackgroundResId:I const/4 v1, 0x0 if-eqz v0, :cond_0 .line 2355 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget v0, v0, Lcom/google/android/material/tabs/TabLayout;->tabBackgroundResId:I invoke-static {p1, v0}, Landroidx/appcompat/content/res/AppCompatResources;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; move-result-object p1 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->baseBackgroundDrawable:Landroid/graphics/drawable/Drawable; if-eqz p1, :cond_1 .line 2356 invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result p1 if-eqz p1, :cond_1 .line 2357 iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->baseBackgroundDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getDrawableState()[I move-result-object v0 invoke-virtual {p1, v0}, Landroid/graphics/drawable/Drawable;->setState([I)Z goto :goto_0 .line 2360 :cond_0 iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->baseBackgroundDrawable:Landroid/graphics/drawable/Drawable; .line 2364 :cond_1 :goto_0 new-instance p1, Landroid/graphics/drawable/GradientDrawable; invoke-direct {p1}, Landroid/graphics/drawable/GradientDrawable;->()V .line 2365 move-object v0, p1 check-cast v0, Landroid/graphics/drawable/GradientDrawable; const/4 v2, 0x0 invoke-virtual {v0, v2}, Landroid/graphics/drawable/GradientDrawable;->setColor(I)V .line 2367 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-object v0, v0, Lcom/google/android/material/tabs/TabLayout;->tabRippleColorStateList:Landroid/content/res/ColorStateList; if-eqz v0, :cond_5 .line 2368 new-instance v0, Landroid/graphics/drawable/GradientDrawable; invoke-direct {v0}, Landroid/graphics/drawable/GradientDrawable;->()V const v3, 0x3727c5ac # 1.0E-5f .line 2372 invoke-virtual {v0, v3}, Landroid/graphics/drawable/GradientDrawable;->setCornerRadius(F)V const/4 v3, -0x1 .line 2373 invoke-virtual {v0, v3}, Landroid/graphics/drawable/GradientDrawable;->setColor(I)V .line 2375 iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-object v3, v3, Lcom/google/android/material/tabs/TabLayout;->tabRippleColorStateList:Landroid/content/res/ColorStateList; .line 2376 invoke-static {v3}, Lcom/google/android/material/ripple/RippleUtils;->convertToRippleDrawableColor(Landroid/content/res/ColorStateList;)Landroid/content/res/ColorStateList; move-result-object v3 .line 2380 sget v4, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v5, 0x15 if-lt v4, v5, :cond_4 .line 2381 new-instance v2, Landroid/graphics/drawable/RippleDrawable; iget-object v4, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-boolean v4, v4, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z if-eqz v4, :cond_2 move-object p1, v1 :cond_2 iget-object v4, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-boolean v4, v4, Lcom/google/android/material/tabs/TabLayout;->unboundedRipple:Z if-eqz v4, :cond_3 goto :goto_1 :cond_3 move-object v1, v0 :goto_1 invoke-direct {v2, v3, p1, v1}, Landroid/graphics/drawable/RippleDrawable;->(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V move-object p1, v2 goto :goto_2 .line 2387 :cond_4 invoke-static {v0}, Landroidx/core/graphics/drawable/DrawableCompat;->wrap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object v0 .line 2388 invoke-static {v0, v3}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintList(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V .line 2389 new-instance v1, Landroid/graphics/drawable/LayerDrawable; const/4 v3, 0x2 new-array v3, v3, [Landroid/graphics/drawable/Drawable; aput-object p1, v3, v2 const/4 p1, 0x1 aput-object v0, v3, p1 invoke-direct {v1, v3}, Landroid/graphics/drawable/LayerDrawable;->([Landroid/graphics/drawable/Drawable;)V move-object p1, v1 .line 2394 :cond_5 :goto_2 invoke-static {p0, p1}, Landroidx/core/view/ViewCompat;->setBackground(Landroid/view/View;Landroid/graphics/drawable/Drawable;)V .line 2395 iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; invoke-virtual {p1}, Lcom/google/android/material/tabs/TabLayout;->invalidate()V return-void .end method .method private updateTextAndIcon(Landroid/widget/TextView;Landroid/widget/ImageView;)V .locals 7 .line 2819 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; const/4 v1, 0x0 if-eqz v0, :cond_0 .line 2820 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_0 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; .line 2821 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v0 invoke-static {v0}, Landroidx/core/graphics/drawable/DrawableCompat;->wrap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object v0 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable; move-result-object v0 goto :goto_0 :cond_0 move-object v0, v1 .line 2823 :goto_0 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; if-eqz v2, :cond_1 invoke-virtual {v2}, Lcom/google/android/material/tabs/TabLayout$Tab;->getText()Ljava/lang/CharSequence; move-result-object v2 goto :goto_1 :cond_1 move-object v2, v1 :goto_1 const/16 v3, 0x8 const/4 v4, 0x0 if-eqz p2, :cond_3 if-eqz v0, :cond_2 .line 2827 invoke-virtual {p2, v0}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V .line 2828 invoke-virtual {p2, v4}, Landroid/widget/ImageView;->setVisibility(I)V .line 2829 invoke-virtual {p0, v4}, Lcom/google/android/material/tabs/TabLayout$TabView;->setVisibility(I)V goto :goto_2 .line 2831 :cond_2 invoke-virtual {p2, v3}, Landroid/widget/ImageView;->setVisibility(I)V .line 2832 invoke-virtual {p2, v1}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V .line 2836 :cond_3 :goto_2 invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 const/4 v5, 0x1 xor-int/2addr v0, v5 if-eqz p1, :cond_6 if-eqz v0, :cond_5 .line 2839 invoke-virtual {p1, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V .line 2840 iget-object v6, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; invoke-static {v6}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$1100(Lcom/google/android/material/tabs/TabLayout$Tab;)I move-result v6 if-ne v6, v5, :cond_4 .line 2841 invoke-virtual {p1, v4}, Landroid/widget/TextView;->setVisibility(I)V goto :goto_3 .line 2843 :cond_4 invoke-virtual {p1, v3}, Landroid/widget/TextView;->setVisibility(I)V .line 2845 :goto_3 invoke-virtual {p0, v4}, Lcom/google/android/material/tabs/TabLayout$TabView;->setVisibility(I)V goto :goto_4 .line 2847 :cond_5 invoke-virtual {p1, v3}, Landroid/widget/TextView;->setVisibility(I)V .line 2848 invoke-virtual {p1, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V :cond_6 :goto_4 if-eqz p2, :cond_9 .line 2853 invoke-virtual {p2}, Landroid/widget/ImageView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object p1 check-cast p1, Landroid/view/ViewGroup$MarginLayoutParams; if-eqz v0, :cond_7 .line 2855 invoke-virtual {p2}, Landroid/widget/ImageView;->getVisibility()I move-result v5 if-nez v5, :cond_7 .line 2857 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getContext()Landroid/content/Context; move-result-object v5 invoke-static {v5, v3}, Lcom/google/android/material/internal/ViewUtils;->dpToPx(Landroid/content/Context;I)F move-result v3 float-to-int v3, v3 goto :goto_5 :cond_7 move v3, v4 .line 2859 :goto_5 iget-object v5, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-boolean v5, v5, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z if-eqz v5, :cond_8 .line 2860 invoke-static {p1}, Landroidx/core/view/MarginLayoutParamsCompat;->getMarginEnd(Landroid/view/ViewGroup$MarginLayoutParams;)I move-result v5 if-eq v3, v5, :cond_9 .line 2861 invoke-static {p1, v3}, Landroidx/core/view/MarginLayoutParamsCompat;->setMarginEnd(Landroid/view/ViewGroup$MarginLayoutParams;I)V .line 2862 iput v4, p1, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I .line 2864 invoke-virtual {p2, p1}, Landroid/widget/ImageView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V .line 2865 invoke-virtual {p2}, Landroid/widget/ImageView;->requestLayout()V goto :goto_6 .line 2868 :cond_8 iget v5, p1, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I if-eq v3, v5, :cond_9 .line 2869 iput v3, p1, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I .line 2870 invoke-static {p1, v4}, Landroidx/core/view/MarginLayoutParamsCompat;->setMarginEnd(Landroid/view/ViewGroup$MarginLayoutParams;I)V .line 2872 invoke-virtual {p2, p1}, Landroid/widget/ImageView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V .line 2873 invoke-virtual {p2}, Landroid/widget/ImageView;->requestLayout()V .line 2878 :cond_9 :goto_6 iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; if-eqz p1, :cond_a invoke-static {p1}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$200(Lcom/google/android/material/tabs/TabLayout$Tab;)Ljava/lang/CharSequence; move-result-object v1 .line 2880 :cond_a sget p1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 p2, 0x15 if-lt p1, p2, :cond_b sget p1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 p2, 0x17 if-le p1, p2, :cond_d :cond_b if-eqz v0, :cond_c goto :goto_7 :cond_c move-object v2, v1 .line 2881 :goto_7 invoke-static {p0, v2}, Landroidx/appcompat/widget/TooltipCompat;->setTooltipText(Landroid/view/View;Ljava/lang/CharSequence;)V :cond_d return-void .end method # virtual methods .method protected drawableStateChanged()V .locals 3 .line 2417 invoke-super {p0}, Landroid/widget/LinearLayout;->drawableStateChanged()V .line 2419 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getDrawableState()[I move-result-object v0 .line 2420 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->baseBackgroundDrawable:Landroid/graphics/drawable/Drawable; const/4 v2, 0x0 if-eqz v1, :cond_0 invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result v1 if-eqz v1, :cond_0 .line 2421 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->baseBackgroundDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->setState([I)Z move-result v0 or-int/2addr v2, v0 :cond_0 if-eqz v2, :cond_1 .line 2425 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->invalidate()V .line 2426 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout;->invalidate()V :cond_1 return-void .end method .method getContentHeight()I .locals 9 const/4 v0, 0x3 new-array v1, v0, [Landroid/view/View; .line 2937 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; const/4 v3, 0x0 aput-object v2, v1, v3 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; const/4 v4, 0x1 aput-object v2, v1, v4 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customView:Landroid/view/View; const/4 v5, 0x2 aput-object v2, v1, v5 move v2, v3 move v5, v2 move v6, v5 :goto_0 if-ge v3, v0, :cond_3 aget-object v7, v1, v3 if-eqz v7, :cond_2 .line 2938 invoke-virtual {v7}, Landroid/view/View;->getVisibility()I move-result v8 if-nez v8, :cond_2 if-eqz v6, :cond_0 .line 2939 invoke-virtual {v7}, Landroid/view/View;->getTop()I move-result v8 invoke-static {v5, v8}, Ljava/lang/Math;->min(II)I move-result v5 goto :goto_1 :cond_0 invoke-virtual {v7}, Landroid/view/View;->getTop()I move-result v5 :goto_1 if-eqz v6, :cond_1 .line 2940 invoke-virtual {v7}, Landroid/view/View;->getBottom()I move-result v6 invoke-static {v2, v6}, Ljava/lang/Math;->max(II)I move-result v2 goto :goto_2 :cond_1 invoke-virtual {v7}, Landroid/view/View;->getBottom()I move-result v2 :goto_2 move v6, v4 :cond_2 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_3 sub-int/2addr v2, v5 return v2 .end method .method getContentWidth()I .locals 9 const/4 v0, 0x3 new-array v1, v0, [Landroid/view/View; .line 2915 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; const/4 v3, 0x0 aput-object v2, v1, v3 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; const/4 v4, 0x1 aput-object v2, v1, v4 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customView:Landroid/view/View; const/4 v5, 0x2 aput-object v2, v1, v5 move v2, v3 move v5, v2 move v6, v5 :goto_0 if-ge v3, v0, :cond_3 aget-object v7, v1, v3 if-eqz v7, :cond_2 .line 2916 invoke-virtual {v7}, Landroid/view/View;->getVisibility()I move-result v8 if-nez v8, :cond_2 if-eqz v6, :cond_0 .line 2917 invoke-virtual {v7}, Landroid/view/View;->getLeft()I move-result v8 invoke-static {v5, v8}, Ljava/lang/Math;->min(II)I move-result v5 goto :goto_1 :cond_0 invoke-virtual {v7}, Landroid/view/View;->getLeft()I move-result v5 :goto_1 if-eqz v6, :cond_1 .line 2918 invoke-virtual {v7}, Landroid/view/View;->getRight()I move-result v6 invoke-static {v2, v6}, Ljava/lang/Math;->max(II)I move-result v2 goto :goto_2 :cond_1 invoke-virtual {v7}, Landroid/view/View;->getRight()I move-result v2 :goto_2 move v6, v4 :cond_2 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_3 sub-int/2addr v2, v5 return v2 .end method .method public getTab()Lcom/google/android/material/tabs/TabLayout$Tab; .locals 1 .line 2950 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; return-object v0 .end method .method public onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V .locals 6 .line 2471 invoke-super {p0, p1}, Landroid/widget/LinearLayout;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V .line 2472 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; if-eqz v0, :cond_0 invoke-virtual {v0}, Lcom/google/android/material/badge/BadgeDrawable;->isVisible()Z move-result v0 if-eqz v0, :cond_0 .line 2473 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getContentDescription()Ljava/lang/CharSequence; move-result-object v0 .line 2474 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, ", " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->badgeDrawable:Lcom/google/android/material/badge/BadgeDrawable; .line 2475 invoke-virtual {v1}, Lcom/google/android/material/badge/BadgeDrawable;->getContentDescription()Ljava/lang/CharSequence; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 .line 2474 invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityNodeInfo;->setContentDescription(Ljava/lang/CharSequence;)V .line 2477 :cond_0 invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->wrap(Landroid/view/accessibility/AccessibilityNodeInfo;)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat; move-result-object p1 const/4 v0, 0x0 const/4 v1, 0x1 .line 2478 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; .line 2482 invoke-virtual {v2}, Lcom/google/android/material/tabs/TabLayout$Tab;->getPosition()I move-result v2 const/4 v3, 0x1 const/4 v4, 0x0 .line 2485 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->isSelected()Z move-result v5 .line 2479 invoke-static/range {v0 .. v5}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$CollectionItemInfoCompat;->obtain(IIIIZZ)Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$CollectionItemInfoCompat; move-result-object v0 .line 2478 invoke-virtual {p1, v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setCollectionItemInfo(Ljava/lang/Object;)V .line 2486 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->isSelected()Z move-result v0 if-eqz v0, :cond_1 const/4 v0, 0x0 .line 2487 invoke-virtual {p1, v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setClickable(Z)V .line 2488 sget-object v0, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;->ACTION_CLICK:Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat; invoke-virtual {p1, v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->removeAction(Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityActionCompat;)Z .line 2490 :cond_1 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getResources()Landroid/content/res/Resources; move-result-object v0 sget v1, Lcom/google/android/material/R$string;->item_view_role_description:I invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;->setRoleDescription(Ljava/lang/CharSequence;)V return-void .end method .method public onMeasure(II)V .locals 7 .line 2495 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result v0 .line 2496 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v1 .line 2497 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; invoke-virtual {v2}, Lcom/google/android/material/tabs/TabLayout;->getTabMaxWidth()I move-result v2 if-lez v2, :cond_1 if-eqz v1, :cond_0 if-le v0, v2, :cond_1 .line 2505 :cond_0 iget-object p1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget p1, p1, Lcom/google/android/material/tabs/TabLayout;->tabMaxWidth:I const/high16 v0, -0x80000000 invoke-static {p1, v0}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result p1 .line 2512 :cond_1 invoke-super {p0, p1, p2}, Landroid/widget/LinearLayout;->onMeasure(II)V .line 2515 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; if-eqz v0, :cond_7 .line 2516 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget v0, v0, Lcom/google/android/material/tabs/TabLayout;->tabTextSize:F .line 2517 iget v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->defaultMaxLines:I .line 2519 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; const/4 v3, 0x1 if-eqz v2, :cond_2 invoke-virtual {v2}, Landroid/widget/ImageView;->getVisibility()I move-result v2 if-nez v2, :cond_2 move v1, v3 goto :goto_0 .line 2522 :cond_2 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; if-eqz v2, :cond_3 invoke-virtual {v2}, Landroid/widget/TextView;->getLineCount()I move-result v2 if-le v2, v3, :cond_3 .line 2524 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget v0, v0, Lcom/google/android/material/tabs/TabLayout;->tabTextMultiLineSize:F .line 2527 :cond_3 :goto_0 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; invoke-virtual {v2}, Landroid/widget/TextView;->getTextSize()F move-result v2 .line 2528 iget-object v4, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; invoke-virtual {v4}, Landroid/widget/TextView;->getLineCount()I move-result v4 .line 2529 iget-object v5, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; invoke-static {v5}, Landroidx/core/widget/TextViewCompat;->getMaxLines(Landroid/widget/TextView;)I move-result v5 cmpl-float v2, v0, v2 if-nez v2, :cond_4 if-ltz v5, :cond_7 if-eq v1, v5, :cond_7 .line 2535 :cond_4 iget-object v5, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget v5, v5, Lcom/google/android/material/tabs/TabLayout;->mode:I const/4 v6, 0x0 if-ne v5, v3, :cond_6 if-lez v2, :cond_6 if-ne v4, v3, :cond_6 .line 2541 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; invoke-virtual {v2}, Landroid/widget/TextView;->getLayout()Landroid/text/Layout; move-result-object v2 if-eqz v2, :cond_5 .line 2543 invoke-direct {p0, v2, v6, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->approximateLineWidth(Landroid/text/Layout;IF)F move-result v2 .line 2544 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getMeasuredWidth()I move-result v4 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getPaddingLeft()I move-result v5 sub-int/2addr v4, v5 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->getPaddingRight()I move-result v5 sub-int/2addr v4, v5 int-to-float v4, v4 cmpl-float v2, v2, v4 if-lez v2, :cond_6 :cond_5 move v3, v6 :cond_6 if-eqz v3, :cond_7 .line 2550 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; invoke-virtual {v2, v6, v0}, Landroid/widget/TextView;->setTextSize(IF)V .line 2551 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; invoke-virtual {v0, v1}, Landroid/widget/TextView;->setMaxLines(I)V .line 2552 invoke-super {p0, p1, p2}, Landroid/widget/LinearLayout;->onMeasure(II)V :cond_7 return-void .end method .method public performClick()Z .locals 2 .line 2432 invoke-super {p0}, Landroid/widget/LinearLayout;->performClick()Z move-result v0 .line 2434 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; if-eqz v1, :cond_1 if-nez v0, :cond_0 const/4 v0, 0x0 .line 2436 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->playSoundEffect(I)V .line 2438 :cond_0 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->select()V const/4 v0, 0x1 :cond_1 return v0 .end method .method reset()V .locals 1 const/4 v0, 0x0 .line 2566 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->setTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V const/4 v0, 0x0 .line 2567 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->setSelected(Z)V return-void .end method .method public setSelected(Z)V .locals 2 .line 2447 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->isSelected()Z move-result v0 if-eq v0, p1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 .line 2449 :goto_0 invoke-super {p0, p1}, Landroid/widget/LinearLayout;->setSelected(Z)V if-eqz v0, :cond_1 if-eqz p1, :cond_1 .line 2451 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x10 if-ge v0, v1, :cond_1 const/4 v0, 0x4 .line 2453 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->sendAccessibilityEvent(I)V .line 2458 :cond_1 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; if-eqz v0, :cond_2 .line 2459 invoke-virtual {v0, p1}, Landroid/widget/TextView;->setSelected(Z)V .line 2461 :cond_2 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; if-eqz v0, :cond_3 .line 2462 invoke-virtual {v0, p1}, Landroid/widget/ImageView;->setSelected(Z)V .line 2464 :cond_3 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customView:Landroid/view/View; if-eqz v0, :cond_4 .line 2465 invoke-virtual {v0, p1}, Landroid/view/View;->setSelected(Z)V :cond_4 return-void .end method .method setTab(Lcom/google/android/material/tabs/TabLayout$Tab;)V .locals 1 .line 2559 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; if-eq p1, v0, :cond_0 .line 2560 iput-object p1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; .line 2561 invoke-virtual {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->update()V :cond_0 return-void .end method .method final update()V .locals 5 .line 2571 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->tab:Lcom/google/android/material/tabs/TabLayout$Tab; const/4 v1, 0x0 if-eqz v0, :cond_0 .line 2572 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getCustomView()Landroid/view/View; move-result-object v2 goto :goto_0 :cond_0 move-object v2, v1 :goto_0 if-eqz v2, :cond_6 .line 2574 invoke-virtual {v2}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v3 if-eq v3, p0, :cond_2 if-eqz v3, :cond_1 .line 2577 check-cast v3, Landroid/view/ViewGroup; invoke-virtual {v3, v2}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V .line 2579 :cond_1 invoke-virtual {p0, v2}, Lcom/google/android/material/tabs/TabLayout$TabView;->addView(Landroid/view/View;)V .line 2581 :cond_2 iput-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customView:Landroid/view/View; .line 2582 iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; const/16 v4, 0x8 if-eqz v3, :cond_3 .line 2583 invoke-virtual {v3, v4}, Landroid/widget/TextView;->setVisibility(I)V .line 2585 :cond_3 iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; if-eqz v3, :cond_4 .line 2586 invoke-virtual {v3, v4}, Landroid/widget/ImageView;->setVisibility(I)V .line 2587 iget-object v3, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; invoke-virtual {v3, v1}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V :cond_4 const v3, 0x1020014 .line 2590 invoke-virtual {v2, v3}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v3 check-cast v3, Landroid/widget/TextView; iput-object v3, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customTextView:Landroid/widget/TextView; if-eqz v3, :cond_5 .line 2592 invoke-static {v3}, Landroidx/core/widget/TextViewCompat;->getMaxLines(Landroid/widget/TextView;)I move-result v3 iput v3, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->defaultMaxLines:I :cond_5 const v3, 0x1020006 .line 2594 invoke-virtual {v2, v3}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v2 check-cast v2, Landroid/widget/ImageView; iput-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customIconView:Landroid/widget/ImageView; goto :goto_1 .line 2597 :cond_6 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customView:Landroid/view/View; if-eqz v2, :cond_7 .line 2598 invoke-virtual {p0, v2}, Lcom/google/android/material/tabs/TabLayout$TabView;->removeView(Landroid/view/View;)V .line 2599 iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customView:Landroid/view/View; .line 2601 :cond_7 iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customTextView:Landroid/widget/TextView; .line 2602 iput-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customIconView:Landroid/widget/ImageView; .line 2605 :goto_1 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customView:Landroid/view/View; if-nez v2, :cond_d .line 2607 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; if-nez v2, :cond_8 .line 2608 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->inflateAndAddDefaultIconView()V :cond_8 if-eqz v0, :cond_9 .line 2611 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v2 if-eqz v2, :cond_9 .line 2612 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v1 invoke-static {v1}, Landroidx/core/graphics/drawable/DrawableCompat;->wrap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object v1 invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable; move-result-object v1 :cond_9 if-eqz v1, :cond_a .line 2615 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-object v2, v2, Lcom/google/android/material/tabs/TabLayout;->tabIconTint:Landroid/content/res/ColorStateList; invoke-static {v1, v2}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintList(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V .line 2616 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-object v2, v2, Lcom/google/android/material/tabs/TabLayout;->tabIconTintMode:Landroid/graphics/PorterDuff$Mode; if-eqz v2, :cond_a .line 2617 iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-object v2, v2, Lcom/google/android/material/tabs/TabLayout;->tabIconTintMode:Landroid/graphics/PorterDuff$Mode; invoke-static {v1, v2}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintMode(Landroid/graphics/drawable/Drawable;Landroid/graphics/PorterDuff$Mode;)V .line 2621 :cond_a iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; if-nez v1, :cond_b .line 2622 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->inflateAndAddDefaultTextView()V .line 2623 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; invoke-static {v1}, Landroidx/core/widget/TextViewCompat;->getMaxLines(Landroid/widget/TextView;)I move-result v1 iput v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->defaultMaxLines:I .line 2625 :cond_b iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget v2, v2, Lcom/google/android/material/tabs/TabLayout;->tabTextAppearance:I invoke-static {v1, v2}, Landroidx/core/widget/TextViewCompat;->setTextAppearance(Landroid/widget/TextView;I)V .line 2626 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-object v1, v1, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList; if-eqz v1, :cond_c .line 2627 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-object v2, v2, Lcom/google/android/material/tabs/TabLayout;->tabTextColors:Landroid/content/res/ColorStateList; invoke-virtual {v1, v2}, Landroid/widget/TextView;->setTextColor(Landroid/content/res/ColorStateList;)V .line 2629 :cond_c iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; invoke-direct {p0, v1, v2}, Lcom/google/android/material/tabs/TabLayout$TabView;->updateTextAndIcon(Landroid/widget/TextView;Landroid/widget/ImageView;)V .line 2631 invoke-direct {p0}, Lcom/google/android/material/tabs/TabLayout$TabView;->tryUpdateBadgeAnchor()V .line 2632 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; invoke-direct {p0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->addOnLayoutChangeListener(Landroid/view/View;)V .line 2633 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; invoke-direct {p0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->addOnLayoutChangeListener(Landroid/view/View;)V goto :goto_2 .line 2636 :cond_d iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customTextView:Landroid/widget/TextView; if-nez v1, :cond_e iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customIconView:Landroid/widget/ImageView; if-eqz v2, :cond_f .line 2637 :cond_e iget-object v2, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customIconView:Landroid/widget/ImageView; invoke-direct {p0, v1, v2}, Lcom/google/android/material/tabs/TabLayout$TabView;->updateTextAndIcon(Landroid/widget/TextView;Landroid/widget/ImageView;)V :cond_f :goto_2 if-eqz v0, :cond_10 .line 2641 invoke-static {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$200(Lcom/google/android/material/tabs/TabLayout$Tab;)Ljava/lang/CharSequence; move-result-object v1 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_10 .line 2644 invoke-static {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->access$200(Lcom/google/android/material/tabs/TabLayout$Tab;)Ljava/lang/CharSequence; move-result-object v1 invoke-virtual {p0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->setContentDescription(Ljava/lang/CharSequence;)V :cond_10 if-eqz v0, :cond_11 .line 2647 invoke-virtual {v0}, Lcom/google/android/material/tabs/TabLayout$Tab;->isSelected()Z move-result v0 if-eqz v0, :cond_11 const/4 v0, 0x1 goto :goto_3 :cond_11 const/4 v0, 0x0 :goto_3 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->setSelected(Z)V return-void .end method .method final updateOrientation()V .locals 2 .line 2809 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->this$0:Lcom/google/android/material/tabs/TabLayout; iget-boolean v0, v0, Lcom/google/android/material/tabs/TabLayout;->inlineLabel:Z xor-int/lit8 v0, v0, 0x1 invoke-virtual {p0, v0}, Lcom/google/android/material/tabs/TabLayout$TabView;->setOrientation(I)V .line 2810 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customTextView:Landroid/widget/TextView; if-nez v0, :cond_1 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customIconView:Landroid/widget/ImageView; if-eqz v1, :cond_0 goto :goto_0 .line 2813 :cond_0 iget-object v0, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->textView:Landroid/widget/TextView; iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->iconView:Landroid/widget/ImageView; invoke-direct {p0, v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->updateTextAndIcon(Landroid/widget/TextView;Landroid/widget/ImageView;)V goto :goto_1 .line 2811 :cond_1 :goto_0 iget-object v1, p0, Lcom/google/android/material/tabs/TabLayout$TabView;->customIconView:Landroid/widget/ImageView; invoke-direct {p0, v0, v1}, Lcom/google/android/material/tabs/TabLayout$TabView;->updateTextAndIcon(Landroid/widget/TextView;Landroid/widget/ImageView;)V :goto_1 return-void .end method