ADD week 5
This commit is contained in:
		| @@ -0,0 +1,144 @@ | ||||
| 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(); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user