This CL creates the Type attribute for ActionMode, which will serve as a flag to determine its behavior and representation.
- TYPE_PRIMARY is the default and will maintain the current behavior and representation in the ActionBar
- TYPE_FLOATING will be the new Type and will be represented as a Floating Palette
Editor switches the flag from the default to TYPE_FLOATING, but this has no consequences right now, until the functionality is implemented.
Change-Id: Icd6cab01637f6ca3ae2e999b06904e08974d0c81
method public java.lang.Object getTag();
method public abstract java.lang.CharSequence getTitle();
method public boolean getTitleOptionalHint();
+ method public int getType();
method public abstract void invalidate();
method public boolean isTitleOptional();
method public abstract void setCustomView(android.view.View);
method public abstract void setTitle(java.lang.CharSequence);
method public abstract void setTitle(int);
method public void setTitleOptionalHint(boolean);
+ method public void setType(int);
+ field public static final int TYPE_FLOATING = 1; // 0x1
+ field public static final int TYPE_PRIMARY = 0; // 0x0
}
public static abstract interface ActionMode.Callback {
method public java.lang.Object getTag();
method public abstract java.lang.CharSequence getTitle();
method public boolean getTitleOptionalHint();
+ method public int getType();
method public abstract void invalidate();
method public boolean isTitleOptional();
method public abstract void setCustomView(android.view.View);
method public abstract void setTitle(java.lang.CharSequence);
method public abstract void setTitle(int);
method public void setTitleOptionalHint(boolean);
+ method public void setType(int);
+ field public static final int TYPE_FLOATING = 1; // 0x1
+ field public static final int TYPE_PRIMARY = 0; // 0x0
}
public static abstract interface ActionMode.Callback {
* </div>
*/
public abstract class ActionMode {
+
+ /**
+ * The action mode is treated as a Primary mode. This is the default.
+ * Use with {@link #setType}.
+ */
+ public static final int TYPE_PRIMARY = 0;
+ /**
+ * The action mode is treated as a Floating Toolbar.
+ * Use with {@link #setType}.
+ */
+ public static final int TYPE_FLOATING = 1;
+
private Object mTag;
private boolean mTitleOptionalHint;
+ private int mType = TYPE_PRIMARY;
/**
* Set a tag object associated with this ActionMode.
public abstract void setCustomView(View view);
/**
+ * Set a type for this action mode. This will affect how the system renders the action mode if
+ * it has to.
+ *
+ * @param type One of {@link #TYPE_PRIMARY} or {@link #TYPE_FLOATING}.
+ */
+ public void setType(int type) {
+ mType = type;
+ }
+
+ /**
+ * Returns the type for this action mode.
+ *
+ * @return One of {@link #TYPE_PRIMARY} or {@link #TYPE_FLOATING}.
+ */
+ public int getType() {
+ return mType;
+ }
+
+ /**
* Invalidate the action mode and refresh menu content. The mode's
* {@link ActionMode.Callback} will have its
* {@link Callback#onPrepareActionMode(ActionMode, Menu)} method called.