OSDN Git Service

Floating Palettes: Create the ActionMode type and use it in Editor.
authorClara Bayarri <clarabayarri@google.com>
Mon, 26 Jan 2015 16:38:07 +0000 (16:38 +0000)
committerClara Bayarri <clarabayarri@google.com>
Tue, 3 Feb 2015 11:07:15 +0000 (11:07 +0000)
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

api/current.txt
api/system-current.txt
core/java/android/view/ActionMode.java

index c8eefea..b8b5469 100644 (file)
@@ -32449,6 +32449,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);
@@ -32458,6 +32459,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 {
index 9f138e4..df139bc 100644 (file)
@@ -34650,6 +34650,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);
@@ -34659,6 +34660,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 {
index a359952..ae4b60f 100644 (file)
@@ -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.