discord-jadx/app/src/main/java/androidx/appcompat/view/StandaloneActionMode.java

146 lines
4.8 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.annotation.NonNull;
import androidx.annotation.RestrictTo;
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;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
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;
public StandaloneActionMode(Context context, ActionBarContextView actionBarContextView, ActionMode.Callback callback, boolean z2) {
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 = z2;
}
@Override // androidx.appcompat.view.ActionMode
public void finish() {
if (!this.mFinished) {
this.mFinished = true;
this.mContextView.sendAccessibilityEvent(32);
this.mCallback.onDestroyActionMode(this);
}
}
@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 Menu getMenu() {
return this.mMenu;
}
@Override // androidx.appcompat.view.ActionMode
public MenuInflater getMenuInflater() {
return new SupportMenuInflater(this.mContextView.getContext());
}
@Override // androidx.appcompat.view.ActionMode
public CharSequence getSubtitle() {
return this.mContextView.getSubtitle();
}
@Override // androidx.appcompat.view.ActionMode
public CharSequence getTitle() {
return this.mContextView.getTitle();
}
@Override // androidx.appcompat.view.ActionMode
public void invalidate() {
this.mCallback.onPrepareActionMode(this, this.mMenu);
}
@Override // androidx.appcompat.view.ActionMode
public boolean isTitleOptional() {
return this.mContextView.isTitleOptional();
}
@Override // androidx.appcompat.view.ActionMode
public boolean isUiFocusable() {
return this.mFocusable;
}
public void onCloseMenu(MenuBuilder menuBuilder, boolean z2) {
}
public void onCloseSubMenu(SubMenuBuilder subMenuBuilder) {
}
@Override // androidx.appcompat.view.menu.MenuBuilder.Callback
public boolean onMenuItemSelected(@NonNull MenuBuilder menuBuilder, @NonNull MenuItem menuItem) {
return this.mCallback.onActionItemClicked(this, menuItem);
}
@Override // androidx.appcompat.view.menu.MenuBuilder.Callback
public void onMenuModeChange(@NonNull MenuBuilder menuBuilder) {
invalidate();
this.mContextView.showOverflowMenu();
}
public boolean onSubMenuSelected(SubMenuBuilder subMenuBuilder) {
if (!subMenuBuilder.hasVisibleItems()) {
return true;
}
new MenuPopupHelper(this.mContextView.getContext(), subMenuBuilder).show();
return true;
}
@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 setSubtitle(int i) {
setSubtitle(this.mContext.getString(i));
}
@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 setTitle(CharSequence charSequence) {
this.mContextView.setTitle(charSequence);
}
@Override // androidx.appcompat.view.ActionMode
public void setTitleOptionalHint(boolean z2) {
super.setTitleOptionalHint(z2);
this.mContextView.setTitleOptional(z2);
}
}