mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-26 17:12:31 -06:00
266 lines
10 KiB
Java
266 lines
10 KiB
Java
package com.google.android.material.internal;
|
|
|
|
import android.R;
|
|
import android.content.Context;
|
|
import android.content.res.ColorStateList;
|
|
import android.graphics.drawable.ColorDrawable;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.graphics.drawable.StateListDrawable;
|
|
import android.util.AttributeSet;
|
|
import android.util.TypedValue;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.view.ViewStub;
|
|
import android.widget.CheckedTextView;
|
|
import android.widget.FrameLayout;
|
|
import androidx.appcompat.view.menu.MenuItemImpl;
|
|
import androidx.appcompat.view.menu.MenuView;
|
|
import androidx.appcompat.widget.LinearLayoutCompat;
|
|
import androidx.appcompat.widget.TooltipCompat;
|
|
import androidx.core.content.res.ResourcesCompat;
|
|
import androidx.core.graphics.drawable.DrawableCompat;
|
|
import androidx.core.view.AccessibilityDelegateCompat;
|
|
import androidx.core.view.ViewCompat;
|
|
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
|
|
import androidx.core.widget.TextViewCompat;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class NavigationMenuItemView extends ForegroundLinearLayout implements MenuView.ItemView {
|
|
private static final int[] CHECKED_STATE_SET = {R.attr.state_checked};
|
|
private final AccessibilityDelegateCompat accessibilityDelegate;
|
|
private FrameLayout actionArea;
|
|
boolean checkable;
|
|
private Drawable emptyDrawable;
|
|
private boolean hasIconTintList;
|
|
private int iconSize;
|
|
private ColorStateList iconTintList;
|
|
boolean isBold;
|
|
private MenuItemImpl itemData;
|
|
private boolean needsEmptyIcon;
|
|
private final CheckedTextView textView;
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuView.ItemView
|
|
public MenuItemImpl getItemData() {
|
|
return this.itemData;
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuView.ItemView
|
|
public boolean prefersCondensedTitle() {
|
|
return false;
|
|
}
|
|
|
|
public void setIconSize(int i) {
|
|
this.iconSize = i;
|
|
}
|
|
|
|
public void setNeedsEmptyIcon(boolean z) {
|
|
this.needsEmptyIcon = z;
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuView.ItemView
|
|
public void setShortcut(boolean z, char c) {
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuView.ItemView
|
|
public boolean showsIcon() {
|
|
return true;
|
|
}
|
|
|
|
public NavigationMenuItemView(Context context) {
|
|
this(context, null);
|
|
}
|
|
|
|
public NavigationMenuItemView(Context context, AttributeSet attributeSet) {
|
|
this(context, attributeSet, 0);
|
|
}
|
|
|
|
public NavigationMenuItemView(Context context, AttributeSet attributeSet, int i) {
|
|
super(context, attributeSet, i);
|
|
this.isBold = true;
|
|
AccessibilityDelegateCompat accessibilityDelegateCompat = new AccessibilityDelegateCompat() { // from class: com.google.android.material.internal.NavigationMenuItemView.1
|
|
@Override // androidx.core.view.AccessibilityDelegateCompat
|
|
public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) {
|
|
super.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfoCompat);
|
|
accessibilityNodeInfoCompat.setCheckable(NavigationMenuItemView.this.checkable);
|
|
}
|
|
};
|
|
this.accessibilityDelegate = accessibilityDelegateCompat;
|
|
setOrientation(0);
|
|
LayoutInflater.from(context).inflate(com.google.android.material.R.layout.design_navigation_menu_item, (ViewGroup) this, true);
|
|
setIconSize(context.getResources().getDimensionPixelSize(com.google.android.material.R.dimen.design_navigation_icon_size));
|
|
CheckedTextView checkedTextView = (CheckedTextView) findViewById(com.google.android.material.R.id.design_menu_item_text);
|
|
this.textView = checkedTextView;
|
|
checkedTextView.setDuplicateParentStateEnabled(true);
|
|
ViewCompat.setAccessibilityDelegate(checkedTextView, accessibilityDelegateCompat);
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuView.ItemView
|
|
public void initialize(MenuItemImpl menuItemImpl, int i) {
|
|
this.itemData = menuItemImpl;
|
|
if (menuItemImpl.getItemId() > 0) {
|
|
setId(menuItemImpl.getItemId());
|
|
}
|
|
setVisibility(menuItemImpl.isVisible() ? 0 : 8);
|
|
if (getBackground() == null) {
|
|
ViewCompat.setBackground(this, createDefaultBackground());
|
|
}
|
|
setCheckable(menuItemImpl.isCheckable());
|
|
setChecked(menuItemImpl.isChecked());
|
|
setEnabled(menuItemImpl.isEnabled());
|
|
setTitle(menuItemImpl.getTitle());
|
|
setIcon(menuItemImpl.getIcon());
|
|
setActionView(menuItemImpl.getActionView());
|
|
setContentDescription(menuItemImpl.getContentDescription());
|
|
TooltipCompat.setTooltipText(this, menuItemImpl.getTooltipText());
|
|
adjustAppearance();
|
|
}
|
|
|
|
public void initialize(MenuItemImpl menuItemImpl, boolean z) {
|
|
this.isBold = z;
|
|
initialize(menuItemImpl, 0);
|
|
}
|
|
|
|
private boolean shouldExpandActionArea() {
|
|
return this.itemData.getTitle() == null && this.itemData.getIcon() == null && this.itemData.getActionView() != null;
|
|
}
|
|
|
|
private void adjustAppearance() {
|
|
if (shouldExpandActionArea()) {
|
|
this.textView.setVisibility(8);
|
|
FrameLayout frameLayout = this.actionArea;
|
|
if (frameLayout != null) {
|
|
LinearLayoutCompat.LayoutParams layoutParams = (LinearLayoutCompat.LayoutParams) frameLayout.getLayoutParams();
|
|
layoutParams.width = -1;
|
|
this.actionArea.setLayoutParams(layoutParams);
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
this.textView.setVisibility(0);
|
|
FrameLayout frameLayout2 = this.actionArea;
|
|
if (frameLayout2 != null) {
|
|
LinearLayoutCompat.LayoutParams layoutParams2 = (LinearLayoutCompat.LayoutParams) frameLayout2.getLayoutParams();
|
|
layoutParams2.width = -2;
|
|
this.actionArea.setLayoutParams(layoutParams2);
|
|
}
|
|
}
|
|
|
|
public void recycle() {
|
|
FrameLayout frameLayout = this.actionArea;
|
|
if (frameLayout != null) {
|
|
frameLayout.removeAllViews();
|
|
}
|
|
this.textView.setCompoundDrawables(null, null, null, null);
|
|
}
|
|
|
|
private void setActionView(View view) {
|
|
if (view != null) {
|
|
if (this.actionArea == null) {
|
|
this.actionArea = (FrameLayout) ((ViewStub) findViewById(com.google.android.material.R.id.design_menu_item_action_area_stub)).inflate();
|
|
}
|
|
this.actionArea.removeAllViews();
|
|
this.actionArea.addView(view);
|
|
}
|
|
}
|
|
|
|
private StateListDrawable createDefaultBackground() {
|
|
TypedValue typedValue = new TypedValue();
|
|
if (!getContext().getTheme().resolveAttribute(androidx.appcompat.R.attr.colorControlHighlight, typedValue, true)) {
|
|
return null;
|
|
}
|
|
StateListDrawable stateListDrawable = new StateListDrawable();
|
|
stateListDrawable.addState(CHECKED_STATE_SET, new ColorDrawable(typedValue.data));
|
|
stateListDrawable.addState(EMPTY_STATE_SET, new ColorDrawable(0));
|
|
return stateListDrawable;
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuView.ItemView
|
|
public void setTitle(CharSequence charSequence) {
|
|
this.textView.setText(charSequence);
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuView.ItemView
|
|
public void setCheckable(boolean z) {
|
|
refreshDrawableState();
|
|
if (this.checkable != z) {
|
|
this.checkable = z;
|
|
this.accessibilityDelegate.sendAccessibilityEvent(this.textView, 2048);
|
|
}
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuView.ItemView
|
|
public void setChecked(boolean z) {
|
|
refreshDrawableState();
|
|
this.textView.setChecked(z);
|
|
CheckedTextView checkedTextView = this.textView;
|
|
checkedTextView.setTypeface(checkedTextView.getTypeface(), (z && this.isBold) ? 1 : 0);
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuView.ItemView
|
|
public void setIcon(Drawable drawable) {
|
|
if (drawable != null) {
|
|
if (this.hasIconTintList) {
|
|
Drawable.ConstantState constantState = drawable.getConstantState();
|
|
if (constantState != null) {
|
|
drawable = constantState.newDrawable();
|
|
}
|
|
drawable = DrawableCompat.wrap(drawable).mutate();
|
|
DrawableCompat.setTintList(drawable, this.iconTintList);
|
|
}
|
|
int i = this.iconSize;
|
|
drawable.setBounds(0, 0, i, i);
|
|
} else if (this.needsEmptyIcon) {
|
|
if (this.emptyDrawable == null) {
|
|
Drawable drawable2 = ResourcesCompat.getDrawable(getResources(), com.google.android.material.R.drawable.navigation_empty_icon, getContext().getTheme());
|
|
this.emptyDrawable = drawable2;
|
|
if (drawable2 != null) {
|
|
int i2 = this.iconSize;
|
|
drawable2.setBounds(0, 0, i2, i2);
|
|
}
|
|
}
|
|
drawable = this.emptyDrawable;
|
|
}
|
|
TextViewCompat.setCompoundDrawablesRelative(this.textView, drawable, null, null, null);
|
|
}
|
|
|
|
@Override // android.view.ViewGroup, android.view.View
|
|
protected int[] onCreateDrawableState(int i) {
|
|
int[] onCreateDrawableState = super.onCreateDrawableState(i + 1);
|
|
MenuItemImpl menuItemImpl = this.itemData;
|
|
if (menuItemImpl != null && menuItemImpl.isCheckable() && this.itemData.isChecked()) {
|
|
mergeDrawableStates(onCreateDrawableState, CHECKED_STATE_SET);
|
|
}
|
|
return onCreateDrawableState;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public void setIconTintList(ColorStateList colorStateList) {
|
|
this.iconTintList = colorStateList;
|
|
this.hasIconTintList = colorStateList != null;
|
|
MenuItemImpl menuItemImpl = this.itemData;
|
|
if (menuItemImpl != null) {
|
|
setIcon(menuItemImpl.getIcon());
|
|
}
|
|
}
|
|
|
|
public void setTextAppearance(int i) {
|
|
TextViewCompat.setTextAppearance(this.textView, i);
|
|
}
|
|
|
|
public void setTextColor(ColorStateList colorStateList) {
|
|
this.textView.setTextColor(colorStateList);
|
|
}
|
|
|
|
public void setHorizontalPadding(int i) {
|
|
setPadding(i, getPaddingTop(), i, getPaddingBottom());
|
|
}
|
|
|
|
public void setIconPadding(int i) {
|
|
this.textView.setCompoundDrawablePadding(i);
|
|
}
|
|
|
|
public void setMaxLines(int i) {
|
|
this.textView.setMaxLines(i);
|
|
}
|
|
}
|