package androidx.appcompat.widget; import android.annotation.SuppressLint; import android.content.Context; import android.content.res.ColorStateList; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Parcel; import android.os.Parcelable; import android.text.Layout; import android.text.TextUtils; import android.util.AttributeSet; import android.view.ContextThemeWrapper; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; import android.view.inspector.PropertyMapper; import android.view.inspector.PropertyReader; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; import android.window.OnBackInvokedCallback; import android.window.OnBackInvokedDispatcher; import androidx.annotation.ColorInt; import androidx.annotation.DoNotInline; import androidx.annotation.DrawableRes; import androidx.annotation.MainThread; import androidx.annotation.MenuRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.annotation.RestrictTo; import androidx.annotation.StringRes; import androidx.annotation.StyleRes; import androidx.annotation.VisibleForTesting; import androidx.appcompat.R; import androidx.appcompat.app.ActionBar; import androidx.appcompat.content.res.AppCompatResources; import androidx.appcompat.view.CollapsibleActionView; import androidx.appcompat.view.SupportMenuInflater; import androidx.appcompat.view.menu.MenuBuilder; import androidx.appcompat.view.menu.MenuItemImpl; import androidx.appcompat.view.menu.MenuPresenter; import androidx.appcompat.view.menu.MenuView; import androidx.appcompat.view.menu.SubMenuBuilder; import androidx.appcompat.widget.ActionMenuView; import androidx.core.view.GravityCompat; import androidx.core.view.MenuHost; import androidx.core.view.MenuHostHelper; import androidx.core.view.MenuProvider; import androidx.core.view.ViewCompat; import androidx.customview.view.AbsSavedState; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleOwner; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Objects; /* loaded from: classes.dex */ public class Toolbar extends ViewGroup implements MenuHost { private static final String TAG = "Toolbar"; private MenuPresenter.Callback mActionMenuPresenterCallback; private OnBackInvokedCallback mBackInvokedCallback; private boolean mBackInvokedCallbackEnabled; private OnBackInvokedDispatcher mBackInvokedDispatcher; int mButtonGravity; ImageButton mCollapseButtonView; private CharSequence mCollapseDescription; private Drawable mCollapseIcon; private boolean mCollapsible; private int mContentInsetEndWithActions; private int mContentInsetStartWithNavigation; private RtlSpacingHelper mContentInsets; private boolean mEatingHover; private boolean mEatingTouch; View mExpandedActionView; private ExpandedActionViewMenuPresenter mExpandedMenuPresenter; private int mGravity; private final ArrayList mHiddenViews; private ImageView mLogoView; private int mMaxButtonHeight; MenuBuilder.Callback mMenuBuilderCallback; final MenuHostHelper mMenuHostHelper; ActionMenuView mMenuView; private final ActionMenuView.OnMenuItemClickListener mMenuViewItemClickListener; private ImageButton mNavButtonView; OnMenuItemClickListener mOnMenuItemClickListener; private ActionMenuPresenter mOuterActionMenuPresenter; private Context mPopupContext; private int mPopupTheme; private ArrayList mProvidedMenuItems; private final Runnable mShowOverflowMenuRunnable; private CharSequence mSubtitleText; private int mSubtitleTextAppearance; private ColorStateList mSubtitleTextColor; private TextView mSubtitleTextView; private final int[] mTempMargins; private final ArrayList mTempViews; private int mTitleMarginBottom; private int mTitleMarginEnd; private int mTitleMarginStart; private int mTitleMarginTop; private CharSequence mTitleText; private int mTitleTextAppearance; private ColorStateList mTitleTextColor; private TextView mTitleTextView; private ToolbarWidgetWrapper mWrapper; public interface OnMenuItemClickListener { boolean onMenuItemClick(MenuItem menuItem); } private int getChildVerticalGravity(int i) { int i2 = i & 112; return (i2 == 16 || i2 == 48 || i2 == 80) ? i2 : this.mGravity & 112; } @Nullable @VisibleForTesting public View getNavButtonView() { return this.mNavButtonView; } public ActionMenuPresenter getOuterActionMenuPresenter() { return this.mOuterActionMenuPresenter; } public Context getPopupContext() { return this.mPopupContext; } @StyleRes public int getPopupTheme() { return this.mPopupTheme; } public CharSequence getSubtitle() { return this.mSubtitleText; } @Nullable @VisibleForTesting public final TextView getSubtitleTextView() { return this.mSubtitleTextView; } public CharSequence getTitle() { return this.mTitleText; } public int getTitleMarginBottom() { return this.mTitleMarginBottom; } public int getTitleMarginEnd() { return this.mTitleMarginEnd; } public int getTitleMarginStart() { return this.mTitleMarginStart; } public int getTitleMarginTop() { return this.mTitleMarginTop; } @Nullable @VisibleForTesting public final TextView getTitleTextView() { return this.mTitleTextView; } public boolean isBackInvokedCallbackEnabled() { return this.mBackInvokedCallbackEnabled; } public void setOnMenuItemClickListener(OnMenuItemClickListener onMenuItemClickListener) { this.mOnMenuItemClickListener = onMenuItemClickListener; } @RequiresApi(29) @RestrictTo({RestrictTo.Scope.LIBRARY}) public final class InspectionCompanion implements android.view.inspector.InspectionCompanion { private int mCollapseContentDescriptionId; private int mCollapseIconId; private int mContentInsetEndId; private int mContentInsetEndWithActionsId; private int mContentInsetLeftId; private int mContentInsetRightId; private int mContentInsetStartId; private int mContentInsetStartWithNavigationId; private int mLogoDescriptionId; private int mLogoId; private int mMenuId; private int mNavigationContentDescriptionId; private int mNavigationIconId; private int mPopupThemeId; private boolean mPropertiesMapped = false; private int mSubtitleId; private int mTitleId; private int mTitleMarginBottomId; private int mTitleMarginEndId; private int mTitleMarginStartId; private int mTitleMarginTopId; public void mapProperties(@NonNull PropertyMapper propertyMapper) { int mapObject; int mapObject2; int mapInt; int mapInt2; int mapInt3; int mapInt4; int mapInt5; int mapInt6; int mapObject3; int mapObject4; int mapObject5; int mapObject6; int mapObject7; int mapResourceId; int mapObject8; int mapObject9; int mapInt7; int mapInt8; int mapInt9; int mapInt10; mapObject = propertyMapper.mapObject("collapseContentDescription", R.attr.collapseContentDescription); this.mCollapseContentDescriptionId = mapObject; mapObject2 = propertyMapper.mapObject("collapseIcon", R.attr.collapseIcon); this.mCollapseIconId = mapObject2; mapInt = propertyMapper.mapInt("contentInsetEnd", R.attr.contentInsetEnd); this.mContentInsetEndId = mapInt; mapInt2 = propertyMapper.mapInt("contentInsetEndWithActions", R.attr.contentInsetEndWithActions); this.mContentInsetEndWithActionsId = mapInt2; mapInt3 = propertyMapper.mapInt("contentInsetLeft", R.attr.contentInsetLeft); this.mContentInsetLeftId = mapInt3; mapInt4 = propertyMapper.mapInt("contentInsetRight", R.attr.contentInsetRight); this.mContentInsetRightId = mapInt4; mapInt5 = propertyMapper.mapInt("contentInsetStart", R.attr.contentInsetStart); this.mContentInsetStartId = mapInt5; mapInt6 = propertyMapper.mapInt("contentInsetStartWithNavigation", R.attr.contentInsetStartWithNavigation); this.mContentInsetStartWithNavigationId = mapInt6; mapObject3 = propertyMapper.mapObject("logo", R.attr.logo); this.mLogoId = mapObject3; mapObject4 = propertyMapper.mapObject("logoDescription", R.attr.logoDescription); this.mLogoDescriptionId = mapObject4; mapObject5 = propertyMapper.mapObject("menu", R.attr.menu); this.mMenuId = mapObject5; mapObject6 = propertyMapper.mapObject("navigationContentDescription", R.attr.navigationContentDescription); this.mNavigationContentDescriptionId = mapObject6; mapObject7 = propertyMapper.mapObject("navigationIcon", R.attr.navigationIcon); this.mNavigationIconId = mapObject7; mapResourceId = propertyMapper.mapResourceId("popupTheme", R.attr.popupTheme); this.mPopupThemeId = mapResourceId; mapObject8 = propertyMapper.mapObject("subtitle", R.attr.subtitle); this.mSubtitleId = mapObject8; mapObject9 = propertyMapper.mapObject("title", R.attr.title); this.mTitleId = mapObject9; mapInt7 = propertyMapper.mapInt("titleMarginBottom", R.attr.titleMarginBottom); this.mTitleMarginBottomId = mapInt7; mapInt8 = propertyMapper.mapInt("titleMarginEnd", R.attr.titleMarginEnd); this.mTitleMarginEndId = mapInt8; mapInt9 = propertyMapper.mapInt("titleMarginStart", R.attr.titleMarginStart); this.mTitleMarginStartId = mapInt9; mapInt10 = propertyMapper.mapInt("titleMarginTop", R.attr.titleMarginTop); this.mTitleMarginTopId = mapInt10; this.mPropertiesMapped = true; } public void readProperties(@NonNull Toolbar toolbar, @NonNull PropertyReader propertyReader) { if (!this.mPropertiesMapped) { throw AppCompatAutoCompleteTextView$InspectionCompanion$$ExternalSyntheticApiModelOutline2.m(); } propertyReader.readObject(this.mCollapseContentDescriptionId, toolbar.getCollapseContentDescription()); propertyReader.readObject(this.mCollapseIconId, toolbar.getCollapseIcon()); propertyReader.readInt(this.mContentInsetEndId, toolbar.getContentInsetEnd()); propertyReader.readInt(this.mContentInsetEndWithActionsId, toolbar.getContentInsetEndWithActions()); propertyReader.readInt(this.mContentInsetLeftId, toolbar.getContentInsetLeft()); propertyReader.readInt(this.mContentInsetRightId, toolbar.getContentInsetRight()); propertyReader.readInt(this.mContentInsetStartId, toolbar.getContentInsetStart()); propertyReader.readInt(this.mContentInsetStartWithNavigationId, toolbar.getContentInsetStartWithNavigation()); propertyReader.readObject(this.mLogoId, toolbar.getLogo()); propertyReader.readObject(this.mLogoDescriptionId, toolbar.getLogoDescription()); propertyReader.readObject(this.mMenuId, toolbar.getMenu()); propertyReader.readObject(this.mNavigationContentDescriptionId, toolbar.getNavigationContentDescription()); propertyReader.readObject(this.mNavigationIconId, toolbar.getNavigationIcon()); propertyReader.readResourceId(this.mPopupThemeId, toolbar.getPopupTheme()); propertyReader.readObject(this.mSubtitleId, toolbar.getSubtitle()); propertyReader.readObject(this.mTitleId, toolbar.getTitle()); propertyReader.readInt(this.mTitleMarginBottomId, toolbar.getTitleMarginBottom()); propertyReader.readInt(this.mTitleMarginEndId, toolbar.getTitleMarginEnd()); propertyReader.readInt(this.mTitleMarginStartId, toolbar.getTitleMarginStart()); propertyReader.readInt(this.mTitleMarginTopId, toolbar.getTitleMarginTop()); } } public Toolbar(@NonNull Context context) { this(context, null); } public Toolbar(@NonNull Context context, @Nullable AttributeSet attributeSet) { this(context, attributeSet, R.attr.toolbarStyle); } public Toolbar(@NonNull Context context, @Nullable AttributeSet attributeSet, int i) { super(context, attributeSet, i); this.mGravity = 8388627; this.mTempViews = new ArrayList<>(); this.mHiddenViews = new ArrayList<>(); this.mTempMargins = new int[2]; this.mMenuHostHelper = new MenuHostHelper(new Runnable() { // from class: androidx.appcompat.widget.Toolbar$$ExternalSyntheticLambda0 @Override // java.lang.Runnable public final void run() { Toolbar.this.invalidateMenu(); } }); this.mProvidedMenuItems = new ArrayList<>(); this.mMenuViewItemClickListener = new ActionMenuView.OnMenuItemClickListener() { // from class: androidx.appcompat.widget.Toolbar.1 @Override // androidx.appcompat.widget.ActionMenuView.OnMenuItemClickListener public boolean onMenuItemClick(MenuItem menuItem) { if (Toolbar.this.mMenuHostHelper.onMenuItemSelected(menuItem)) { return true; } OnMenuItemClickListener onMenuItemClickListener = Toolbar.this.mOnMenuItemClickListener; if (onMenuItemClickListener != null) { return onMenuItemClickListener.onMenuItemClick(menuItem); } return false; } }; this.mShowOverflowMenuRunnable = new Runnable() { // from class: androidx.appcompat.widget.Toolbar.2 @Override // java.lang.Runnable public void run() { Toolbar.this.showOverflowMenu(); } }; TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(getContext(), attributeSet, R.styleable.Toolbar, i, 0); ViewCompat.saveAttributeDataForStyleable(this, context, R.styleable.Toolbar, attributeSet, obtainStyledAttributes.getWrappedTypeArray(), i, 0); this.mTitleTextAppearance = obtainStyledAttributes.getResourceId(R.styleable.Toolbar_titleTextAppearance, 0); this.mSubtitleTextAppearance = obtainStyledAttributes.getResourceId(R.styleable.Toolbar_subtitleTextAppearance, 0); this.mGravity = obtainStyledAttributes.getInteger(R.styleable.Toolbar_android_gravity, this.mGravity); this.mButtonGravity = obtainStyledAttributes.getInteger(R.styleable.Toolbar_buttonGravity, 48); int dimensionPixelOffset = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_titleMargin, 0); dimensionPixelOffset = obtainStyledAttributes.hasValue(R.styleable.Toolbar_titleMargins) ? obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_titleMargins, dimensionPixelOffset) : dimensionPixelOffset; this.mTitleMarginBottom = dimensionPixelOffset; this.mTitleMarginTop = dimensionPixelOffset; this.mTitleMarginEnd = dimensionPixelOffset; this.mTitleMarginStart = dimensionPixelOffset; int dimensionPixelOffset2 = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_titleMarginStart, -1); if (dimensionPixelOffset2 >= 0) { this.mTitleMarginStart = dimensionPixelOffset2; } int dimensionPixelOffset3 = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_titleMarginEnd, -1); if (dimensionPixelOffset3 >= 0) { this.mTitleMarginEnd = dimensionPixelOffset3; } int dimensionPixelOffset4 = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_titleMarginTop, -1); if (dimensionPixelOffset4 >= 0) { this.mTitleMarginTop = dimensionPixelOffset4; } int dimensionPixelOffset5 = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_titleMarginBottom, -1); if (dimensionPixelOffset5 >= 0) { this.mTitleMarginBottom = dimensionPixelOffset5; } this.mMaxButtonHeight = obtainStyledAttributes.getDimensionPixelSize(R.styleable.Toolbar_maxButtonHeight, -1); int dimensionPixelOffset6 = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_contentInsetStart, Integer.MIN_VALUE); int dimensionPixelOffset7 = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_contentInsetEnd, Integer.MIN_VALUE); int dimensionPixelSize = obtainStyledAttributes.getDimensionPixelSize(R.styleable.Toolbar_contentInsetLeft, 0); int dimensionPixelSize2 = obtainStyledAttributes.getDimensionPixelSize(R.styleable.Toolbar_contentInsetRight, 0); ensureContentInsets(); this.mContentInsets.setAbsolute(dimensionPixelSize, dimensionPixelSize2); if (dimensionPixelOffset6 != Integer.MIN_VALUE || dimensionPixelOffset7 != Integer.MIN_VALUE) { this.mContentInsets.setRelative(dimensionPixelOffset6, dimensionPixelOffset7); } this.mContentInsetStartWithNavigation = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_contentInsetStartWithNavigation, Integer.MIN_VALUE); this.mContentInsetEndWithActions = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.Toolbar_contentInsetEndWithActions, Integer.MIN_VALUE); this.mCollapseIcon = obtainStyledAttributes.getDrawable(R.styleable.Toolbar_collapseIcon); this.mCollapseDescription = obtainStyledAttributes.getText(R.styleable.Toolbar_collapseContentDescription); CharSequence text = obtainStyledAttributes.getText(R.styleable.Toolbar_title); if (!TextUtils.isEmpty(text)) { setTitle(text); } CharSequence text2 = obtainStyledAttributes.getText(R.styleable.Toolbar_subtitle); if (!TextUtils.isEmpty(text2)) { setSubtitle(text2); } this.mPopupContext = getContext(); setPopupTheme(obtainStyledAttributes.getResourceId(R.styleable.Toolbar_popupTheme, 0)); Drawable drawable = obtainStyledAttributes.getDrawable(R.styleable.Toolbar_navigationIcon); if (drawable != null) { setNavigationIcon(drawable); } CharSequence text3 = obtainStyledAttributes.getText(R.styleable.Toolbar_navigationContentDescription); if (!TextUtils.isEmpty(text3)) { setNavigationContentDescription(text3); } Drawable drawable2 = obtainStyledAttributes.getDrawable(R.styleable.Toolbar_logo); if (drawable2 != null) { setLogo(drawable2); } CharSequence text4 = obtainStyledAttributes.getText(R.styleable.Toolbar_logoDescription); if (!TextUtils.isEmpty(text4)) { setLogoDescription(text4); } if (obtainStyledAttributes.hasValue(R.styleable.Toolbar_titleTextColor)) { setTitleTextColor(obtainStyledAttributes.getColorStateList(R.styleable.Toolbar_titleTextColor)); } if (obtainStyledAttributes.hasValue(R.styleable.Toolbar_subtitleTextColor)) { setSubtitleTextColor(obtainStyledAttributes.getColorStateList(R.styleable.Toolbar_subtitleTextColor)); } if (obtainStyledAttributes.hasValue(R.styleable.Toolbar_menu)) { inflateMenu(obtainStyledAttributes.getResourceId(R.styleable.Toolbar_menu, 0)); } obtainStyledAttributes.recycle(); } public void setBackInvokedCallbackEnabled(boolean z) { if (this.mBackInvokedCallbackEnabled != z) { this.mBackInvokedCallbackEnabled = z; updateBackInvokedCallbackState(); } } public void setPopupTheme(@StyleRes int i) { if (this.mPopupTheme != i) { this.mPopupTheme = i; if (i == 0) { this.mPopupContext = getContext(); } else { this.mPopupContext = new ContextThemeWrapper(getContext(), i); } } } public void setTitleMargin(int i, int i2, int i3, int i4) { this.mTitleMarginStart = i; this.mTitleMarginTop = i2; this.mTitleMarginEnd = i3; this.mTitleMarginBottom = i4; requestLayout(); } public void setTitleMarginStart(int i) { this.mTitleMarginStart = i; requestLayout(); } public void setTitleMarginTop(int i) { this.mTitleMarginTop = i; requestLayout(); } public void setTitleMarginEnd(int i) { this.mTitleMarginEnd = i; requestLayout(); } public void setTitleMarginBottom(int i) { this.mTitleMarginBottom = i; requestLayout(); } @Override // android.view.View public void onRtlPropertiesChanged(int i) { super.onRtlPropertiesChanged(i); ensureContentInsets(); this.mContentInsets.setDirection(i == 1); } public void setLogo(@DrawableRes int i) { setLogo(AppCompatResources.getDrawable(getContext(), i)); } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public boolean canShowOverflowMenu() { ActionMenuView actionMenuView; return getVisibility() == 0 && (actionMenuView = this.mMenuView) != null && actionMenuView.isOverflowReserved(); } public boolean isOverflowMenuShowing() { ActionMenuView actionMenuView = this.mMenuView; return actionMenuView != null && actionMenuView.isOverflowMenuShowing(); } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public boolean isOverflowMenuShowPending() { ActionMenuView actionMenuView = this.mMenuView; return actionMenuView != null && actionMenuView.isOverflowMenuShowPending(); } public boolean showOverflowMenu() { ActionMenuView actionMenuView = this.mMenuView; return actionMenuView != null && actionMenuView.showOverflowMenu(); } public boolean hideOverflowMenu() { ActionMenuView actionMenuView = this.mMenuView; return actionMenuView != null && actionMenuView.hideOverflowMenu(); } @RestrictTo({RestrictTo.Scope.LIBRARY}) public void setMenu(MenuBuilder menuBuilder, ActionMenuPresenter actionMenuPresenter) { if (menuBuilder == null && this.mMenuView == null) { return; } ensureMenuView(); MenuBuilder peekMenu = this.mMenuView.peekMenu(); if (peekMenu == menuBuilder) { return; } if (peekMenu != null) { peekMenu.removeMenuPresenter(this.mOuterActionMenuPresenter); peekMenu.removeMenuPresenter(this.mExpandedMenuPresenter); } if (this.mExpandedMenuPresenter == null) { this.mExpandedMenuPresenter = new ExpandedActionViewMenuPresenter(); } actionMenuPresenter.setExpandedActionViewsExclusive(true); if (menuBuilder != null) { menuBuilder.addMenuPresenter(actionMenuPresenter, this.mPopupContext); menuBuilder.addMenuPresenter(this.mExpandedMenuPresenter, this.mPopupContext); } else { actionMenuPresenter.initForMenu(this.mPopupContext, null); this.mExpandedMenuPresenter.initForMenu(this.mPopupContext, null); actionMenuPresenter.updateMenuView(true); this.mExpandedMenuPresenter.updateMenuView(true); } this.mMenuView.setPopupTheme(this.mPopupTheme); this.mMenuView.setPresenter(actionMenuPresenter); this.mOuterActionMenuPresenter = actionMenuPresenter; updateBackInvokedCallbackState(); } public void dismissPopupMenus() { ActionMenuView actionMenuView = this.mMenuView; if (actionMenuView != null) { actionMenuView.dismissPopupMenus(); } } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public boolean isTitleTruncated() { Layout layout; TextView textView = this.mTitleTextView; if (textView == null || (layout = textView.getLayout()) == null) { return false; } int lineCount = layout.getLineCount(); for (int i = 0; i < lineCount; i++) { if (layout.getEllipsisCount(i) > 0) { return true; } } return false; } public void setLogo(Drawable drawable) { if (drawable != null) { ensureLogoView(); if (!isChildOrHidden(this.mLogoView)) { addSystemView(this.mLogoView, true); } } else { ImageView imageView = this.mLogoView; if (imageView != null && isChildOrHidden(imageView)) { removeView(this.mLogoView); this.mHiddenViews.remove(this.mLogoView); } } ImageView imageView2 = this.mLogoView; if (imageView2 != null) { imageView2.setImageDrawable(drawable); } } public Drawable getLogo() { ImageView imageView = this.mLogoView; if (imageView != null) { return imageView.getDrawable(); } return null; } public void setLogoDescription(@StringRes int i) { setLogoDescription(getContext().getText(i)); } public void setLogoDescription(CharSequence charSequence) { if (!TextUtils.isEmpty(charSequence)) { ensureLogoView(); } ImageView imageView = this.mLogoView; if (imageView != null) { imageView.setContentDescription(charSequence); } } public CharSequence getLogoDescription() { ImageView imageView = this.mLogoView; if (imageView != null) { return imageView.getContentDescription(); } return null; } private void ensureLogoView() { if (this.mLogoView == null) { this.mLogoView = new AppCompatImageView(getContext()); } } public boolean hasExpandedActionView() { ExpandedActionViewMenuPresenter expandedActionViewMenuPresenter = this.mExpandedMenuPresenter; return (expandedActionViewMenuPresenter == null || expandedActionViewMenuPresenter.mCurrentExpandedItem == null) ? false : true; } public void collapseActionView() { ExpandedActionViewMenuPresenter expandedActionViewMenuPresenter = this.mExpandedMenuPresenter; MenuItemImpl menuItemImpl = expandedActionViewMenuPresenter == null ? null : expandedActionViewMenuPresenter.mCurrentExpandedItem; if (menuItemImpl != null) { menuItemImpl.collapseActionView(); } } public void setTitle(@StringRes int i) { setTitle(getContext().getText(i)); } public void setTitle(CharSequence charSequence) { if (!TextUtils.isEmpty(charSequence)) { if (this.mTitleTextView == null) { Context context = getContext(); AppCompatTextView appCompatTextView = new AppCompatTextView(context); this.mTitleTextView = appCompatTextView; appCompatTextView.setSingleLine(); this.mTitleTextView.setEllipsize(TextUtils.TruncateAt.END); int i = this.mTitleTextAppearance; if (i != 0) { this.mTitleTextView.setTextAppearance(context, i); } ColorStateList colorStateList = this.mTitleTextColor; if (colorStateList != null) { this.mTitleTextView.setTextColor(colorStateList); } } if (!isChildOrHidden(this.mTitleTextView)) { addSystemView(this.mTitleTextView, true); } } else { TextView textView = this.mTitleTextView; if (textView != null && isChildOrHidden(textView)) { removeView(this.mTitleTextView); this.mHiddenViews.remove(this.mTitleTextView); } } TextView textView2 = this.mTitleTextView; if (textView2 != null) { textView2.setText(charSequence); } this.mTitleText = charSequence; } public void setSubtitle(@StringRes int i) { setSubtitle(getContext().getText(i)); } public void setSubtitle(CharSequence charSequence) { if (!TextUtils.isEmpty(charSequence)) { if (this.mSubtitleTextView == null) { Context context = getContext(); AppCompatTextView appCompatTextView = new AppCompatTextView(context); this.mSubtitleTextView = appCompatTextView; appCompatTextView.setSingleLine(); this.mSubtitleTextView.setEllipsize(TextUtils.TruncateAt.END); int i = this.mSubtitleTextAppearance; if (i != 0) { this.mSubtitleTextView.setTextAppearance(context, i); } ColorStateList colorStateList = this.mSubtitleTextColor; if (colorStateList != null) { this.mSubtitleTextView.setTextColor(colorStateList); } } if (!isChildOrHidden(this.mSubtitleTextView)) { addSystemView(this.mSubtitleTextView, true); } } else { TextView textView = this.mSubtitleTextView; if (textView != null && isChildOrHidden(textView)) { removeView(this.mSubtitleTextView); this.mHiddenViews.remove(this.mSubtitleTextView); } } TextView textView2 = this.mSubtitleTextView; if (textView2 != null) { textView2.setText(charSequence); } this.mSubtitleText = charSequence; } public void setTitleTextAppearance(Context context, @StyleRes int i) { this.mTitleTextAppearance = i; TextView textView = this.mTitleTextView; if (textView != null) { textView.setTextAppearance(context, i); } } public void setSubtitleTextAppearance(Context context, @StyleRes int i) { this.mSubtitleTextAppearance = i; TextView textView = this.mSubtitleTextView; if (textView != null) { textView.setTextAppearance(context, i); } } public void setTitleTextColor(@ColorInt int i) { setTitleTextColor(ColorStateList.valueOf(i)); } public void setTitleTextColor(@NonNull ColorStateList colorStateList) { this.mTitleTextColor = colorStateList; TextView textView = this.mTitleTextView; if (textView != null) { textView.setTextColor(colorStateList); } } public void setSubtitleTextColor(@ColorInt int i) { setSubtitleTextColor(ColorStateList.valueOf(i)); } public void setSubtitleTextColor(@NonNull ColorStateList colorStateList) { this.mSubtitleTextColor = colorStateList; TextView textView = this.mSubtitleTextView; if (textView != null) { textView.setTextColor(colorStateList); } } @Nullable public CharSequence getNavigationContentDescription() { ImageButton imageButton = this.mNavButtonView; if (imageButton != null) { return imageButton.getContentDescription(); } return null; } public void setNavigationContentDescription(@StringRes int i) { setNavigationContentDescription(i != 0 ? getContext().getText(i) : null); } public void setNavigationContentDescription(@Nullable CharSequence charSequence) { if (!TextUtils.isEmpty(charSequence)) { ensureNavButtonView(); } ImageButton imageButton = this.mNavButtonView; if (imageButton != null) { imageButton.setContentDescription(charSequence); TooltipCompat.setTooltipText(this.mNavButtonView, charSequence); } } public void setNavigationIcon(@DrawableRes int i) { setNavigationIcon(AppCompatResources.getDrawable(getContext(), i)); } public void setNavigationIcon(@Nullable Drawable drawable) { if (drawable != null) { ensureNavButtonView(); if (!isChildOrHidden(this.mNavButtonView)) { addSystemView(this.mNavButtonView, true); } } else { ImageButton imageButton = this.mNavButtonView; if (imageButton != null && isChildOrHidden(imageButton)) { removeView(this.mNavButtonView); this.mHiddenViews.remove(this.mNavButtonView); } } ImageButton imageButton2 = this.mNavButtonView; if (imageButton2 != null) { imageButton2.setImageDrawable(drawable); } } @Nullable public Drawable getNavigationIcon() { ImageButton imageButton = this.mNavButtonView; if (imageButton != null) { return imageButton.getDrawable(); } return null; } public void setNavigationOnClickListener(View.OnClickListener onClickListener) { ensureNavButtonView(); this.mNavButtonView.setOnClickListener(onClickListener); } @Nullable public CharSequence getCollapseContentDescription() { ImageButton imageButton = this.mCollapseButtonView; if (imageButton != null) { return imageButton.getContentDescription(); } return null; } public void setCollapseContentDescription(@StringRes int i) { setCollapseContentDescription(i != 0 ? getContext().getText(i) : null); } public void setCollapseContentDescription(@Nullable CharSequence charSequence) { if (!TextUtils.isEmpty(charSequence)) { ensureCollapseButtonView(); } ImageButton imageButton = this.mCollapseButtonView; if (imageButton != null) { imageButton.setContentDescription(charSequence); } } @Nullable public Drawable getCollapseIcon() { ImageButton imageButton = this.mCollapseButtonView; if (imageButton != null) { return imageButton.getDrawable(); } return null; } public void setCollapseIcon(@DrawableRes int i) { setCollapseIcon(AppCompatResources.getDrawable(getContext(), i)); } public void setCollapseIcon(@Nullable Drawable drawable) { if (drawable != null) { ensureCollapseButtonView(); this.mCollapseButtonView.setImageDrawable(drawable); } else { ImageButton imageButton = this.mCollapseButtonView; if (imageButton != null) { imageButton.setImageDrawable(this.mCollapseIcon); } } } public Menu getMenu() { ensureMenu(); return this.mMenuView.getMenu(); } public void setOverflowIcon(@Nullable Drawable drawable) { ensureMenu(); this.mMenuView.setOverflowIcon(drawable); } @Nullable public Drawable getOverflowIcon() { ensureMenu(); return this.mMenuView.getOverflowIcon(); } private void ensureMenu() { ensureMenuView(); if (this.mMenuView.peekMenu() == null) { MenuBuilder menuBuilder = (MenuBuilder) this.mMenuView.getMenu(); if (this.mExpandedMenuPresenter == null) { this.mExpandedMenuPresenter = new ExpandedActionViewMenuPresenter(); } this.mMenuView.setExpandedActionViewsExclusive(true); menuBuilder.addMenuPresenter(this.mExpandedMenuPresenter, this.mPopupContext); updateBackInvokedCallbackState(); } } private void ensureMenuView() { if (this.mMenuView == null) { ActionMenuView actionMenuView = new ActionMenuView(getContext()); this.mMenuView = actionMenuView; actionMenuView.setPopupTheme(this.mPopupTheme); this.mMenuView.setOnMenuItemClickListener(this.mMenuViewItemClickListener); this.mMenuView.setMenuCallbacks(this.mActionMenuPresenterCallback, new MenuBuilder.Callback() { // from class: androidx.appcompat.widget.Toolbar.3 @Override // androidx.appcompat.view.menu.MenuBuilder.Callback public boolean onMenuItemSelected(@NonNull MenuBuilder menuBuilder, @NonNull MenuItem menuItem) { MenuBuilder.Callback callback = Toolbar.this.mMenuBuilderCallback; return callback != null && callback.onMenuItemSelected(menuBuilder, menuItem); } @Override // androidx.appcompat.view.menu.MenuBuilder.Callback public void onMenuModeChange(@NonNull MenuBuilder menuBuilder) { if (!Toolbar.this.mMenuView.isOverflowMenuShowing()) { Toolbar.this.mMenuHostHelper.onPrepareMenu(menuBuilder); } MenuBuilder.Callback callback = Toolbar.this.mMenuBuilderCallback; if (callback != null) { callback.onMenuModeChange(menuBuilder); } } }); LayoutParams generateDefaultLayoutParams = generateDefaultLayoutParams(); generateDefaultLayoutParams.gravity = (this.mButtonGravity & 112) | GravityCompat.END; this.mMenuView.setLayoutParams(generateDefaultLayoutParams); addSystemView(this.mMenuView, false); } } private MenuInflater getMenuInflater() { return new SupportMenuInflater(getContext()); } public void inflateMenu(@MenuRes int i) { getMenuInflater().inflate(i, getMenu()); } public void setContentInsetsRelative(int i, int i2) { ensureContentInsets(); this.mContentInsets.setRelative(i, i2); } public int getContentInsetStart() { RtlSpacingHelper rtlSpacingHelper = this.mContentInsets; if (rtlSpacingHelper != null) { return rtlSpacingHelper.getStart(); } return 0; } public int getContentInsetEnd() { RtlSpacingHelper rtlSpacingHelper = this.mContentInsets; if (rtlSpacingHelper != null) { return rtlSpacingHelper.getEnd(); } return 0; } public void setContentInsetsAbsolute(int i, int i2) { ensureContentInsets(); this.mContentInsets.setAbsolute(i, i2); } public int getContentInsetLeft() { RtlSpacingHelper rtlSpacingHelper = this.mContentInsets; if (rtlSpacingHelper != null) { return rtlSpacingHelper.getLeft(); } return 0; } public int getContentInsetRight() { RtlSpacingHelper rtlSpacingHelper = this.mContentInsets; if (rtlSpacingHelper != null) { return rtlSpacingHelper.getRight(); } return 0; } public int getContentInsetStartWithNavigation() { int i = this.mContentInsetStartWithNavigation; return i != Integer.MIN_VALUE ? i : getContentInsetStart(); } public void setContentInsetStartWithNavigation(int i) { if (i < 0) { i = Integer.MIN_VALUE; } if (i != this.mContentInsetStartWithNavigation) { this.mContentInsetStartWithNavigation = i; if (getNavigationIcon() != null) { requestLayout(); } } } public int getContentInsetEndWithActions() { int i = this.mContentInsetEndWithActions; return i != Integer.MIN_VALUE ? i : getContentInsetEnd(); } public void setContentInsetEndWithActions(int i) { if (i < 0) { i = Integer.MIN_VALUE; } if (i != this.mContentInsetEndWithActions) { this.mContentInsetEndWithActions = i; if (getNavigationIcon() != null) { requestLayout(); } } } public int getCurrentContentInsetStart() { if (getNavigationIcon() != null) { return Math.max(getContentInsetStart(), Math.max(this.mContentInsetStartWithNavigation, 0)); } return getContentInsetStart(); } public int getCurrentContentInsetEnd() { MenuBuilder peekMenu; ActionMenuView actionMenuView = this.mMenuView; if (actionMenuView != null && (peekMenu = actionMenuView.peekMenu()) != null && peekMenu.hasVisibleItems()) { return Math.max(getContentInsetEnd(), Math.max(this.mContentInsetEndWithActions, 0)); } return getContentInsetEnd(); } public int getCurrentContentInsetLeft() { if (getLayoutDirection() == 1) { return getCurrentContentInsetEnd(); } return getCurrentContentInsetStart(); } public int getCurrentContentInsetRight() { if (getLayoutDirection() == 1) { return getCurrentContentInsetStart(); } return getCurrentContentInsetEnd(); } private void ensureNavButtonView() { if (this.mNavButtonView == null) { this.mNavButtonView = new AppCompatImageButton(getContext(), null, R.attr.toolbarNavigationButtonStyle); LayoutParams generateDefaultLayoutParams = generateDefaultLayoutParams(); generateDefaultLayoutParams.gravity = (this.mButtonGravity & 112) | GravityCompat.START; this.mNavButtonView.setLayoutParams(generateDefaultLayoutParams); } } public void ensureCollapseButtonView() { if (this.mCollapseButtonView == null) { AppCompatImageButton appCompatImageButton = new AppCompatImageButton(getContext(), null, R.attr.toolbarNavigationButtonStyle); this.mCollapseButtonView = appCompatImageButton; appCompatImageButton.setImageDrawable(this.mCollapseIcon); this.mCollapseButtonView.setContentDescription(this.mCollapseDescription); LayoutParams generateDefaultLayoutParams = generateDefaultLayoutParams(); generateDefaultLayoutParams.gravity = (this.mButtonGravity & 112) | GravityCompat.START; generateDefaultLayoutParams.mViewType = 2; this.mCollapseButtonView.setLayoutParams(generateDefaultLayoutParams); this.mCollapseButtonView.setOnClickListener(new View.OnClickListener() { // from class: androidx.appcompat.widget.Toolbar.4 @Override // android.view.View.OnClickListener public void onClick(View view) { Toolbar.this.collapseActionView(); } }); } } private void addSystemView(View view, boolean z) { LayoutParams layoutParams; ViewGroup.LayoutParams layoutParams2 = view.getLayoutParams(); if (layoutParams2 == null) { layoutParams = generateDefaultLayoutParams(); } else if (!checkLayoutParams(layoutParams2)) { layoutParams = generateLayoutParams(layoutParams2); } else { layoutParams = (LayoutParams) layoutParams2; } layoutParams.mViewType = 1; if (z && this.mExpandedActionView != null) { view.setLayoutParams(layoutParams); this.mHiddenViews.add(view); } else { addView(view, layoutParams); } } @Override // android.view.View public Parcelable onSaveInstanceState() { MenuItemImpl menuItemImpl; SavedState savedState = new SavedState(super.onSaveInstanceState()); ExpandedActionViewMenuPresenter expandedActionViewMenuPresenter = this.mExpandedMenuPresenter; if (expandedActionViewMenuPresenter != null && (menuItemImpl = expandedActionViewMenuPresenter.mCurrentExpandedItem) != null) { savedState.expandedMenuItemId = menuItemImpl.getItemId(); } savedState.isOverflowOpen = isOverflowMenuShowing(); return savedState; } @Override // android.view.View public void onRestoreInstanceState(Parcelable parcelable) { MenuItem findItem; if (!(parcelable instanceof SavedState)) { super.onRestoreInstanceState(parcelable); return; } SavedState savedState = (SavedState) parcelable; super.onRestoreInstanceState(savedState.getSuperState()); ActionMenuView actionMenuView = this.mMenuView; MenuBuilder peekMenu = actionMenuView != null ? actionMenuView.peekMenu() : null; int i = savedState.expandedMenuItemId; if (i != 0 && this.mExpandedMenuPresenter != null && peekMenu != null && (findItem = peekMenu.findItem(i)) != null) { findItem.expandActionView(); } if (savedState.isOverflowOpen) { postShowOverflowMenu(); } } private void postShowOverflowMenu() { removeCallbacks(this.mShowOverflowMenuRunnable); post(this.mShowOverflowMenuRunnable); } @Override // android.view.ViewGroup, android.view.View public void onDetachedFromWindow() { super.onDetachedFromWindow(); removeCallbacks(this.mShowOverflowMenuRunnable); updateBackInvokedCallbackState(); } @Override // android.view.ViewGroup, android.view.View public void onAttachedToWindow() { super.onAttachedToWindow(); updateBackInvokedCallbackState(); } @Override // android.view.View public boolean onTouchEvent(MotionEvent motionEvent) { int actionMasked = motionEvent.getActionMasked(); if (actionMasked == 0) { this.mEatingTouch = false; } if (!this.mEatingTouch) { boolean onTouchEvent = super.onTouchEvent(motionEvent); if (actionMasked == 0 && !onTouchEvent) { this.mEatingTouch = true; } } if (actionMasked == 1 || actionMasked == 3) { this.mEatingTouch = false; } return true; } @Override // android.view.View public boolean onHoverEvent(MotionEvent motionEvent) { int actionMasked = motionEvent.getActionMasked(); if (actionMasked == 9) { this.mEatingHover = false; } if (!this.mEatingHover) { boolean onHoverEvent = super.onHoverEvent(motionEvent); if (actionMasked == 9 && !onHoverEvent) { this.mEatingHover = true; } } if (actionMasked == 10 || actionMasked == 3) { this.mEatingHover = false; } return true; } private void measureChildConstrained(View view, int i, int i2, int i3, int i4, int i5) { ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) view.getLayoutParams(); int childMeasureSpec = ViewGroup.getChildMeasureSpec(i, getPaddingLeft() + getPaddingRight() + marginLayoutParams.leftMargin + marginLayoutParams.rightMargin + i2, marginLayoutParams.width); int childMeasureSpec2 = ViewGroup.getChildMeasureSpec(i3, getPaddingTop() + getPaddingBottom() + marginLayoutParams.topMargin + marginLayoutParams.bottomMargin + i4, marginLayoutParams.height); int mode = View.MeasureSpec.getMode(childMeasureSpec2); if (mode != 1073741824 && i5 >= 0) { if (mode != 0) { i5 = Math.min(View.MeasureSpec.getSize(childMeasureSpec2), i5); } childMeasureSpec2 = View.MeasureSpec.makeMeasureSpec(i5, 1073741824); } view.measure(childMeasureSpec, childMeasureSpec2); } private int measureChildCollapseMargins(View view, int i, int i2, int i3, int i4, int[] iArr) { ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) view.getLayoutParams(); int i5 = marginLayoutParams.leftMargin - iArr[0]; int i6 = marginLayoutParams.rightMargin - iArr[1]; int max = Math.max(0, i5) + Math.max(0, i6); iArr[0] = Math.max(0, -i5); iArr[1] = Math.max(0, -i6); view.measure(ViewGroup.getChildMeasureSpec(i, getPaddingLeft() + getPaddingRight() + max + i2, marginLayoutParams.width), ViewGroup.getChildMeasureSpec(i3, getPaddingTop() + getPaddingBottom() + marginLayoutParams.topMargin + marginLayoutParams.bottomMargin + i4, marginLayoutParams.height)); return view.getMeasuredWidth() + max; } private boolean shouldCollapse() { if (!this.mCollapsible) { return false; } int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { View childAt = getChildAt(i); if (shouldLayout(childAt) && childAt.getMeasuredWidth() > 0 && childAt.getMeasuredHeight() > 0) { return false; } } return true; } @Override // android.view.View public void onMeasure(int i, int i2) { int i3; int i4; int i5; int i6; int i7; int i8; int i9; int[] iArr = this.mTempMargins; boolean isLayoutRtl = ViewUtils.isLayoutRtl(this); int i10 = !isLayoutRtl ? 1 : 0; if (shouldLayout(this.mNavButtonView)) { measureChildConstrained(this.mNavButtonView, i, 0, i2, 0, this.mMaxButtonHeight); i3 = this.mNavButtonView.getMeasuredWidth() + getHorizontalMargins(this.mNavButtonView); i4 = Math.max(0, this.mNavButtonView.getMeasuredHeight() + getVerticalMargins(this.mNavButtonView)); i5 = View.combineMeasuredStates(0, this.mNavButtonView.getMeasuredState()); } else { i3 = 0; i4 = 0; i5 = 0; } if (shouldLayout(this.mCollapseButtonView)) { measureChildConstrained(this.mCollapseButtonView, i, 0, i2, 0, this.mMaxButtonHeight); i3 = this.mCollapseButtonView.getMeasuredWidth() + getHorizontalMargins(this.mCollapseButtonView); i4 = Math.max(i4, this.mCollapseButtonView.getMeasuredHeight() + getVerticalMargins(this.mCollapseButtonView)); i5 = View.combineMeasuredStates(i5, this.mCollapseButtonView.getMeasuredState()); } int currentContentInsetStart = getCurrentContentInsetStart(); int max = Math.max(currentContentInsetStart, i3); iArr[isLayoutRtl ? 1 : 0] = Math.max(0, currentContentInsetStart - i3); if (shouldLayout(this.mMenuView)) { measureChildConstrained(this.mMenuView, i, max, i2, 0, this.mMaxButtonHeight); i6 = this.mMenuView.getMeasuredWidth() + getHorizontalMargins(this.mMenuView); i4 = Math.max(i4, this.mMenuView.getMeasuredHeight() + getVerticalMargins(this.mMenuView)); i5 = View.combineMeasuredStates(i5, this.mMenuView.getMeasuredState()); } else { i6 = 0; } int currentContentInsetEnd = getCurrentContentInsetEnd(); int max2 = max + Math.max(currentContentInsetEnd, i6); iArr[i10] = Math.max(0, currentContentInsetEnd - i6); if (shouldLayout(this.mExpandedActionView)) { max2 += measureChildCollapseMargins(this.mExpandedActionView, i, max2, i2, 0, iArr); i4 = Math.max(i4, this.mExpandedActionView.getMeasuredHeight() + getVerticalMargins(this.mExpandedActionView)); i5 = View.combineMeasuredStates(i5, this.mExpandedActionView.getMeasuredState()); } if (shouldLayout(this.mLogoView)) { max2 += measureChildCollapseMargins(this.mLogoView, i, max2, i2, 0, iArr); i4 = Math.max(i4, this.mLogoView.getMeasuredHeight() + getVerticalMargins(this.mLogoView)); i5 = View.combineMeasuredStates(i5, this.mLogoView.getMeasuredState()); } int childCount = getChildCount(); for (int i11 = 0; i11 < childCount; i11++) { View childAt = getChildAt(i11); if (((LayoutParams) childAt.getLayoutParams()).mViewType == 0 && shouldLayout(childAt)) { max2 += measureChildCollapseMargins(childAt, i, max2, i2, 0, iArr); i4 = Math.max(i4, childAt.getMeasuredHeight() + getVerticalMargins(childAt)); i5 = View.combineMeasuredStates(i5, childAt.getMeasuredState()); } } int i12 = this.mTitleMarginTop + this.mTitleMarginBottom; int i13 = this.mTitleMarginStart + this.mTitleMarginEnd; if (shouldLayout(this.mTitleTextView)) { measureChildCollapseMargins(this.mTitleTextView, i, max2 + i13, i2, i12, iArr); int measuredWidth = this.mTitleTextView.getMeasuredWidth() + getHorizontalMargins(this.mTitleTextView); i7 = this.mTitleTextView.getMeasuredHeight() + getVerticalMargins(this.mTitleTextView); i8 = View.combineMeasuredStates(i5, this.mTitleTextView.getMeasuredState()); i9 = measuredWidth; } else { i7 = 0; i8 = i5; i9 = 0; } if (shouldLayout(this.mSubtitleTextView)) { i9 = Math.max(i9, measureChildCollapseMargins(this.mSubtitleTextView, i, max2 + i13, i2, i7 + i12, iArr)); i7 += this.mSubtitleTextView.getMeasuredHeight() + getVerticalMargins(this.mSubtitleTextView); i8 = View.combineMeasuredStates(i8, this.mSubtitleTextView.getMeasuredState()); } setMeasuredDimension(View.resolveSizeAndState(Math.max(max2 + i9 + getPaddingLeft() + getPaddingRight(), getSuggestedMinimumWidth()), i, (-16777216) & i8), shouldCollapse() ? 0 : View.resolveSizeAndState(Math.max(Math.max(i4, i7) + getPaddingTop() + getPaddingBottom(), getSuggestedMinimumHeight()), i2, i8 << 16)); } /* JADX WARN: Removed duplicated region for block: B:109:0x01a5 */ /* JADX WARN: Removed duplicated region for block: B:114:0x0136 */ /* JADX WARN: Removed duplicated region for block: B:115:0x012f */ /* JADX WARN: Removed duplicated region for block: B:116:0x011c */ /* JADX WARN: Removed duplicated region for block: B:117:0x00ff */ /* JADX WARN: Removed duplicated region for block: B:13:0x0060 */ /* JADX WARN: Removed duplicated region for block: B:18:0x0077 */ /* JADX WARN: Removed duplicated region for block: B:23:0x00b4 */ /* JADX WARN: Removed duplicated region for block: B:28:0x00cb */ /* JADX WARN: Removed duplicated region for block: B:33:0x00e8 */ /* JADX WARN: Removed duplicated region for block: B:35:0x0104 */ /* JADX WARN: Removed duplicated region for block: B:42:0x02a1 A[LOOP:0: B:41:0x029f->B:42:0x02a1, LOOP_END] */ /* JADX WARN: Removed duplicated region for block: B:46:0x02c3 A[LOOP:1: B:45:0x02c1->B:46:0x02c3, LOOP_END] */ /* JADX WARN: Removed duplicated region for block: B:50:0x02ed */ /* JADX WARN: Removed duplicated region for block: B:55:0x02fc A[LOOP:2: B:54:0x02fa->B:55:0x02fc, LOOP_END] */ /* JADX WARN: Removed duplicated region for block: B:61:0x012c */ /* JADX WARN: Removed duplicated region for block: B:63:0x0133 */ /* JADX WARN: Removed duplicated region for block: B:71:0x0167 */ /* JADX WARN: Removed duplicated region for block: B:78:0x01b6 */ /* JADX WARN: Removed duplicated region for block: B:92:0x0227 */ @Override // android.view.ViewGroup, android.view.View /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public void onLayout(boolean r20, int r21, int r22, int r23, int r24) { /* Method dump skipped, instructions count: 785 To view this dump add '--comments-level debug' option */ throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.widget.Toolbar.onLayout(boolean, int, int, int, int):void"); } private int getViewListMeasuredWidth(List list, int[] iArr) { int i = iArr[0]; int i2 = iArr[1]; int size = list.size(); int i3 = 0; int i4 = 0; while (i3 < size) { View view = list.get(i3); LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); int i5 = ((ViewGroup.MarginLayoutParams) layoutParams).leftMargin - i; int i6 = ((ViewGroup.MarginLayoutParams) layoutParams).rightMargin - i2; int max = Math.max(0, i5); int max2 = Math.max(0, i6); int max3 = Math.max(0, -i5); int max4 = Math.max(0, -i6); i4 += max + view.getMeasuredWidth() + max2; i3++; i2 = max4; i = max3; } return i4; } private int layoutChildLeft(View view, int i, int[] iArr, int i2) { LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); int i3 = ((ViewGroup.MarginLayoutParams) layoutParams).leftMargin - iArr[0]; int max = i + Math.max(0, i3); iArr[0] = Math.max(0, -i3); int childTop = getChildTop(view, i2); int measuredWidth = view.getMeasuredWidth(); view.layout(max, childTop, max + measuredWidth, view.getMeasuredHeight() + childTop); return max + measuredWidth + ((ViewGroup.MarginLayoutParams) layoutParams).rightMargin; } private int layoutChildRight(View view, int i, int[] iArr, int i2) { LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); int i3 = ((ViewGroup.MarginLayoutParams) layoutParams).rightMargin - iArr[1]; int max = i - Math.max(0, i3); iArr[1] = Math.max(0, -i3); int childTop = getChildTop(view, i2); int measuredWidth = view.getMeasuredWidth(); view.layout(max - measuredWidth, childTop, max, view.getMeasuredHeight() + childTop); return max - (measuredWidth + ((ViewGroup.MarginLayoutParams) layoutParams).leftMargin); } private int getChildTop(View view, int i) { LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); int measuredHeight = view.getMeasuredHeight(); int i2 = i > 0 ? (measuredHeight - i) / 2 : 0; int childVerticalGravity = getChildVerticalGravity(layoutParams.gravity); if (childVerticalGravity == 48) { return getPaddingTop() - i2; } if (childVerticalGravity == 80) { return (((getHeight() - getPaddingBottom()) - measuredHeight) - ((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin) - i2; } int paddingTop = getPaddingTop(); int paddingBottom = getPaddingBottom(); int height = getHeight(); int i3 = (((height - paddingTop) - paddingBottom) - measuredHeight) / 2; int i4 = ((ViewGroup.MarginLayoutParams) layoutParams).topMargin; if (i3 < i4) { i3 = i4; } else { int i5 = (((height - paddingBottom) - measuredHeight) - i3) - paddingTop; int i6 = ((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin; if (i5 < i6) { i3 = Math.max(0, i3 - (i6 - i5)); } } return paddingTop + i3; } private void addCustomViewsWithGravity(List list, int i) { boolean z = getLayoutDirection() == 1; int childCount = getChildCount(); int absoluteGravity = GravityCompat.getAbsoluteGravity(i, getLayoutDirection()); list.clear(); if (!z) { for (int i2 = 0; i2 < childCount; i2++) { View childAt = getChildAt(i2); LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams(); if (layoutParams.mViewType == 0 && shouldLayout(childAt) && getChildHorizontalGravity(layoutParams.gravity) == absoluteGravity) { list.add(childAt); } } return; } for (int i3 = childCount - 1; i3 >= 0; i3--) { View childAt2 = getChildAt(i3); LayoutParams layoutParams2 = (LayoutParams) childAt2.getLayoutParams(); if (layoutParams2.mViewType == 0 && shouldLayout(childAt2) && getChildHorizontalGravity(layoutParams2.gravity) == absoluteGravity) { list.add(childAt2); } } } private int getChildHorizontalGravity(int i) { int layoutDirection = getLayoutDirection(); int absoluteGravity = GravityCompat.getAbsoluteGravity(i, layoutDirection) & 7; return (absoluteGravity == 1 || absoluteGravity == 3 || absoluteGravity == 5) ? absoluteGravity : layoutDirection == 1 ? 5 : 3; } private boolean shouldLayout(View view) { return (view == null || view.getParent() != this || view.getVisibility() == 8) ? false : true; } private int getHorizontalMargins(View view) { ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) view.getLayoutParams(); return marginLayoutParams.getMarginStart() + marginLayoutParams.getMarginEnd(); } private int getVerticalMargins(View view) { ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) view.getLayoutParams(); return marginLayoutParams.topMargin + marginLayoutParams.bottomMargin; } @Override // android.view.ViewGroup public LayoutParams generateLayoutParams(AttributeSet attributeSet) { return new LayoutParams(getContext(), attributeSet); } @Override // android.view.ViewGroup public LayoutParams generateLayoutParams(ViewGroup.LayoutParams layoutParams) { if (layoutParams instanceof LayoutParams) { return new LayoutParams((LayoutParams) layoutParams); } if (layoutParams instanceof ActionBar.LayoutParams) { return new LayoutParams((ActionBar.LayoutParams) layoutParams); } if (layoutParams instanceof ViewGroup.MarginLayoutParams) { return new LayoutParams((ViewGroup.MarginLayoutParams) layoutParams); } return new LayoutParams(layoutParams); } @Override // android.view.ViewGroup public LayoutParams generateDefaultLayoutParams() { return new LayoutParams(-2, -2); } @Override // android.view.ViewGroup public boolean checkLayoutParams(ViewGroup.LayoutParams layoutParams) { return super.checkLayoutParams(layoutParams) && (layoutParams instanceof LayoutParams); } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public DecorToolbar getWrapper() { if (this.mWrapper == null) { this.mWrapper = new ToolbarWidgetWrapper(this, true); } return this.mWrapper; } public void removeChildrenForExpandedActionView() { for (int childCount = getChildCount() - 1; childCount >= 0; childCount--) { View childAt = getChildAt(childCount); if (((LayoutParams) childAt.getLayoutParams()).mViewType != 2 && childAt != this.mMenuView) { removeViewAt(childCount); this.mHiddenViews.add(childAt); } } } public void addChildrenForExpandedActionView() { for (int size = this.mHiddenViews.size() - 1; size >= 0; size--) { addView(this.mHiddenViews.get(size)); } this.mHiddenViews.clear(); } private boolean isChildOrHidden(View view) { return view.getParent() == this || this.mHiddenViews.contains(view); } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public void setCollapsible(boolean z) { this.mCollapsible = z; requestLayout(); } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public void setMenuCallbacks(MenuPresenter.Callback callback, MenuBuilder.Callback callback2) { this.mActionMenuPresenterCallback = callback; this.mMenuBuilderCallback = callback2; ActionMenuView actionMenuView = this.mMenuView; if (actionMenuView != null) { actionMenuView.setMenuCallbacks(callback, callback2); } } private void ensureContentInsets() { if (this.mContentInsets == null) { this.mContentInsets = new RtlSpacingHelper(); } } private ArrayList getCurrentMenuItems() { ArrayList arrayList = new ArrayList<>(); Menu menu = getMenu(); for (int i = 0; i < menu.size(); i++) { arrayList.add(menu.getItem(i)); } return arrayList; } private void onCreateMenu() { Menu menu = getMenu(); ArrayList currentMenuItems = getCurrentMenuItems(); this.mMenuHostHelper.onCreateMenu(menu, getMenuInflater()); ArrayList currentMenuItems2 = getCurrentMenuItems(); currentMenuItems2.removeAll(currentMenuItems); this.mProvidedMenuItems = currentMenuItems2; } @Override // androidx.core.view.MenuHost @MainThread public void addMenuProvider(@NonNull MenuProvider menuProvider) { this.mMenuHostHelper.addMenuProvider(menuProvider); } @Override // androidx.core.view.MenuHost @MainThread public void addMenuProvider(@NonNull MenuProvider menuProvider, @NonNull LifecycleOwner lifecycleOwner) { this.mMenuHostHelper.addMenuProvider(menuProvider, lifecycleOwner); } @Override // androidx.core.view.MenuHost @SuppressLint({"LambdaLast"}) @MainThread public void addMenuProvider(@NonNull MenuProvider menuProvider, @NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.State state) { this.mMenuHostHelper.addMenuProvider(menuProvider, lifecycleOwner, state); } @Override // androidx.core.view.MenuHost @MainThread public void removeMenuProvider(@NonNull MenuProvider menuProvider) { this.mMenuHostHelper.removeMenuProvider(menuProvider); } @Override // androidx.core.view.MenuHost @MainThread public void invalidateMenu() { Iterator it = this.mProvidedMenuItems.iterator(); while (it.hasNext()) { getMenu().removeItem(it.next().getItemId()); } onCreateMenu(); } public void updateBackInvokedCallbackState() { OnBackInvokedDispatcher onBackInvokedDispatcher; if (Build.VERSION.SDK_INT >= 33) { OnBackInvokedDispatcher findOnBackInvokedDispatcher = Api33Impl.findOnBackInvokedDispatcher(this); boolean z = hasExpandedActionView() && findOnBackInvokedDispatcher != null && isAttachedToWindow() && this.mBackInvokedCallbackEnabled; if (z && this.mBackInvokedDispatcher == null) { if (this.mBackInvokedCallback == null) { this.mBackInvokedCallback = Api33Impl.newOnBackInvokedCallback(new Runnable() { // from class: androidx.appcompat.widget.Toolbar$$ExternalSyntheticLambda1 @Override // java.lang.Runnable public final void run() { Toolbar.this.collapseActionView(); } }); } Api33Impl.tryRegisterOnBackInvokedCallback(findOnBackInvokedDispatcher, this.mBackInvokedCallback); this.mBackInvokedDispatcher = findOnBackInvokedDispatcher; return; } if (z || (onBackInvokedDispatcher = this.mBackInvokedDispatcher) == null) { return; } Api33Impl.tryUnregisterOnBackInvokedCallback(onBackInvokedDispatcher, this.mBackInvokedCallback); this.mBackInvokedDispatcher = null; } } public static class LayoutParams extends ActionBar.LayoutParams { static final int CUSTOM = 0; static final int EXPANDED = 2; static final int SYSTEM = 1; int mViewType; public LayoutParams(@NonNull Context context, AttributeSet attributeSet) { super(context, attributeSet); this.mViewType = 0; } public LayoutParams(int i, int i2) { super(i, i2); this.mViewType = 0; this.gravity = 8388627; } public LayoutParams(int i, int i2, int i3) { super(i, i2); this.mViewType = 0; this.gravity = i3; } public LayoutParams(int i) { this(-2, -1, i); } public LayoutParams(LayoutParams layoutParams) { super((ActionBar.LayoutParams) layoutParams); this.mViewType = 0; this.mViewType = layoutParams.mViewType; } public LayoutParams(ActionBar.LayoutParams layoutParams) { super(layoutParams); this.mViewType = 0; } public LayoutParams(ViewGroup.MarginLayoutParams marginLayoutParams) { super(marginLayoutParams); this.mViewType = 0; copyMarginsFromCompat(marginLayoutParams); } public LayoutParams(ViewGroup.LayoutParams layoutParams) { super(layoutParams); this.mViewType = 0; } public void copyMarginsFromCompat(ViewGroup.MarginLayoutParams marginLayoutParams) { ((ViewGroup.MarginLayoutParams) this).leftMargin = marginLayoutParams.leftMargin; ((ViewGroup.MarginLayoutParams) this).topMargin = marginLayoutParams.topMargin; ((ViewGroup.MarginLayoutParams) this).rightMargin = marginLayoutParams.rightMargin; ((ViewGroup.MarginLayoutParams) this).bottomMargin = marginLayoutParams.bottomMargin; } } public static class SavedState extends AbsSavedState { public static final Parcelable.Creator CREATOR = new Parcelable.ClassLoaderCreator() { // from class: androidx.appcompat.widget.Toolbar.SavedState.1 /* JADX WARN: Can't rename method to resolve collision */ @Override // android.os.Parcelable.ClassLoaderCreator public SavedState createFromParcel(Parcel parcel, ClassLoader classLoader) { return new SavedState(parcel, classLoader); } @Override // android.os.Parcelable.Creator public SavedState createFromParcel(Parcel parcel) { return new SavedState(parcel, null); } @Override // android.os.Parcelable.Creator public SavedState[] newArray(int i) { return new SavedState[i]; } }; int expandedMenuItemId; boolean isOverflowOpen; public SavedState(Parcel parcel) { this(parcel, null); } public SavedState(Parcel parcel, ClassLoader classLoader) { super(parcel, classLoader); this.expandedMenuItemId = parcel.readInt(); this.isOverflowOpen = parcel.readInt() != 0; } public SavedState(Parcelable parcelable) { super(parcelable); } @Override // androidx.customview.view.AbsSavedState, android.os.Parcelable public void writeToParcel(Parcel parcel, int i) { super.writeToParcel(parcel, i); parcel.writeInt(this.expandedMenuItemId); parcel.writeInt(this.isOverflowOpen ? 1 : 0); } } public class ExpandedActionViewMenuPresenter implements MenuPresenter { MenuItemImpl mCurrentExpandedItem; MenuBuilder mMenu; @Override // androidx.appcompat.view.menu.MenuPresenter public boolean flagActionItems() { return false; } @Override // androidx.appcompat.view.menu.MenuPresenter public int getId() { return 0; } @Override // androidx.appcompat.view.menu.MenuPresenter public MenuView getMenuView(ViewGroup viewGroup) { return null; } @Override // androidx.appcompat.view.menu.MenuPresenter public void onCloseMenu(MenuBuilder menuBuilder, boolean z) { } @Override // androidx.appcompat.view.menu.MenuPresenter public void onRestoreInstanceState(Parcelable parcelable) { } @Override // androidx.appcompat.view.menu.MenuPresenter public Parcelable onSaveInstanceState() { return null; } @Override // androidx.appcompat.view.menu.MenuPresenter public boolean onSubMenuSelected(SubMenuBuilder subMenuBuilder) { return false; } @Override // androidx.appcompat.view.menu.MenuPresenter public void setCallback(MenuPresenter.Callback callback) { } public ExpandedActionViewMenuPresenter() { } @Override // androidx.appcompat.view.menu.MenuPresenter public void initForMenu(Context context, MenuBuilder menuBuilder) { MenuItemImpl menuItemImpl; MenuBuilder menuBuilder2 = this.mMenu; if (menuBuilder2 != null && (menuItemImpl = this.mCurrentExpandedItem) != null) { menuBuilder2.collapseItemActionView(menuItemImpl); } this.mMenu = menuBuilder; } @Override // androidx.appcompat.view.menu.MenuPresenter public void updateMenuView(boolean z) { if (this.mCurrentExpandedItem != null) { MenuBuilder menuBuilder = this.mMenu; if (menuBuilder != null) { int size = menuBuilder.size(); for (int i = 0; i < size; i++) { if (this.mMenu.getItem(i) == this.mCurrentExpandedItem) { return; } } } collapseItemActionView(this.mMenu, this.mCurrentExpandedItem); } } @Override // androidx.appcompat.view.menu.MenuPresenter public boolean expandItemActionView(MenuBuilder menuBuilder, MenuItemImpl menuItemImpl) { Toolbar.this.ensureCollapseButtonView(); ViewParent parent = Toolbar.this.mCollapseButtonView.getParent(); Toolbar toolbar = Toolbar.this; if (parent != toolbar) { if (parent instanceof ViewGroup) { ((ViewGroup) parent).removeView(toolbar.mCollapseButtonView); } Toolbar toolbar2 = Toolbar.this; toolbar2.addView(toolbar2.mCollapseButtonView); } Toolbar.this.mExpandedActionView = menuItemImpl.getActionView(); this.mCurrentExpandedItem = menuItemImpl; ViewParent parent2 = Toolbar.this.mExpandedActionView.getParent(); Toolbar toolbar3 = Toolbar.this; if (parent2 != toolbar3) { if (parent2 instanceof ViewGroup) { ((ViewGroup) parent2).removeView(toolbar3.mExpandedActionView); } LayoutParams generateDefaultLayoutParams = Toolbar.this.generateDefaultLayoutParams(); Toolbar toolbar4 = Toolbar.this; generateDefaultLayoutParams.gravity = (toolbar4.mButtonGravity & 112) | GravityCompat.START; generateDefaultLayoutParams.mViewType = 2; toolbar4.mExpandedActionView.setLayoutParams(generateDefaultLayoutParams); Toolbar toolbar5 = Toolbar.this; toolbar5.addView(toolbar5.mExpandedActionView); } Toolbar.this.removeChildrenForExpandedActionView(); Toolbar.this.requestLayout(); menuItemImpl.setActionViewExpanded(true); KeyEvent.Callback callback = Toolbar.this.mExpandedActionView; if (callback instanceof CollapsibleActionView) { ((CollapsibleActionView) callback).onActionViewExpanded(); } Toolbar.this.updateBackInvokedCallbackState(); return true; } @Override // androidx.appcompat.view.menu.MenuPresenter public boolean collapseItemActionView(MenuBuilder menuBuilder, MenuItemImpl menuItemImpl) { KeyEvent.Callback callback = Toolbar.this.mExpandedActionView; if (callback instanceof CollapsibleActionView) { ((CollapsibleActionView) callback).onActionViewCollapsed(); } Toolbar toolbar = Toolbar.this; toolbar.removeView(toolbar.mExpandedActionView); Toolbar toolbar2 = Toolbar.this; toolbar2.removeView(toolbar2.mCollapseButtonView); Toolbar toolbar3 = Toolbar.this; toolbar3.mExpandedActionView = null; toolbar3.addChildrenForExpandedActionView(); this.mCurrentExpandedItem = null; Toolbar.this.requestLayout(); menuItemImpl.setActionViewExpanded(false); Toolbar.this.updateBackInvokedCallbackState(); return true; } } @RequiresApi(33) public static class Api33Impl { private Api33Impl() { } @DoNotInline public static void tryRegisterOnBackInvokedCallback(@NonNull Object obj, @NonNull Object obj2) { ((OnBackInvokedDispatcher) obj).registerOnBackInvokedCallback(1000000, (OnBackInvokedCallback) obj2); } @DoNotInline public static void tryUnregisterOnBackInvokedCallback(@NonNull Object obj, @NonNull Object obj2) { ((OnBackInvokedDispatcher) obj).unregisterOnBackInvokedCallback((OnBackInvokedCallback) obj2); } @Nullable @DoNotInline public static OnBackInvokedDispatcher findOnBackInvokedDispatcher(@NonNull View view) { return view.findOnBackInvokedDispatcher(); } @NonNull @DoNotInline public static OnBackInvokedCallback newOnBackInvokedCallback(@NonNull final Runnable runnable) { Objects.requireNonNull(runnable); return new OnBackInvokedCallback() { // from class: androidx.appcompat.widget.Toolbar$Api33Impl$$ExternalSyntheticLambda0 public final void onBackInvoked() { runnable.run(); } }; } } }