ADD week 5
This commit is contained in:
		
							
								
								
									
										540
									
								
								02-Easy5/E5/sources/androidx/appcompat/app/ToolbarActionBar.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										540
									
								
								02-Easy5/E5/sources/androidx/appcompat/app/ToolbarActionBar.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,540 @@ | ||||
| package androidx.appcompat.app; | ||||
|  | ||||
| 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.appcompat.app.ActionBar; | ||||
| import androidx.appcompat.app.AppCompatDelegateImpl; | ||||
| 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.util.Preconditions; | ||||
| import androidx.core.view.ViewCompat; | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| /* loaded from: classes.dex */ | ||||
| class ToolbarActionBar extends ActionBar { | ||||
|     final DecorToolbar mDecorToolbar; | ||||
|     private boolean mLastMenuVisibility; | ||||
|     final AppCompatDelegateImpl.ActionBarMenuCallback mMenuCallback; | ||||
|     private boolean mMenuCallbackSet; | ||||
|     private final Toolbar.OnMenuItemClickListener mMenuClicker; | ||||
|     boolean mToolbarMenuPrepared; | ||||
|     final Window.Callback mWindowCallback; | ||||
|     private ArrayList<ActionBar.OnMenuVisibilityListener> mMenuVisibilityListeners = new ArrayList<>(); | ||||
|     private final Runnable mMenuInvalidator = new Runnable() { // from class: androidx.appcompat.app.ToolbarActionBar.1 | ||||
|         @Override // java.lang.Runnable | ||||
|         public void run() { | ||||
|             ToolbarActionBar.this.populateOptionsMenu(); | ||||
|         } | ||||
|     }; | ||||
|  | ||||
|     @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 int getTabCount() { | ||||
|         return 0; | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setDefaultDisplayHomeAsUpEnabled(boolean z) { | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setHomeButtonEnabled(boolean z) { | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setShowHideAnimationEnabled(boolean z) { | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setSplitBackgroundDrawable(Drawable drawable) { | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setStackedBackgroundDrawable(Drawable drawable) { | ||||
|     } | ||||
|  | ||||
|     ToolbarActionBar(Toolbar toolbar, CharSequence charSequence, Window.Callback callback) { | ||||
|         Toolbar.OnMenuItemClickListener onMenuItemClickListener = new Toolbar.OnMenuItemClickListener() { // from class: androidx.appcompat.app.ToolbarActionBar.2 | ||||
|             @Override // androidx.appcompat.widget.Toolbar.OnMenuItemClickListener | ||||
|             public boolean onMenuItemClick(MenuItem menuItem) { | ||||
|                 return ToolbarActionBar.this.mWindowCallback.onMenuItemSelected(0, menuItem); | ||||
|             } | ||||
|         }; | ||||
|         this.mMenuClicker = onMenuItemClickListener; | ||||
|         Preconditions.checkNotNull(toolbar); | ||||
|         ToolbarWidgetWrapper toolbarWidgetWrapper = new ToolbarWidgetWrapper(toolbar, false); | ||||
|         this.mDecorToolbar = toolbarWidgetWrapper; | ||||
|         this.mWindowCallback = (Window.Callback) Preconditions.checkNotNull(callback); | ||||
|         toolbarWidgetWrapper.setWindowCallback(callback); | ||||
|         toolbar.setOnMenuItemClickListener(onMenuItemClickListener); | ||||
|         toolbarWidgetWrapper.setWindowTitle(charSequence); | ||||
|         this.mMenuCallback = new ToolbarMenuCallback(); | ||||
|     } | ||||
|  | ||||
|     @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 setCustomView(int i) { | ||||
|         setCustomView(LayoutInflater.from(this.mDecorToolbar.getContext()).inflate(i, this.mDecorToolbar.getViewGroup(), false)); | ||||
|     } | ||||
|  | ||||
|     @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 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 setElevation(float f) { | ||||
|         ViewCompat.setElevation(this.mDecorToolbar.getViewGroup(), f); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public float getElevation() { | ||||
|         return ViewCompat.getElevation(this.mDecorToolbar.getViewGroup()); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public Context getThemedContext() { | ||||
|         return this.mDecorToolbar.getContext(); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public boolean isTitleTruncated() { | ||||
|         return super.isTitleTruncated(); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setHomeAsUpIndicator(Drawable drawable) { | ||||
|         this.mDecorToolbar.setNavigationIcon(drawable); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setHomeAsUpIndicator(int i) { | ||||
|         this.mDecorToolbar.setNavigationIcon(i); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setHomeActionContentDescription(CharSequence charSequence) { | ||||
|         this.mDecorToolbar.setNavigationContentDescription(charSequence); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setHomeActionContentDescription(int i) { | ||||
|         this.mDecorToolbar.setNavigationContentDescription(i); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void onConfigurationChanged(Configuration configuration) { | ||||
|         super.onConfigurationChanged(configuration); | ||||
|     } | ||||
|  | ||||
|     @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 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 setTitle(CharSequence charSequence) { | ||||
|         this.mDecorToolbar.setTitle(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 setWindowTitle(CharSequence charSequence) { | ||||
|         this.mDecorToolbar.setWindowTitle(charSequence); | ||||
|     } | ||||
|  | ||||
|     @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 setSubtitle(CharSequence charSequence) { | ||||
|         this.mDecorToolbar.setSubtitle(charSequence); | ||||
|     } | ||||
|  | ||||
|     @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 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 setDisplayUseLogoEnabled(boolean z) { | ||||
|         setDisplayOptions(z ? 1 : 0, 1); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setDisplayShowHomeEnabled(boolean z) { | ||||
|         setDisplayOptions(z ? 2 : 0, 2); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setDisplayHomeAsUpEnabled(boolean z) { | ||||
|         setDisplayOptions(z ? 4 : 0, 4); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setDisplayShowTitleEnabled(boolean z) { | ||||
|         setDisplayOptions(z ? 8 : 0, 8); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setDisplayShowCustomEnabled(boolean z) { | ||||
|         setDisplayOptions(z ? 16 : 0, 16); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setBackgroundDrawable(Drawable drawable) { | ||||
|         this.mDecorToolbar.setBackgroundDrawable(drawable); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public View getCustomView() { | ||||
|         return this.mDecorToolbar.getCustomView(); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public CharSequence getTitle() { | ||||
|         return this.mDecorToolbar.getTitle(); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public CharSequence getSubtitle() { | ||||
|         return this.mDecorToolbar.getSubtitle(); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void setNavigationMode(int i) { | ||||
|         if (i == 2) { | ||||
|             throw new IllegalArgumentException("Tabs not supported in this configuration"); | ||||
|         } | ||||
|         this.mDecorToolbar.setNavigationMode(i); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public int getDisplayOptions() { | ||||
|         return this.mDecorToolbar.getDisplayOptions(); | ||||
|     } | ||||
|  | ||||
|     @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 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, boolean z) { | ||||
|         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 z) { | ||||
|         throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars"); | ||||
|     } | ||||
|  | ||||
|     @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 void removeAllTabs() { | ||||
|         throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars"); | ||||
|     } | ||||
|  | ||||
|     @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 ActionBar.Tab getSelectedTab() { | ||||
|         throw new UnsupportedOperationException("Tabs are not supported in toolbar action bars"); | ||||
|     } | ||||
|  | ||||
|     @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 getHeight() { | ||||
|         return this.mDecorToolbar.getHeight(); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void show() { | ||||
|         this.mDecorToolbar.setVisibility(0); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void hide() { | ||||
|         this.mDecorToolbar.setVisibility(8); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public boolean isShowing() { | ||||
|         return this.mDecorToolbar.getVisibility() == 0; | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public boolean openOptionsMenu() { | ||||
|         return this.mDecorToolbar.showOverflowMenu(); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public boolean closeOptionsMenu() { | ||||
|         return this.mDecorToolbar.hideOverflowMenu(); | ||||
|     } | ||||
|  | ||||
|     @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 collapseActionView() { | ||||
|         if (!this.mDecorToolbar.hasExpandedActionView()) { | ||||
|             return false; | ||||
|         } | ||||
|         this.mDecorToolbar.collapseActionView(); | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
|     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 boolean onMenuKeyEvent(KeyEvent keyEvent) { | ||||
|         if (keyEvent.getAction() == 1) { | ||||
|             openOptionsMenu(); | ||||
|         } | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public boolean onKeyShortcut(int i, KeyEvent keyEvent) { | ||||
|         Menu menu = getMenu(); | ||||
|         if (menu == null) { | ||||
|             return false; | ||||
|         } | ||||
|         menu.setQwertyMode(KeyCharacterMap.load(keyEvent != null ? keyEvent.getDeviceId() : -1).getKeyboardType() != 1); | ||||
|         return menu.performShortcut(i, keyEvent, 0); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     void onDestroy() { | ||||
|         this.mDecorToolbar.getViewGroup().removeCallbacks(this.mMenuInvalidator); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void addOnMenuVisibilityListener(ActionBar.OnMenuVisibilityListener onMenuVisibilityListener) { | ||||
|         this.mMenuVisibilityListeners.add(onMenuVisibilityListener); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void removeOnMenuVisibilityListener(ActionBar.OnMenuVisibilityListener onMenuVisibilityListener) { | ||||
|         this.mMenuVisibilityListeners.remove(onMenuVisibilityListener); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.appcompat.app.ActionBar | ||||
|     public void dispatchMenuVisibilityChanged(boolean z) { | ||||
|         if (z == this.mLastMenuVisibility) { | ||||
|             return; | ||||
|         } | ||||
|         this.mLastMenuVisibility = z; | ||||
|         int size = this.mMenuVisibilityListeners.size(); | ||||
|         for (int i = 0; i < size; i++) { | ||||
|             this.mMenuVisibilityListeners.get(i).onMenuVisibilityChanged(z); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private class ToolbarMenuCallback implements AppCompatDelegateImpl.ActionBarMenuCallback { | ||||
|         ToolbarMenuCallback() { | ||||
|         } | ||||
|  | ||||
|         @Override // androidx.appcompat.app.AppCompatDelegateImpl.ActionBarMenuCallback | ||||
|         public boolean onPreparePanel(int i) { | ||||
|             if (i != 0 || ToolbarActionBar.this.mToolbarMenuPrepared) { | ||||
|                 return false; | ||||
|             } | ||||
|             ToolbarActionBar.this.mDecorToolbar.setMenuPrepared(); | ||||
|             ToolbarActionBar.this.mToolbarMenuPrepared = true; | ||||
|             return false; | ||||
|         } | ||||
|  | ||||
|         @Override // androidx.appcompat.app.AppCompatDelegateImpl.ActionBarMenuCallback | ||||
|         public View onCreatePanelView(int i) { | ||||
|             if (i == 0) { | ||||
|                 return new View(ToolbarActionBar.this.mDecorToolbar.getContext()); | ||||
|             } | ||||
|             return null; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private Menu getMenu() { | ||||
|         if (!this.mMenuCallbackSet) { | ||||
|             this.mDecorToolbar.setMenuCallbacks(new ActionMenuPresenterCallback(), new MenuBuilderCallback()); | ||||
|             this.mMenuCallbackSet = true; | ||||
|         } | ||||
|         return this.mDecorToolbar.getMenu(); | ||||
|     } | ||||
|  | ||||
|     private final class ActionMenuPresenterCallback implements MenuPresenter.Callback { | ||||
|         private boolean mClosingActionMenu; | ||||
|  | ||||
|         ActionMenuPresenterCallback() { | ||||
|         } | ||||
|  | ||||
|         @Override // androidx.appcompat.view.menu.MenuPresenter.Callback | ||||
|         public boolean onOpenSubMenu(MenuBuilder menuBuilder) { | ||||
|             ToolbarActionBar.this.mWindowCallback.onMenuOpened(108, menuBuilder); | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|         @Override // androidx.appcompat.view.menu.MenuPresenter.Callback | ||||
|         public void onCloseMenu(MenuBuilder menuBuilder, boolean z) { | ||||
|             if (this.mClosingActionMenu) { | ||||
|                 return; | ||||
|             } | ||||
|             this.mClosingActionMenu = true; | ||||
|             ToolbarActionBar.this.mDecorToolbar.dismissPopupMenus(); | ||||
|             ToolbarActionBar.this.mWindowCallback.onPanelClosed(108, menuBuilder); | ||||
|             this.mClosingActionMenu = false; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private final class MenuBuilderCallback implements MenuBuilder.Callback { | ||||
|         @Override // androidx.appcompat.view.menu.MenuBuilder.Callback | ||||
|         public boolean onMenuItemSelected(MenuBuilder menuBuilder, MenuItem menuItem) { | ||||
|             return false; | ||||
|         } | ||||
|  | ||||
|         MenuBuilderCallback() { | ||||
|         } | ||||
|  | ||||
|         @Override // androidx.appcompat.view.menu.MenuBuilder.Callback | ||||
|         public void onMenuModeChange(MenuBuilder menuBuilder) { | ||||
|             if (ToolbarActionBar.this.mDecorToolbar.isOverflowMenuShowing()) { | ||||
|                 ToolbarActionBar.this.mWindowCallback.onPanelClosed(108, menuBuilder); | ||||
|             } else if (ToolbarActionBar.this.mWindowCallback.onPreparePanel(0, null, menuBuilder)) { | ||||
|                 ToolbarActionBar.this.mWindowCallback.onMenuOpened(108, menuBuilder); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user