summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt4
-rw-r--r--api/system-current.txt4
-rw-r--r--core/java/android/view/ActionMode.java32
3 files changed, 40 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt
index 5df25c0d942b..2a6d33eca630 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -32452,6 +32452,7 @@ package android.view {
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);
@@ -32461,6 +32462,9 @@ package android.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 {
diff --git a/api/system-current.txt b/api/system-current.txt
index 807b0caaede8..5388ff31ac9d 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -34654,6 +34654,7 @@ package android.view {
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);
@@ -34663,6 +34664,9 @@ package android.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 {
diff --git a/core/java/android/view/ActionMode.java b/core/java/android/view/ActionMode.java
index a359952ddcf2..ae4b60fc7106 100644
--- a/core/java/android/view/ActionMode.java
+++ b/core/java/android/view/ActionMode.java
@@ -29,8 +29,21 @@ package android.view;
* </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.
@@ -154,6 +167,25 @@ public abstract class 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.