246 lines
7.6 KiB
Java
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);
|
|
}
|
|
}
|