/** * Sets the title of the selection menu. * * @param title the new title. */ public void setTitle(String title) { if (actionMode != null) actionMode.setTitle(title); }
/** * Declare that the menu has changed, and should be recreated. */ public void invalidate() { if (actionMode != null) actionMode.invalidate(); }
/** * Finishes the selection operation. */ public void finish() { if (actionMode != null) actionMode.finish(); }
private static Drawable loadDrawableV7(Context context, @DrawableRes int id, @Nullable Theme theme) { Context resourceContext = theme != null ? new ContextThemeWrapper(context, theme) : context; return AppCompatResources.getDrawable(resourceContext, id); }
@Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { MenuInflater inflater = mode.getMenuInflater(); inflater.inflate(R.menu.message_list_context, menu); // check capabilities setContextCapabilities(account, menu); return true; }
/** * Inflates a menu resource into the menu backing this sheet. * * @param menuRes Menu resource ID */ public void inflateMenu(@MenuRes int menuRes) { if (menuRes != -1) { SupportMenuInflater inflater = new SupportMenuInflater(getContext()); inflater.inflate(menuRes, menu); } prepareMenuItems(); }
/** * Get AppCompatActivity from context * * @param context * @return AppCompatActivity if it's not null */ public static AppCompatActivity getAppCompActivity(Context context) { if (context == null) return null; if (context instanceof AppCompatActivity) { return (AppCompatActivity) context; } else if (context instanceof ContextThemeWrapper) { return getAppCompActivity(((ContextThemeWrapper) context).getBaseContext()); } return null; }
private MenuInflater getMenuInflater() { if (mMenuInflater == null) { mMenuInflater = new SupportMenuInflater(getContext()); } return mMenuInflater; }
public ActionModeAssert hasCustomView() { isNotNull(); assertThat(actual.getCustomView()) // .overridingErrorMessage("Expected custom view but was not present.") // .isNotNull(); return this; }
public ActionModeAssert hasSubtitle(CharSequence subtitle) { isNotNull(); CharSequence actualSubtitle = actual.getSubtitle(); assertThat(actualSubtitle) // .overridingErrorMessage("Expected subtitle <%s> but was <%s>.", subtitle, actualSubtitle) // .isEqualTo(subtitle); return this; }
public ActionModeAssert hasNonOptionalTitle() { isNotNull(); assertThat(actual.isTitleOptional()) // .overridingErrorMessage("Expected to have non-optional title but was optional.") // .isFalse(); return this; } }
@Override public void onDetach() { super.onDetach(); if (mActionMode != null) { mActionMode.finish(); } }
public static ContextWrapper getWrapperContext(Context context, @StyleRes int themeId) { if (context == null) return null; return new ContextThemeWrapper(context, themeId); }
private void updateActionModeTitle() { actionMode.setTitle(String.format(getString(R.string.actionbar_selected), selectedCount)); }
@Override public boolean onCreateActionMode(ActionMode actionMode, Menu menu) { actionMode.getMenuInflater().inflate(R.menu.menu_favorite_action, menu); mMenuTintDelegate.onOptionsMenuCreated(menu); return true; }
/** * Get AppCompatActivity from context * * @param context context * @return AppCompatActivity if it's not null */ public static AppCompatActivity getAppCompActivity(Context context) { if (context == null) return null; if (context instanceof AppCompatActivity) { return (AppCompatActivity) context; } else if (context instanceof ContextThemeWrapper) { return getAppCompActivity(((ContextThemeWrapper) context).getBaseContext()); } return null; }
private void startAndPrepareActionMode() { AppCompatActivity activity = (AppCompatActivity) requireActivity(); ActionMode actionMode = activity.startSupportActionMode(actionModeCallback); this.actionMode = actionMode; if (actionMode != null) { actionMode.invalidate(); } }
public ActionModeAssert hasCustomView(View view) { isNotNull(); View actualView = actual.getCustomView(); assertThat(actualView) // .overridingErrorMessage("Expected custom view <%s> but was <%s>.", view, actualView) // .isEqualTo(view); return this; }
/** * Starts or finishes the action mode when necessary. */ private void resetActionMode() { if (selected.isEmpty()) { if (actionMode != null) { actionMode.finish(); } return; } if (actionMode == null) { startAndPrepareActionMode(); } recalculateSelectionCount(); updateActionModeTitle(); }
/** * Get AppCompatActivity from context * * @param context * @return AppCompatActivity if it's not null */ public static AppCompatActivity getAppCompActivity(Context context) { if (context == null) return null; if (context instanceof AppCompatActivity) { return (AppCompatActivity) context; } else if (context instanceof ContextThemeWrapper) { return getAppCompActivity(((ContextThemeWrapper) context).getBaseContext()); } return null; } }