145 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package androidx.appcompat.view;
 | |
| 
 | |
| import android.content.Context;
 | |
| import android.view.Menu;
 | |
| import android.view.MenuInflater;
 | |
| import android.view.MenuItem;
 | |
| import android.view.View;
 | |
| import androidx.appcompat.view.ActionMode;
 | |
| import androidx.appcompat.view.menu.MenuBuilder;
 | |
| import androidx.appcompat.view.menu.MenuPopupHelper;
 | |
| import androidx.appcompat.view.menu.SubMenuBuilder;
 | |
| import androidx.appcompat.widget.ActionBarContextView;
 | |
| import java.lang.ref.WeakReference;
 | |
| 
 | |
| /* loaded from: classes.dex */
 | |
| public class StandaloneActionMode extends ActionMode implements MenuBuilder.Callback {
 | |
|     private ActionMode.Callback mCallback;
 | |
|     private Context mContext;
 | |
|     private ActionBarContextView mContextView;
 | |
|     private WeakReference<View> mCustomView;
 | |
|     private boolean mFinished;
 | |
|     private boolean mFocusable;
 | |
|     private MenuBuilder mMenu;
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public Menu getMenu() {
 | |
|         return this.mMenu;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public boolean isUiFocusable() {
 | |
|         return this.mFocusable;
 | |
|     }
 | |
| 
 | |
|     public void onCloseMenu(MenuBuilder menuBuilder, boolean z) {
 | |
|     }
 | |
| 
 | |
|     public void onCloseSubMenu(SubMenuBuilder subMenuBuilder) {
 | |
|     }
 | |
| 
 | |
|     public StandaloneActionMode(Context context, ActionBarContextView actionBarContextView, ActionMode.Callback callback, boolean z) {
 | |
|         this.mContext = context;
 | |
|         this.mContextView = actionBarContextView;
 | |
|         this.mCallback = callback;
 | |
|         MenuBuilder defaultShowAsAction = new MenuBuilder(actionBarContextView.getContext()).setDefaultShowAsAction(1);
 | |
|         this.mMenu = defaultShowAsAction;
 | |
|         defaultShowAsAction.setCallback(this);
 | |
|         this.mFocusable = z;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public void setTitle(CharSequence charSequence) {
 | |
|         this.mContextView.setTitle(charSequence);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public void setSubtitle(CharSequence charSequence) {
 | |
|         this.mContextView.setSubtitle(charSequence);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public void setTitle(int i) {
 | |
|         setTitle(this.mContext.getString(i));
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public void setSubtitle(int i) {
 | |
|         setSubtitle(this.mContext.getString(i));
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public void setTitleOptionalHint(boolean z) {
 | |
|         super.setTitleOptionalHint(z);
 | |
|         this.mContextView.setTitleOptional(z);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public boolean isTitleOptional() {
 | |
|         return this.mContextView.isTitleOptional();
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public void setCustomView(View view) {
 | |
|         this.mContextView.setCustomView(view);
 | |
|         this.mCustomView = view != null ? new WeakReference<>(view) : null;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public void invalidate() {
 | |
|         this.mCallback.onPrepareActionMode(this, this.mMenu);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public void finish() {
 | |
|         if (this.mFinished) {
 | |
|             return;
 | |
|         }
 | |
|         this.mFinished = true;
 | |
|         this.mCallback.onDestroyActionMode(this);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public CharSequence getTitle() {
 | |
|         return this.mContextView.getTitle();
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public CharSequence getSubtitle() {
 | |
|         return this.mContextView.getSubtitle();
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public View getCustomView() {
 | |
|         WeakReference<View> weakReference = this.mCustomView;
 | |
|         if (weakReference != null) {
 | |
|             return weakReference.get();
 | |
|         }
 | |
|         return null;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.ActionMode
 | |
|     public MenuInflater getMenuInflater() {
 | |
|         return new SupportMenuInflater(this.mContextView.getContext());
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuBuilder.Callback
 | |
|     public boolean onMenuItemSelected(MenuBuilder menuBuilder, MenuItem menuItem) {
 | |
|         return this.mCallback.onActionItemClicked(this, menuItem);
 | |
|     }
 | |
| 
 | |
|     public boolean onSubMenuSelected(SubMenuBuilder subMenuBuilder) {
 | |
|         if (!subMenuBuilder.hasVisibleItems()) {
 | |
|             return true;
 | |
|         }
 | |
|         new MenuPopupHelper(this.mContextView.getContext(), subMenuBuilder).show();
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuBuilder.Callback
 | |
|     public void onMenuModeChange(MenuBuilder menuBuilder) {
 | |
|         invalidate();
 | |
|         this.mContextView.showOverflowMenu();
 | |
|     }
 | |
| }
 |