Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d6aeff17 authored by Clara Bayarri's avatar Clara Bayarri
Browse files

Floating Palettes: Create the ActionMode type and use it in Editor.

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
parent 7e760ee5
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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 {
+4 −0
Original line number Diff line number Diff line
@@ -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 {
+32 −0
Original line number Diff line number Diff line
@@ -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.
@@ -153,6 +166,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