Rabbit-R1/original r1/java/sources/androidx/appcompat/view/StandaloneActionMode.java

145 lines
4.6 KiB
Java
Raw Normal View History

2024-05-21 16:08:36 -05:00
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();
}
}