mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
232 lines
9.3 KiB
Java
232 lines
9.3 KiB
Java
package androidx.appcompat.widget;
|
|
|
|
import android.content.Context;
|
|
import android.content.res.Configuration;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.transition.Transition;
|
|
import android.util.AttributeSet;
|
|
import android.view.KeyEvent;
|
|
import android.view.MenuItem;
|
|
import android.view.MotionEvent;
|
|
import android.widget.HeaderViewListAdapter;
|
|
import android.widget.ListAdapter;
|
|
import android.widget.PopupWindow;
|
|
import androidx.appcompat.view.menu.ListMenuItemView;
|
|
import androidx.appcompat.view.menu.MenuAdapter;
|
|
import androidx.appcompat.view.menu.MenuBuilder;
|
|
import androidx.appcompat.view.menu.MenuItemImpl;
|
|
import java.lang.reflect.Method;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class MenuPopupWindow extends ListPopupWindow implements MenuItemHoverListener {
|
|
private static final String TAG = "MenuPopupWindow";
|
|
private static Method sSetTouchModalMethod;
|
|
private MenuItemHoverListener mHoverListener;
|
|
|
|
public void setHoverListener(MenuItemHoverListener menuItemHoverListener) {
|
|
this.mHoverListener = menuItemHoverListener;
|
|
}
|
|
|
|
public MenuPopupWindow(Context context, AttributeSet attributeSet, int i, int i2) {
|
|
super(context, attributeSet, i, i2);
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.ListPopupWindow
|
|
DropDownListView createDropDownListView(Context context, boolean z) {
|
|
MenuDropDownListView menuDropDownListView = new MenuDropDownListView(context, z);
|
|
menuDropDownListView.setHoverListener(this);
|
|
return menuDropDownListView;
|
|
}
|
|
|
|
public void setEnterTransition(Object obj) {
|
|
Api23Impl.setEnterTransition(this.mPopup, (Transition) obj);
|
|
}
|
|
|
|
public void setExitTransition(Object obj) {
|
|
Api23Impl.setExitTransition(this.mPopup, (Transition) obj);
|
|
}
|
|
|
|
public void setTouchModal(boolean z) {
|
|
Api29Impl.setTouchModal(this.mPopup, z);
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.MenuItemHoverListener
|
|
public void onItemHoverEnter(MenuBuilder menuBuilder, MenuItem menuItem) {
|
|
MenuItemHoverListener menuItemHoverListener = this.mHoverListener;
|
|
if (menuItemHoverListener != null) {
|
|
menuItemHoverListener.onItemHoverEnter(menuBuilder, menuItem);
|
|
}
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.MenuItemHoverListener
|
|
public void onItemHoverExit(MenuBuilder menuBuilder, MenuItem menuItem) {
|
|
MenuItemHoverListener menuItemHoverListener = this.mHoverListener;
|
|
if (menuItemHoverListener != null) {
|
|
menuItemHoverListener.onItemHoverExit(menuBuilder, menuItem);
|
|
}
|
|
}
|
|
|
|
/* loaded from: classes.dex */
|
|
public static class MenuDropDownListView extends DropDownListView {
|
|
final int mAdvanceKey;
|
|
private MenuItemHoverListener mHoverListener;
|
|
private MenuItem mHoveredMenuItem;
|
|
final int mRetreatKey;
|
|
|
|
public void setHoverListener(MenuItemHoverListener menuItemHoverListener) {
|
|
this.mHoverListener = menuItemHoverListener;
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView, android.view.ViewGroup, android.view.View
|
|
public /* bridge */ /* synthetic */ boolean hasFocus() {
|
|
return super.hasFocus();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView, android.view.View
|
|
public /* bridge */ /* synthetic */ boolean hasWindowFocus() {
|
|
return super.hasWindowFocus();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView, android.view.View
|
|
public /* bridge */ /* synthetic */ boolean isFocused() {
|
|
return super.isFocused();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView, android.view.View
|
|
public /* bridge */ /* synthetic */ boolean isInTouchMode() {
|
|
return super.isInTouchMode();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView
|
|
public /* bridge */ /* synthetic */ int lookForSelectablePosition(int i, boolean z) {
|
|
return super.lookForSelectablePosition(i, z);
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView
|
|
public /* bridge */ /* synthetic */ int measureHeightOfChildrenCompat(int i, int i2, int i3, int i4, int i5) {
|
|
return super.measureHeightOfChildrenCompat(i, i2, i3, i4, i5);
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView
|
|
public /* bridge */ /* synthetic */ boolean onForwardedEvent(MotionEvent motionEvent, int i) {
|
|
return super.onForwardedEvent(motionEvent, i);
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView, android.widget.AbsListView, android.view.View
|
|
public /* bridge */ /* synthetic */ boolean onTouchEvent(MotionEvent motionEvent) {
|
|
return super.onTouchEvent(motionEvent);
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView, android.widget.AbsListView
|
|
public /* bridge */ /* synthetic */ void setSelector(Drawable drawable) {
|
|
super.setSelector(drawable);
|
|
}
|
|
|
|
public MenuDropDownListView(Context context, boolean z) {
|
|
super(context, z);
|
|
if (1 == Api17Impl.getLayoutDirection(context.getResources().getConfiguration())) {
|
|
this.mAdvanceKey = 21;
|
|
this.mRetreatKey = 22;
|
|
} else {
|
|
this.mAdvanceKey = 22;
|
|
this.mRetreatKey = 21;
|
|
}
|
|
}
|
|
|
|
public void clearSelection() {
|
|
setSelection(-1);
|
|
}
|
|
|
|
@Override // android.widget.ListView, android.widget.AbsListView, android.view.View, android.view.KeyEvent.Callback
|
|
public boolean onKeyDown(int i, KeyEvent keyEvent) {
|
|
MenuAdapter menuAdapter;
|
|
ListMenuItemView listMenuItemView = (ListMenuItemView) getSelectedView();
|
|
if (listMenuItemView != null && i == this.mAdvanceKey) {
|
|
if (listMenuItemView.isEnabled() && listMenuItemView.getItemData().hasSubMenu()) {
|
|
performItemClick(listMenuItemView, getSelectedItemPosition(), getSelectedItemId());
|
|
}
|
|
return true;
|
|
}
|
|
if (listMenuItemView != null && i == this.mRetreatKey) {
|
|
setSelection(-1);
|
|
ListAdapter adapter = getAdapter();
|
|
if (adapter instanceof HeaderViewListAdapter) {
|
|
menuAdapter = (MenuAdapter) ((HeaderViewListAdapter) adapter).getWrappedAdapter();
|
|
} else {
|
|
menuAdapter = (MenuAdapter) adapter;
|
|
}
|
|
menuAdapter.getAdapterMenu().close(false);
|
|
return true;
|
|
}
|
|
return super.onKeyDown(i, keyEvent);
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.DropDownListView, android.view.View
|
|
public boolean onHoverEvent(MotionEvent motionEvent) {
|
|
MenuAdapter menuAdapter;
|
|
int i;
|
|
int pointToPosition;
|
|
int i2;
|
|
if (this.mHoverListener != null) {
|
|
ListAdapter adapter = getAdapter();
|
|
if (adapter instanceof HeaderViewListAdapter) {
|
|
HeaderViewListAdapter headerViewListAdapter = (HeaderViewListAdapter) adapter;
|
|
i = headerViewListAdapter.getHeadersCount();
|
|
menuAdapter = (MenuAdapter) headerViewListAdapter.getWrappedAdapter();
|
|
} else {
|
|
menuAdapter = (MenuAdapter) adapter;
|
|
i = 0;
|
|
}
|
|
MenuItemImpl item = (motionEvent.getAction() == 10 || (pointToPosition = pointToPosition((int) motionEvent.getX(), (int) motionEvent.getY())) == -1 || (i2 = pointToPosition - i) < 0 || i2 >= menuAdapter.getCount()) ? null : menuAdapter.getItem(i2);
|
|
MenuItem menuItem = this.mHoveredMenuItem;
|
|
if (menuItem != item) {
|
|
MenuBuilder adapterMenu = menuAdapter.getAdapterMenu();
|
|
if (menuItem != null) {
|
|
this.mHoverListener.onItemHoverExit(adapterMenu, menuItem);
|
|
}
|
|
this.mHoveredMenuItem = item;
|
|
if (item != null) {
|
|
this.mHoverListener.onItemHoverEnter(adapterMenu, item);
|
|
}
|
|
}
|
|
}
|
|
return super.onHoverEvent(motionEvent);
|
|
}
|
|
|
|
/* loaded from: classes.dex */
|
|
static class Api17Impl {
|
|
private Api17Impl() {
|
|
}
|
|
|
|
static int getLayoutDirection(Configuration configuration) {
|
|
return configuration.getLayoutDirection();
|
|
}
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* loaded from: classes.dex */
|
|
public static class Api23Impl {
|
|
private Api23Impl() {
|
|
}
|
|
|
|
static void setEnterTransition(PopupWindow popupWindow, Transition transition) {
|
|
popupWindow.setEnterTransition(transition);
|
|
}
|
|
|
|
static void setExitTransition(PopupWindow popupWindow, Transition transition) {
|
|
popupWindow.setExitTransition(transition);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* loaded from: classes.dex */
|
|
public static class Api29Impl {
|
|
private Api29Impl() {
|
|
}
|
|
|
|
static void setTouchModal(PopupWindow popupWindow, boolean z) {
|
|
popupWindow.setTouchModal(z);
|
|
}
|
|
}
|
|
}
|