discord-jadx/app/src/main/java/androidx/appcompat/app/ToolbarActionBar.java

570 lines
20 KiB
Java

package androidx.appcompat.app;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.SpinnerAdapter;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.view.WindowCallbackWrapper;
import androidx.appcompat.view.menu.MenuBuilder;
import androidx.appcompat.view.menu.MenuPresenter;
import androidx.appcompat.widget.DecorToolbar;
import androidx.appcompat.widget.Toolbar;
import androidx.appcompat.widget.ToolbarWidgetWrapper;
import androidx.core.view.ViewCompat;
import java.util.ArrayList;
public class ToolbarActionBar extends ActionBar {
public DecorToolbar mDecorToolbar;
private boolean mLastMenuVisibility;
private boolean mMenuCallbackSet;
private final Toolbar.OnMenuItemClickListener mMenuClicker;
private final Runnable mMenuInvalidator = new AnonymousClass1();
private ArrayList<ActionBar.OnMenuVisibilityListener> mMenuVisibilityListeners = new ArrayList<>();
public boolean mToolbarMenuPrepared;
public Window.Callback mWindowCallback;
/* renamed from: androidx.appcompat.app.ToolbarActionBar$1 reason: invalid class name */
public class AnonymousClass1 implements Runnable {
public AnonymousClass1() {
}
@Override // java.lang.Runnable
public void run() {
ToolbarActionBar.this.populateOptionsMenu();
}
}
/* renamed from: androidx.appcompat.app.ToolbarActionBar$2 reason: invalid class name */
public class AnonymousClass2 implements Toolbar.OnMenuItemClickListener {
public AnonymousClass2() {
}
@Override // androidx.appcompat.widget.Toolbar.OnMenuItemClickListener
public boolean onMenuItemClick(MenuItem menuItem) {
return ToolbarActionBar.this.mWindowCallback.onMenuItemSelected(0, menuItem);
}
}
public final class ActionMenuPresenterCallback implements MenuPresenter.Callback {
private boolean mClosingActionMenu;
public ActionMenuPresenterCallback() {
}
@Override // androidx.appcompat.view.menu.MenuPresenter.Callback
public void onCloseMenu(@NonNull MenuBuilder menuBuilder, boolean z2) {
if (!this.mClosingActionMenu) {
this.mClosingActionMenu = true;
ToolbarActionBar.this.mDecorToolbar.dismissPopupMenus();
Window.Callback callback = ToolbarActionBar.this.mWindowCallback;
if (callback != null) {
callback.onPanelClosed(108, menuBuilder);
}
this.mClosingActionMenu = false;
}
}
@Override // androidx.appcompat.view.menu.MenuPresenter.Callback
public boolean onOpenSubMenu(@NonNull MenuBuilder menuBuilder) {
Window.Callback callback = ToolbarActionBar.this.mWindowCallback;
if (callback == null) {
return false;
}
callback.onMenuOpened(108, menuBuilder);
return true;
}
}
public final class MenuBuilderCallback implements MenuBuilder.Callback {
public MenuBuilderCallback() {
}
@Override // androidx.appcompat.view.menu.MenuBuilder.Callback
public boolean onMenuItemSelected(@NonNull MenuBuilder menuBuilder, @NonNull MenuItem menuItem) {
return false;
}
@Override // androidx.appcompat.view.menu.MenuBuilder.Callback
public void onMenuModeChange(@NonNull MenuBuilder menuBuilder) {
ToolbarActionBar toolbarActionBar = ToolbarActionBar.this;
if (toolbarActionBar.mWindowCallback == null) {
return;
}
if (toolbarActionBar.mDecorToolbar.isOverflowMenuShowing()) {
ToolbarActionBar.this.mWindowCallback.onPanelClosed(108, menuBuilder);
} else if (ToolbarActionBar.this.mWindowCallback.onPreparePanel(0, null, menuBuilder)) {
ToolbarActionBar.this.mWindowCallback.onMenuOpened(108, menuBuilder);
}
}
}
public class ToolbarCallbackWrapper extends WindowCallbackWrapper {
public ToolbarCallbackWrapper(Window.Callback callback) {
super(callback);
}
@Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
public View onCreatePanelView(int i) {
return i == 0 ? new View(ToolbarActionBar.this.mDecorToolbar.getContext()) : super.onCreatePanelView(i);
}
@Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
public boolean onPreparePanel(int i, View view, Menu menu) {
boolean onPreparePanel = super.onPreparePanel(i, view, menu);
if (onPreparePanel) {
ToolbarActionBar toolbarActionBar = ToolbarActionBar.this;
if (!toolbarActionBar.mToolbarMenuPrepared) {
toolbarActionBar.mDecorToolbar.setMenuPrepared();
ToolbarActionBar.this.mToolbarMenuPrepared = true;
}
}
return onPreparePanel;
}
}
public ToolbarActionBar(Toolbar toolbar, CharSequence charSequence, Window.Callback callback) {
AnonymousClass2 r0 = new AnonymousClass2();
this.mMenuClicker = r0;
this.mDecorToolbar = new ToolbarWidgetWrapper(toolbar, false);
ToolbarCallbackWrapper toolbarCallbackWrapper = new ToolbarCallbackWrapper(callback);
this.mWindowCallback = toolbarCallbackWrapper;
this.mDecorToolbar.setWindowCallback(toolbarCallbackWrapper);
toolbar.setOnMenuItemClickListener(r0);
this.mDecorToolbar.setWindowTitle(charSequence);
}
private Menu getMenu() {
if (!this.mMenuCallbackSet) {
this.mDecorToolbar.setMenuCallbacks(new ActionMenuPresenterCallback(), new MenuBuilderCallback());
this.mMenuCallbackSet = true;
}
return this.mDecorToolbar.getMenu();
}
@Override // androidx.appcompat.app.ActionBar
public void addOnMenuVisibilityListener(ActionBar.OnMenuVisibilityListener onMenuVisibilityListener) {
this.mMenuVisibilityListeners.add(onMenuVisibilityListener);
}
@Override // androidx.appcompat.app.ActionBar
public void addTab(ActionBar.Tab tab) {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public void addTab(ActionBar.Tab tab, int i) {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public void addTab(ActionBar.Tab tab, int i, boolean z2) {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public void addTab(ActionBar.Tab tab, boolean z2) {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public boolean closeOptionsMenu() {
return this.mDecorToolbar.hideOverflowMenu();
}
@Override // androidx.appcompat.app.ActionBar
public boolean collapseActionView() {
if (!this.mDecorToolbar.hasExpandedActionView()) {
return false;
}
this.mDecorToolbar.collapseActionView();
return true;
}
@Override // androidx.appcompat.app.ActionBar
public void dispatchMenuVisibilityChanged(boolean z2) {
if (z2 != this.mLastMenuVisibility) {
this.mLastMenuVisibility = z2;
int size = this.mMenuVisibilityListeners.size();
for (int i = 0; i < size; i++) {
this.mMenuVisibilityListeners.get(i).onMenuVisibilityChanged(z2);
}
}
}
@Override // androidx.appcompat.app.ActionBar
public View getCustomView() {
return this.mDecorToolbar.getCustomView();
}
@Override // androidx.appcompat.app.ActionBar
public int getDisplayOptions() {
return this.mDecorToolbar.getDisplayOptions();
}
@Override // androidx.appcompat.app.ActionBar
public float getElevation() {
return ViewCompat.getElevation(this.mDecorToolbar.getViewGroup());
}
@Override // androidx.appcompat.app.ActionBar
public int getHeight() {
return this.mDecorToolbar.getHeight();
}
@Override // androidx.appcompat.app.ActionBar
public int getNavigationItemCount() {
return 0;
}
@Override // androidx.appcompat.app.ActionBar
public int getNavigationMode() {
return 0;
}
@Override // androidx.appcompat.app.ActionBar
public int getSelectedNavigationIndex() {
return -1;
}
@Override // androidx.appcompat.app.ActionBar
public ActionBar.Tab getSelectedTab() {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public CharSequence getSubtitle() {
return this.mDecorToolbar.getSubtitle();
}
@Override // androidx.appcompat.app.ActionBar
public ActionBar.Tab getTabAt(int i) {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public int getTabCount() {
return 0;
}
@Override // androidx.appcompat.app.ActionBar
public Context getThemedContext() {
return this.mDecorToolbar.getContext();
}
@Override // androidx.appcompat.app.ActionBar
public CharSequence getTitle() {
return this.mDecorToolbar.getTitle();
}
public Window.Callback getWrappedWindowCallback() {
return this.mWindowCallback;
}
@Override // androidx.appcompat.app.ActionBar
public void hide() {
this.mDecorToolbar.setVisibility(8);
}
@Override // androidx.appcompat.app.ActionBar
public boolean invalidateOptionsMenu() {
this.mDecorToolbar.getViewGroup().removeCallbacks(this.mMenuInvalidator);
ViewCompat.postOnAnimation(this.mDecorToolbar.getViewGroup(), this.mMenuInvalidator);
return true;
}
@Override // androidx.appcompat.app.ActionBar
public boolean isShowing() {
return this.mDecorToolbar.getVisibility() == 0;
}
@Override // androidx.appcompat.app.ActionBar
public boolean isTitleTruncated() {
return super.isTitleTruncated();
}
@Override // androidx.appcompat.app.ActionBar
public ActionBar.Tab newTab() {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public void onConfigurationChanged(Configuration configuration) {
super.onConfigurationChanged(configuration);
}
@Override // androidx.appcompat.app.ActionBar
public void onDestroy() {
this.mDecorToolbar.getViewGroup().removeCallbacks(this.mMenuInvalidator);
}
@Override // androidx.appcompat.app.ActionBar
public boolean onKeyShortcut(int i, KeyEvent keyEvent) {
Menu menu = getMenu();
if (menu == null) {
return false;
}
boolean z2 = true;
if (KeyCharacterMap.load(keyEvent != null ? keyEvent.getDeviceId() : -1).getKeyboardType() == 1) {
z2 = false;
}
menu.setQwertyMode(z2);
return menu.performShortcut(i, keyEvent, 0);
}
@Override // androidx.appcompat.app.ActionBar
public boolean onMenuKeyEvent(KeyEvent keyEvent) {
if (keyEvent.getAction() == 1) {
openOptionsMenu();
}
return true;
}
@Override // androidx.appcompat.app.ActionBar
public boolean openOptionsMenu() {
return this.mDecorToolbar.showOverflowMenu();
}
public void populateOptionsMenu() {
Menu menu = getMenu();
MenuBuilder menuBuilder = menu instanceof MenuBuilder ? (MenuBuilder) menu : null;
if (menuBuilder != null) {
menuBuilder.stopDispatchingItemsChanged();
}
try {
menu.clear();
if (!this.mWindowCallback.onCreatePanelMenu(0, menu) || !this.mWindowCallback.onPreparePanel(0, null, menu)) {
menu.clear();
}
} finally {
if (menuBuilder != null) {
menuBuilder.startDispatchingItemsChanged();
}
}
}
@Override // androidx.appcompat.app.ActionBar
public void removeAllTabs() {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public void removeOnMenuVisibilityListener(ActionBar.OnMenuVisibilityListener onMenuVisibilityListener) {
this.mMenuVisibilityListeners.remove(onMenuVisibilityListener);
}
@Override // androidx.appcompat.app.ActionBar
public void removeTab(ActionBar.Tab tab) {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public void removeTabAt(int i) {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public boolean requestFocus() {
ViewGroup viewGroup = this.mDecorToolbar.getViewGroup();
if (viewGroup == null || viewGroup.hasFocus()) {
return false;
}
viewGroup.requestFocus();
return true;
}
@Override // androidx.appcompat.app.ActionBar
public void selectTab(ActionBar.Tab tab) {
throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars");
}
@Override // androidx.appcompat.app.ActionBar
public void setBackgroundDrawable(@Nullable Drawable drawable) {
this.mDecorToolbar.setBackgroundDrawable(drawable);
}
@Override // androidx.appcompat.app.ActionBar
public void setCustomView(int i) {
setCustomView(LayoutInflater.from(this.mDecorToolbar.getContext()).inflate(i, this.mDecorToolbar.getViewGroup(), false));
}
@Override // androidx.appcompat.app.ActionBar
public void setCustomView(View view) {
setCustomView(view, new ActionBar.LayoutParams(-2, -2));
}
@Override // androidx.appcompat.app.ActionBar
public void setCustomView(View view, ActionBar.LayoutParams layoutParams) {
if (view != null) {
view.setLayoutParams(layoutParams);
}
this.mDecorToolbar.setCustomView(view);
}
@Override // androidx.appcompat.app.ActionBar
public void setDefaultDisplayHomeAsUpEnabled(boolean z2) {
}
@Override // androidx.appcompat.app.ActionBar
public void setDisplayHomeAsUpEnabled(boolean z2) {
setDisplayOptions(z2 ? 4 : 0, 4);
}
@Override // androidx.appcompat.app.ActionBar
@SuppressLint({"WrongConstant"})
public void setDisplayOptions(int i) {
setDisplayOptions(i, -1);
}
@Override // androidx.appcompat.app.ActionBar
public void setDisplayOptions(int i, int i2) {
this.mDecorToolbar.setDisplayOptions((i & i2) | ((~i2) & this.mDecorToolbar.getDisplayOptions()));
}
@Override // androidx.appcompat.app.ActionBar
public void setDisplayShowCustomEnabled(boolean z2) {
setDisplayOptions(z2 ? 16 : 0, 16);
}
@Override // androidx.appcompat.app.ActionBar
public void setDisplayShowHomeEnabled(boolean z2) {
setDisplayOptions(z2 ? 2 : 0, 2);
}
@Override // androidx.appcompat.app.ActionBar
public void setDisplayShowTitleEnabled(boolean z2) {
setDisplayOptions(z2 ? 8 : 0, 8);
}
@Override // androidx.appcompat.app.ActionBar
public void setDisplayUseLogoEnabled(boolean z2) {
setDisplayOptions(z2 ? 1 : 0, 1);
}
@Override // androidx.appcompat.app.ActionBar
public void setElevation(float f) {
ViewCompat.setElevation(this.mDecorToolbar.getViewGroup(), f);
}
@Override // androidx.appcompat.app.ActionBar
public void setHomeActionContentDescription(int i) {
this.mDecorToolbar.setNavigationContentDescription(i);
}
@Override // androidx.appcompat.app.ActionBar
public void setHomeActionContentDescription(CharSequence charSequence) {
this.mDecorToolbar.setNavigationContentDescription(charSequence);
}
@Override // androidx.appcompat.app.ActionBar
public void setHomeAsUpIndicator(int i) {
this.mDecorToolbar.setNavigationIcon(i);
}
@Override // androidx.appcompat.app.ActionBar
public void setHomeAsUpIndicator(Drawable drawable) {
this.mDecorToolbar.setNavigationIcon(drawable);
}
@Override // androidx.appcompat.app.ActionBar
public void setHomeButtonEnabled(boolean z2) {
}
@Override // androidx.appcompat.app.ActionBar
public void setIcon(int i) {
this.mDecorToolbar.setIcon(i);
}
@Override // androidx.appcompat.app.ActionBar
public void setIcon(Drawable drawable) {
this.mDecorToolbar.setIcon(drawable);
}
@Override // androidx.appcompat.app.ActionBar
public void setListNavigationCallbacks(SpinnerAdapter spinnerAdapter, ActionBar.OnNavigationListener onNavigationListener) {
this.mDecorToolbar.setDropdownParams(spinnerAdapter, new NavItemSelectedListener(onNavigationListener));
}
@Override // androidx.appcompat.app.ActionBar
public void setLogo(int i) {
this.mDecorToolbar.setLogo(i);
}
@Override // androidx.appcompat.app.ActionBar
public void setLogo(Drawable drawable) {
this.mDecorToolbar.setLogo(drawable);
}
@Override // androidx.appcompat.app.ActionBar
public void setNavigationMode(int i) {
if (i != 2) {
this.mDecorToolbar.setNavigationMode(i);
return;
}
throw new IllegalArgumentException("Tabs not supported in this configuration");
}
@Override // androidx.appcompat.app.ActionBar
public void setSelectedNavigationItem(int i) {
if (this.mDecorToolbar.getNavigationMode() == 1) {
this.mDecorToolbar.setDropdownSelectedPosition(i);
return;
}
throw new IllegalStateException("setSelectedNavigationIndex not valid for current navigation mode");
}
@Override // androidx.appcompat.app.ActionBar
public void setShowHideAnimationEnabled(boolean z2) {
}
@Override // androidx.appcompat.app.ActionBar
public void setSplitBackgroundDrawable(Drawable drawable) {
}
@Override // androidx.appcompat.app.ActionBar
public void setStackedBackgroundDrawable(Drawable drawable) {
}
@Override // androidx.appcompat.app.ActionBar
public void setSubtitle(int i) {
DecorToolbar decorToolbar = this.mDecorToolbar;
decorToolbar.setSubtitle(i != 0 ? decorToolbar.getContext().getText(i) : null);
}
@Override // androidx.appcompat.app.ActionBar
public void setSubtitle(CharSequence charSequence) {
this.mDecorToolbar.setSubtitle(charSequence);
}
@Override // androidx.appcompat.app.ActionBar
public void setTitle(int i) {
DecorToolbar decorToolbar = this.mDecorToolbar;
decorToolbar.setTitle(i != 0 ? decorToolbar.getContext().getText(i) : null);
}
@Override // androidx.appcompat.app.ActionBar
public void setTitle(CharSequence charSequence) {
this.mDecorToolbar.setTitle(charSequence);
}
@Override // androidx.appcompat.app.ActionBar
public void setWindowTitle(CharSequence charSequence) {
this.mDecorToolbar.setWindowTitle(charSequence);
}
@Override // androidx.appcompat.app.ActionBar
public void show() {
this.mDecorToolbar.setVisibility(0);
}
}