jimu-decompiled/sources/androidx/appcompat/app/ToolbarActionBar.java
2025-05-13 19:24:51 +02:00

246 lines
7.6 KiB
Java

package androidx.appcompat.app;
import android.content.Context;
import android.content.res.Configuration;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
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;
/* loaded from: classes.dex */
class ToolbarActionBar extends ActionBar {
DecorToolbar a;
boolean b;
Window.Callback c;
private boolean d;
private boolean e;
private ArrayList<ActionBar.OnMenuVisibilityListener> f = new ArrayList<>();
private final Runnable g = new Runnable() { // from class: androidx.appcompat.app.ToolbarActionBar.1
@Override // java.lang.Runnable
public void run() {
ToolbarActionBar.this.m();
}
};
private final Toolbar.OnMenuItemClickListener h = new Toolbar.OnMenuItemClickListener() { // from class: androidx.appcompat.app.ToolbarActionBar.2
@Override // androidx.appcompat.widget.Toolbar.OnMenuItemClickListener
public boolean onMenuItemClick(MenuItem menuItem) {
return ToolbarActionBar.this.c.onMenuItemSelected(0, menuItem);
}
};
private final class MenuBuilderCallback implements MenuBuilder.Callback {
MenuBuilderCallback() {
}
@Override // androidx.appcompat.view.menu.MenuBuilder.Callback
public void a(MenuBuilder menuBuilder) {
ToolbarActionBar toolbarActionBar = ToolbarActionBar.this;
if (toolbarActionBar.c != null) {
if (toolbarActionBar.a.a()) {
ToolbarActionBar.this.c.onPanelClosed(108, menuBuilder);
} else if (ToolbarActionBar.this.c.onPreparePanel(0, null, menuBuilder)) {
ToolbarActionBar.this.c.onMenuOpened(108, menuBuilder);
}
}
}
@Override // androidx.appcompat.view.menu.MenuBuilder.Callback
public boolean a(MenuBuilder menuBuilder, MenuItem menuItem) {
return false;
}
}
private 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.a.b()) : 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.b) {
toolbarActionBar.a.c();
ToolbarActionBar.this.b = true;
}
}
return onPreparePanel;
}
}
ToolbarActionBar(Toolbar toolbar, CharSequence charSequence, Window.Callback callback) {
this.a = new ToolbarWidgetWrapper(toolbar, false);
this.c = new ToolbarCallbackWrapper(callback);
this.a.setWindowCallback(this.c);
toolbar.setOnMenuItemClickListener(this.h);
this.a.setWindowTitle(charSequence);
}
private Menu n() {
if (!this.d) {
this.a.a(new ActionMenuPresenterCallback(), new MenuBuilderCallback());
this.d = true;
}
return this.a.j();
}
@Override // androidx.appcompat.app.ActionBar
public void a(Configuration configuration) {
super.a(configuration);
}
@Override // androidx.appcompat.app.ActionBar
public void b(boolean z) {
if (z == this.e) {
return;
}
this.e = z;
int size = this.f.size();
for (int i = 0; i < size; i++) {
this.f.get(i).a(z);
}
}
@Override // androidx.appcompat.app.ActionBar
public void c(boolean z) {
}
@Override // androidx.appcompat.app.ActionBar
public void d(boolean z) {
}
@Override // androidx.appcompat.app.ActionBar
public boolean e() {
return this.a.f();
}
@Override // androidx.appcompat.app.ActionBar
public boolean f() {
if (!this.a.i()) {
return false;
}
this.a.collapseActionView();
return true;
}
@Override // androidx.appcompat.app.ActionBar
public int g() {
return this.a.m();
}
@Override // androidx.appcompat.app.ActionBar
public Context h() {
return this.a.b();
}
@Override // androidx.appcompat.app.ActionBar
public boolean i() {
this.a.l().removeCallbacks(this.g);
ViewCompat.a(this.a.l(), this.g);
return true;
}
@Override // androidx.appcompat.app.ActionBar
void j() {
this.a.l().removeCallbacks(this.g);
}
@Override // androidx.appcompat.app.ActionBar
public boolean k() {
return this.a.g();
}
public Window.Callback l() {
return this.c;
}
void m() {
Menu n = n();
MenuBuilder menuBuilder = n instanceof MenuBuilder ? (MenuBuilder) n : null;
if (menuBuilder != null) {
menuBuilder.s();
}
try {
n.clear();
if (!this.c.onCreatePanelMenu(0, n) || !this.c.onPreparePanel(0, null, n)) {
n.clear();
}
} finally {
if (menuBuilder != null) {
menuBuilder.r();
}
}
}
private final class ActionMenuPresenterCallback implements MenuPresenter.Callback {
private boolean a;
ActionMenuPresenterCallback() {
}
@Override // androidx.appcompat.view.menu.MenuPresenter.Callback
public boolean a(MenuBuilder menuBuilder) {
Window.Callback callback = ToolbarActionBar.this.c;
if (callback == null) {
return false;
}
callback.onMenuOpened(108, menuBuilder);
return true;
}
@Override // androidx.appcompat.view.menu.MenuPresenter.Callback
public void a(MenuBuilder menuBuilder, boolean z) {
if (this.a) {
return;
}
this.a = true;
ToolbarActionBar.this.a.h();
Window.Callback callback = ToolbarActionBar.this.c;
if (callback != null) {
callback.onPanelClosed(108, menuBuilder);
}
this.a = false;
}
}
@Override // androidx.appcompat.app.ActionBar
public void a(CharSequence charSequence) {
this.a.setWindowTitle(charSequence);
}
@Override // androidx.appcompat.app.ActionBar
public boolean a(KeyEvent keyEvent) {
if (keyEvent.getAction() == 1) {
k();
}
return true;
}
@Override // androidx.appcompat.app.ActionBar
public boolean a(int i, KeyEvent keyEvent) {
Menu n = n();
if (n == null) {
return false;
}
n.setQwertyMode(KeyCharacterMap.load(keyEvent != null ? keyEvent.getDeviceId() : -1).getKeyboardType() != 1);
return n.performShortcut(i, keyEvent, 0);
}
}