mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
1696 lines
69 KiB
Java
1696 lines
69 KiB
Java
package androidx.appcompat.widget;
|
|
|
|
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.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.widget.ImageButton;
|
|
import android.widget.ImageView;
|
|
import android.widget.TextView;
|
|
import android.window.OnBackInvokedCallback;
|
|
import android.window.OnBackInvokedDispatcher;
|
|
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.MarginLayoutParamsCompat;
|
|
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<View> 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<MenuItem> mProvidedMenuItems;
|
|
private final Runnable mShowOverflowMenuRunnable;
|
|
private CharSequence mSubtitleText;
|
|
private int mSubtitleTextAppearance;
|
|
private ColorStateList mSubtitleTextColor;
|
|
private TextView mSubtitleTextView;
|
|
private final int[] mTempMargins;
|
|
private final ArrayList<View> 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;
|
|
|
|
/* loaded from: classes.dex */
|
|
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;
|
|
}
|
|
|
|
View getNavButtonView() {
|
|
return this.mNavButtonView;
|
|
}
|
|
|
|
ActionMenuPresenter getOuterActionMenuPresenter() {
|
|
return this.mOuterActionMenuPresenter;
|
|
}
|
|
|
|
Context getPopupContext() {
|
|
return this.mPopupContext;
|
|
}
|
|
|
|
public int getPopupTheme() {
|
|
return this.mPopupTheme;
|
|
}
|
|
|
|
public CharSequence getSubtitle() {
|
|
return this.mSubtitleText;
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
final TextView getTitleTextView() {
|
|
return this.mTitleTextView;
|
|
}
|
|
|
|
public boolean isBackInvokedCallbackEnabled() {
|
|
return this.mBackInvokedCallbackEnabled;
|
|
}
|
|
|
|
public void setOnMenuItemClickListener(OnMenuItemClickListener onMenuItemClickListener) {
|
|
this.mOnMenuItemClickListener = onMenuItemClickListener;
|
|
}
|
|
|
|
public Toolbar(Context context) {
|
|
this(context, null);
|
|
}
|
|
|
|
public Toolbar(Context context, AttributeSet attributeSet) {
|
|
this(context, attributeSet, R.attr.toolbarStyle);
|
|
}
|
|
|
|
public Toolbar(Context context, 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;
|
|
}
|
|
if (Toolbar.this.mOnMenuItemClickListener != null) {
|
|
return Toolbar.this.mOnMenuItemClickListener.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(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(int i) {
|
|
setLogo(AppCompatResources.getDrawable(getContext(), i));
|
|
}
|
|
|
|
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();
|
|
}
|
|
|
|
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();
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
|
|
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(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(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(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, int i) {
|
|
this.mTitleTextAppearance = i;
|
|
TextView textView = this.mTitleTextView;
|
|
if (textView != null) {
|
|
textView.setTextAppearance(context, i);
|
|
}
|
|
}
|
|
|
|
public void setSubtitleTextAppearance(Context context, int i) {
|
|
this.mSubtitleTextAppearance = i;
|
|
TextView textView = this.mSubtitleTextView;
|
|
if (textView != null) {
|
|
textView.setTextAppearance(context, i);
|
|
}
|
|
}
|
|
|
|
public void setTitleTextColor(int i) {
|
|
setTitleTextColor(ColorStateList.valueOf(i));
|
|
}
|
|
|
|
public void setTitleTextColor(ColorStateList colorStateList) {
|
|
this.mTitleTextColor = colorStateList;
|
|
TextView textView = this.mTitleTextView;
|
|
if (textView != null) {
|
|
textView.setTextColor(colorStateList);
|
|
}
|
|
}
|
|
|
|
public void setSubtitleTextColor(int i) {
|
|
setSubtitleTextColor(ColorStateList.valueOf(i));
|
|
}
|
|
|
|
public void setSubtitleTextColor(ColorStateList colorStateList) {
|
|
this.mSubtitleTextColor = colorStateList;
|
|
TextView textView = this.mSubtitleTextView;
|
|
if (textView != null) {
|
|
textView.setTextColor(colorStateList);
|
|
}
|
|
}
|
|
|
|
public CharSequence getNavigationContentDescription() {
|
|
ImageButton imageButton = this.mNavButtonView;
|
|
if (imageButton != null) {
|
|
return imageButton.getContentDescription();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public void setNavigationContentDescription(int i) {
|
|
setNavigationContentDescription(i != 0 ? getContext().getText(i) : null);
|
|
}
|
|
|
|
public void setNavigationContentDescription(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(int i) {
|
|
setNavigationIcon(AppCompatResources.getDrawable(getContext(), i));
|
|
}
|
|
|
|
public void setNavigationIcon(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);
|
|
}
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
public CharSequence getCollapseContentDescription() {
|
|
ImageButton imageButton = this.mCollapseButtonView;
|
|
if (imageButton != null) {
|
|
return imageButton.getContentDescription();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public void setCollapseContentDescription(int i) {
|
|
setCollapseContentDescription(i != 0 ? getContext().getText(i) : null);
|
|
}
|
|
|
|
public void setCollapseContentDescription(CharSequence charSequence) {
|
|
if (!TextUtils.isEmpty(charSequence)) {
|
|
ensureCollapseButtonView();
|
|
}
|
|
ImageButton imageButton = this.mCollapseButtonView;
|
|
if (imageButton != null) {
|
|
imageButton.setContentDescription(charSequence);
|
|
}
|
|
}
|
|
|
|
public Drawable getCollapseIcon() {
|
|
ImageButton imageButton = this.mCollapseButtonView;
|
|
if (imageButton != null) {
|
|
return imageButton.getDrawable();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public void setCollapseIcon(int i) {
|
|
setCollapseIcon(AppCompatResources.getDrawable(getContext(), i));
|
|
}
|
|
|
|
public void setCollapseIcon(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(Drawable drawable) {
|
|
ensureMenu();
|
|
this.mMenuView.setOverflowIcon(drawable);
|
|
}
|
|
|
|
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(MenuBuilder menuBuilder, MenuItem menuItem) {
|
|
return Toolbar.this.mMenuBuilderCallback != null && Toolbar.this.mMenuBuilderCallback.onMenuItemSelected(menuBuilder, menuItem);
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuBuilder.Callback
|
|
public void onMenuModeChange(MenuBuilder menuBuilder) {
|
|
if (!Toolbar.this.mMenuView.isOverflowMenuShowing()) {
|
|
Toolbar.this.mMenuHostHelper.onPrepareMenu(menuBuilder);
|
|
}
|
|
if (Toolbar.this.mMenuBuilderCallback != null) {
|
|
Toolbar.this.mMenuBuilderCallback.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(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 (ViewCompat.getLayoutDirection(this) == 1) {
|
|
return getCurrentContentInsetEnd();
|
|
}
|
|
return getCurrentContentInsetStart();
|
|
}
|
|
|
|
public int getCurrentContentInsetRight() {
|
|
if (ViewCompat.getLayoutDirection(this) == 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);
|
|
}
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
@Override // android.view.View
|
|
public Parcelable onSaveInstanceState() {
|
|
SavedState savedState = new SavedState(super.onSaveInstanceState());
|
|
ExpandedActionViewMenuPresenter expandedActionViewMenuPresenter = this.mExpandedMenuPresenter;
|
|
if (expandedActionViewMenuPresenter != null && expandedActionViewMenuPresenter.mCurrentExpandedItem != null) {
|
|
savedState.expandedMenuItemId = this.mExpandedMenuPresenter.mCurrentExpandedItem.getItemId();
|
|
}
|
|
savedState.isOverflowOpen = isOverflowMenuShowing();
|
|
return savedState;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
@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;
|
|
if (savedState.expandedMenuItemId != 0 && this.mExpandedMenuPresenter != null && peekMenu != null && (findItem = peekMenu.findItem(savedState.expandedMenuItemId)) != null) {
|
|
findItem.expandActionView();
|
|
}
|
|
if (savedState.isOverflowOpen) {
|
|
postShowOverflowMenu();
|
|
}
|
|
}
|
|
|
|
private void postShowOverflowMenu() {
|
|
removeCallbacks(this.mShowOverflowMenuRunnable);
|
|
post(this.mShowOverflowMenuRunnable);
|
|
}
|
|
|
|
@Override // android.view.ViewGroup, android.view.View
|
|
protected void onDetachedFromWindow() {
|
|
super.onDetachedFromWindow();
|
|
removeCallbacks(this.mShowOverflowMenuRunnable);
|
|
updateBackInvokedCallbackState();
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
@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 = getChildMeasureSpec(i, getPaddingLeft() + getPaddingRight() + marginLayoutParams.leftMargin + marginLayoutParams.rightMargin + i2, marginLayoutParams.width);
|
|
int childMeasureSpec2 = 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(getChildMeasureSpec(i, getPaddingLeft() + getPaddingRight() + max + i2, marginLayoutParams.width), 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;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
@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 INFO: Access modifiers changed from: protected */
|
|
/* JADX WARN: Removed duplicated region for block: B:106:0x01a5 */
|
|
/* JADX WARN: Removed duplicated region for block: B:111:0x0135 */
|
|
/* JADX WARN: Removed duplicated region for block: B:112:0x012e */
|
|
/* JADX WARN: Removed duplicated region for block: B:113:0x011b */
|
|
/* JADX WARN: Removed duplicated region for block: B:114:0x00fe */
|
|
/* JADX WARN: Removed duplicated region for block: B:13:0x005f */
|
|
/* JADX WARN: Removed duplicated region for block: B:18:0x0076 */
|
|
/* JADX WARN: Removed duplicated region for block: B:23:0x00b3 */
|
|
/* JADX WARN: Removed duplicated region for block: B:28:0x00ca */
|
|
/* JADX WARN: Removed duplicated region for block: B:33:0x00e7 */
|
|
/* JADX WARN: Removed duplicated region for block: B:35:0x0103 */
|
|
/* JADX WARN: Removed duplicated region for block: B:42:0x029e A[LOOP:0: B:41:0x029c->B:42:0x029e, LOOP_END] */
|
|
/* JADX WARN: Removed duplicated region for block: B:46:0x02c0 A[LOOP:1: B:45:0x02be->B:46:0x02c0, LOOP_END] */
|
|
/* JADX WARN: Removed duplicated region for block: B:50:0x02ea */
|
|
/* JADX WARN: Removed duplicated region for block: B:55:0x02f9 A[LOOP:2: B:54:0x02f7->B:55:0x02f9, LOOP_END] */
|
|
/* JADX WARN: Removed duplicated region for block: B:61:0x012b */
|
|
/* JADX WARN: Removed duplicated region for block: B:63:0x0132 */
|
|
/* JADX WARN: Removed duplicated region for block: B:71:0x0166 */
|
|
/* JADX WARN: Removed duplicated region for block: B:78:0x01b4 */
|
|
/* JADX WARN: Removed duplicated region for block: B:90:0x0224 */
|
|
@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: 782
|
|
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<View> 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 = layoutParams.leftMargin - i;
|
|
int i6 = 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 = 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 + layoutParams.rightMargin;
|
|
}
|
|
|
|
private int layoutChildRight(View view, int i, int[] iArr, int i2) {
|
|
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
|
|
int i3 = 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 + 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) - layoutParams.bottomMargin) - i2;
|
|
}
|
|
int paddingTop = getPaddingTop();
|
|
int paddingBottom = getPaddingBottom();
|
|
int height = getHeight();
|
|
int i3 = (((height - paddingTop) - paddingBottom) - measuredHeight) / 2;
|
|
if (i3 < layoutParams.topMargin) {
|
|
i3 = layoutParams.topMargin;
|
|
} else {
|
|
int i4 = (((height - paddingBottom) - measuredHeight) - i3) - paddingTop;
|
|
if (i4 < layoutParams.bottomMargin) {
|
|
i3 = Math.max(0, i3 - (layoutParams.bottomMargin - i4));
|
|
}
|
|
}
|
|
return paddingTop + i3;
|
|
}
|
|
|
|
private void addCustomViewsWithGravity(List<View> list, int i) {
|
|
boolean z = ViewCompat.getLayoutDirection(this) == 1;
|
|
int childCount = getChildCount();
|
|
int absoluteGravity = GravityCompat.getAbsoluteGravity(i, ViewCompat.getLayoutDirection(this));
|
|
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 = ViewCompat.getLayoutDirection(this);
|
|
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 MarginLayoutParamsCompat.getMarginStart(marginLayoutParams) + MarginLayoutParamsCompat.getMarginEnd(marginLayoutParams);
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
@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);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
@Override // android.view.ViewGroup
|
|
public LayoutParams generateDefaultLayoutParams() {
|
|
return new LayoutParams(-2, -2);
|
|
}
|
|
|
|
@Override // android.view.ViewGroup
|
|
protected boolean checkLayoutParams(ViewGroup.LayoutParams layoutParams) {
|
|
return super.checkLayoutParams(layoutParams) && (layoutParams instanceof LayoutParams);
|
|
}
|
|
|
|
public DecorToolbar getWrapper() {
|
|
if (this.mWrapper == null) {
|
|
this.mWrapper = new ToolbarWidgetWrapper(this, true);
|
|
}
|
|
return this.mWrapper;
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
public void setCollapsible(boolean z) {
|
|
this.mCollapsible = z;
|
|
requestLayout();
|
|
}
|
|
|
|
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<MenuItem> getCurrentMenuItems() {
|
|
ArrayList<MenuItem> 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<MenuItem> currentMenuItems = getCurrentMenuItems();
|
|
this.mMenuHostHelper.onCreateMenu(menu, getMenuInflater());
|
|
ArrayList<MenuItem> currentMenuItems2 = getCurrentMenuItems();
|
|
currentMenuItems2.removeAll(currentMenuItems);
|
|
this.mProvidedMenuItems = currentMenuItems2;
|
|
}
|
|
|
|
@Override // androidx.core.view.MenuHost
|
|
public void addMenuProvider(MenuProvider menuProvider) {
|
|
this.mMenuHostHelper.addMenuProvider(menuProvider);
|
|
}
|
|
|
|
@Override // androidx.core.view.MenuHost
|
|
public void addMenuProvider(MenuProvider menuProvider, LifecycleOwner lifecycleOwner) {
|
|
this.mMenuHostHelper.addMenuProvider(menuProvider, lifecycleOwner);
|
|
}
|
|
|
|
@Override // androidx.core.view.MenuHost
|
|
public void addMenuProvider(MenuProvider menuProvider, LifecycleOwner lifecycleOwner, Lifecycle.State state) {
|
|
this.mMenuHostHelper.addMenuProvider(menuProvider, lifecycleOwner, state);
|
|
}
|
|
|
|
@Override // androidx.core.view.MenuHost
|
|
public void removeMenuProvider(MenuProvider menuProvider) {
|
|
this.mMenuHostHelper.removeMenuProvider(menuProvider);
|
|
}
|
|
|
|
@Override // androidx.core.view.MenuHost
|
|
public void invalidateMenu() {
|
|
Iterator<MenuItem> it = this.mProvidedMenuItems.iterator();
|
|
while (it.hasNext()) {
|
|
getMenu().removeItem(it.next().getItemId());
|
|
}
|
|
onCreateMenu();
|
|
}
|
|
|
|
void updateBackInvokedCallbackState() {
|
|
OnBackInvokedDispatcher onBackInvokedDispatcher;
|
|
if (Build.VERSION.SDK_INT >= 33) {
|
|
OnBackInvokedDispatcher findOnBackInvokedDispatcher = Api33Impl.findOnBackInvokedDispatcher(this);
|
|
boolean z = hasExpandedActionView() && findOnBackInvokedDispatcher != null && ViewCompat.isAttachedToWindow(this) && 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;
|
|
}
|
|
}
|
|
|
|
/* loaded from: classes.dex */
|
|
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(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;
|
|
}
|
|
|
|
void copyMarginsFromCompat(ViewGroup.MarginLayoutParams marginLayoutParams) {
|
|
this.leftMargin = marginLayoutParams.leftMargin;
|
|
this.topMargin = marginLayoutParams.topMargin;
|
|
this.rightMargin = marginLayoutParams.rightMargin;
|
|
this.bottomMargin = marginLayoutParams.bottomMargin;
|
|
}
|
|
}
|
|
|
|
/* loaded from: classes.dex */
|
|
public static class SavedState extends AbsSavedState {
|
|
public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.ClassLoaderCreator<SavedState>() { // 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);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
/* loaded from: classes.dex */
|
|
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) {
|
|
}
|
|
|
|
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();
|
|
generateDefaultLayoutParams.gravity = (Toolbar.this.mButtonGravity & 112) | GravityCompat.START;
|
|
generateDefaultLayoutParams.mViewType = 2;
|
|
Toolbar.this.mExpandedActionView.setLayoutParams(generateDefaultLayoutParams);
|
|
Toolbar toolbar4 = Toolbar.this;
|
|
toolbar4.addView(toolbar4.mExpandedActionView);
|
|
}
|
|
Toolbar.this.removeChildrenForExpandedActionView();
|
|
Toolbar.this.requestLayout();
|
|
menuItemImpl.setActionViewExpanded(true);
|
|
if (Toolbar.this.mExpandedActionView instanceof CollapsibleActionView) {
|
|
((CollapsibleActionView) Toolbar.this.mExpandedActionView).onActionViewExpanded();
|
|
}
|
|
Toolbar.this.updateBackInvokedCallbackState();
|
|
return true;
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuPresenter
|
|
public boolean collapseItemActionView(MenuBuilder menuBuilder, MenuItemImpl menuItemImpl) {
|
|
if (Toolbar.this.mExpandedActionView instanceof CollapsibleActionView) {
|
|
((CollapsibleActionView) Toolbar.this.mExpandedActionView).onActionViewCollapsed();
|
|
}
|
|
Toolbar toolbar = Toolbar.this;
|
|
toolbar.removeView(toolbar.mExpandedActionView);
|
|
Toolbar toolbar2 = Toolbar.this;
|
|
toolbar2.removeView(toolbar2.mCollapseButtonView);
|
|
Toolbar.this.mExpandedActionView = null;
|
|
Toolbar.this.addChildrenForExpandedActionView();
|
|
this.mCurrentExpandedItem = null;
|
|
Toolbar.this.requestLayout();
|
|
menuItemImpl.setActionViewExpanded(false);
|
|
Toolbar.this.updateBackInvokedCallbackState();
|
|
return true;
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* loaded from: classes.dex */
|
|
public static class Api33Impl {
|
|
private Api33Impl() {
|
|
}
|
|
|
|
static void tryRegisterOnBackInvokedCallback(Object obj, Object obj2) {
|
|
((OnBackInvokedDispatcher) obj).registerOnBackInvokedCallback(1000000, (OnBackInvokedCallback) obj2);
|
|
}
|
|
|
|
static void tryUnregisterOnBackInvokedCallback(Object obj, Object obj2) {
|
|
((OnBackInvokedDispatcher) obj).unregisterOnBackInvokedCallback((OnBackInvokedCallback) obj2);
|
|
}
|
|
|
|
static OnBackInvokedDispatcher findOnBackInvokedDispatcher(View view) {
|
|
return view.findOnBackInvokedDispatcher();
|
|
}
|
|
|
|
static OnBackInvokedCallback newOnBackInvokedCallback(final Runnable runnable) {
|
|
Objects.requireNonNull(runnable);
|
|
return new OnBackInvokedCallback() { // from class: androidx.appcompat.widget.Toolbar$Api33Impl$$ExternalSyntheticLambda0
|
|
@Override // android.window.OnBackInvokedCallback
|
|
public final void onBackInvoked() {
|
|
runnable.run();
|
|
}
|
|
};
|
|
}
|
|
}
|
|
}
|