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

Commit d18651fa authored by Jason Monk's avatar Jason Monk Committed by Mady Mellor
Browse files

Unhide slice data APIs

Test: CTS
Change-Id: Ie2a05e30e5ac6c830b6a9a14b2d207b7e2fbe9da
parent 7215f944
Loading
Loading
Loading
Loading
+83 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ package android {
    field public static final java.lang.String BIND_QUICK_SETTINGS_TILE = "android.permission.BIND_QUICK_SETTINGS_TILE";
    field public static final java.lang.String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS";
    field public static final java.lang.String BIND_SCREENING_SERVICE = "android.permission.BIND_SCREENING_SERVICE";
    field public static final java.lang.String BIND_SLICE = "android.permission.BIND_SLICE";
    field public static final java.lang.String BIND_TELECOM_CONNECTION_SERVICE = "android.permission.BIND_TELECOM_CONNECTION_SERVICE";
    field public static final java.lang.String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
    field public static final java.lang.String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT";
@@ -6941,6 +6942,88 @@ package android.app.job {
}
package android.app.slice {
  public final class Slice implements android.os.Parcelable {
    ctor protected Slice(android.os.Parcel);
    method public static android.app.slice.Slice bindSlice(android.content.ContentResolver, android.net.Uri);
    method public int describeContents();
    method public java.util.List<java.lang.String> getHints();
    method public java.util.List<android.app.slice.SliceItem> getItems();
    method public android.net.Uri getUri();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.slice.Slice> CREATOR;
    field public static final java.lang.String HINT_ACTIONS = "actions";
    field public static final java.lang.String HINT_HORIZONTAL = "horizontal";
    field public static final java.lang.String HINT_LARGE = "large";
    field public static final java.lang.String HINT_LIST = "list";
    field public static final java.lang.String HINT_LIST_ITEM = "list_item";
    field public static final java.lang.String HINT_MESSAGE = "message";
    field public static final java.lang.String HINT_NO_TINT = "no_tint";
    field public static final java.lang.String HINT_PARTIAL = "partial";
    field public static final java.lang.String HINT_SELECTED = "selected";
    field public static final java.lang.String HINT_SOURCE = "source";
    field public static final java.lang.String HINT_TITLE = "title";
  }
  public static class Slice.Builder {
    ctor public Slice.Builder(android.net.Uri);
    ctor public Slice.Builder(android.app.slice.Slice.Builder);
    method public android.app.slice.Slice.Builder addAction(android.app.PendingIntent, android.app.slice.Slice);
    method public android.app.slice.Slice.Builder addColor(int, java.lang.String...);
    method public android.app.slice.Slice.Builder addColor(int, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addHints(java.lang.String...);
    method public android.app.slice.Slice.Builder addHints(java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addIcon(android.graphics.drawable.Icon, java.lang.String...);
    method public android.app.slice.Slice.Builder addIcon(android.graphics.drawable.Icon, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addRemoteInput(android.app.RemoteInput, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addRemoteInput(android.app.RemoteInput, java.lang.String...);
    method public android.app.slice.Slice.Builder addSubSlice(android.app.slice.Slice);
    method public android.app.slice.Slice.Builder addText(java.lang.CharSequence, java.lang.String...);
    method public android.app.slice.Slice.Builder addText(java.lang.CharSequence, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addTimestamp(long, java.lang.String...);
    method public android.app.slice.Slice.Builder addTimestamp(long, java.util.List<java.lang.String>);
    method public android.app.slice.Slice build();
  }
  public final class SliceItem implements android.os.Parcelable {
    method public int describeContents();
    method public android.app.PendingIntent getAction();
    method public int getColor();
    method public java.util.List<java.lang.String> getHints();
    method public android.graphics.drawable.Icon getIcon();
    method public android.app.RemoteInput getRemoteInput();
    method public android.app.slice.Slice getSlice();
    method public java.lang.CharSequence getText();
    method public long getTimestamp();
    method public int getType();
    method public boolean hasHint(java.lang.String);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.slice.SliceItem> CREATOR;
    field public static final int TYPE_ACTION = 4; // 0x4
    field public static final int TYPE_COLOR = 6; // 0x6
    field public static final int TYPE_IMAGE = 3; // 0x3
    field public static final int TYPE_REMOTE_INPUT = 9; // 0x9
    field public static final int TYPE_SLICE = 1; // 0x1
    field public static final int TYPE_TEXT = 2; // 0x2
    field public static final int TYPE_TIMESTAMP = 8; // 0x8
  }
  public abstract class SliceProvider extends android.content.ContentProvider {
    ctor public SliceProvider();
    method public final int delete(android.net.Uri, java.lang.String, java.lang.String[]);
    method public final java.lang.String getType(android.net.Uri);
    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
    method public abstract android.app.slice.Slice onBindSlice(android.net.Uri);
    method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
    method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal);
    method public final android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal);
    method public final int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
    field public static final java.lang.String SLICE_TYPE = "vnd.android.slice";
  }
}
package android.app.usage {
  public final class ConfigurationStats implements android.os.Parcelable {
+83 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ package android {
    field public static final java.lang.String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
    field public static final java.lang.String BIND_SCREENING_SERVICE = "android.permission.BIND_SCREENING_SERVICE";
    field public static final java.lang.String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
    field public static final java.lang.String BIND_SLICE = "android.permission.BIND_SLICE";
    field public static final java.lang.String BIND_TELECOM_CONNECTION_SERVICE = "android.permission.BIND_TELECOM_CONNECTION_SERVICE";
    field public static final java.lang.String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
    field public static final java.lang.String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
@@ -7384,6 +7385,88 @@ package android.app.job {
}
package android.app.slice {
  public final class Slice implements android.os.Parcelable {
    ctor protected Slice(android.os.Parcel);
    method public static android.app.slice.Slice bindSlice(android.content.ContentResolver, android.net.Uri);
    method public int describeContents();
    method public java.util.List<java.lang.String> getHints();
    method public java.util.List<android.app.slice.SliceItem> getItems();
    method public android.net.Uri getUri();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.slice.Slice> CREATOR;
    field public static final java.lang.String HINT_ACTIONS = "actions";
    field public static final java.lang.String HINT_HORIZONTAL = "horizontal";
    field public static final java.lang.String HINT_LARGE = "large";
    field public static final java.lang.String HINT_LIST = "list";
    field public static final java.lang.String HINT_LIST_ITEM = "list_item";
    field public static final java.lang.String HINT_MESSAGE = "message";
    field public static final java.lang.String HINT_NO_TINT = "no_tint";
    field public static final java.lang.String HINT_PARTIAL = "partial";
    field public static final java.lang.String HINT_SELECTED = "selected";
    field public static final java.lang.String HINT_SOURCE = "source";
    field public static final java.lang.String HINT_TITLE = "title";
  }
  public static class Slice.Builder {
    ctor public Slice.Builder(android.net.Uri);
    ctor public Slice.Builder(android.app.slice.Slice.Builder);
    method public android.app.slice.Slice.Builder addAction(android.app.PendingIntent, android.app.slice.Slice);
    method public android.app.slice.Slice.Builder addColor(int, java.lang.String...);
    method public android.app.slice.Slice.Builder addColor(int, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addHints(java.lang.String...);
    method public android.app.slice.Slice.Builder addHints(java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addIcon(android.graphics.drawable.Icon, java.lang.String...);
    method public android.app.slice.Slice.Builder addIcon(android.graphics.drawable.Icon, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addRemoteInput(android.app.RemoteInput, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addRemoteInput(android.app.RemoteInput, java.lang.String...);
    method public android.app.slice.Slice.Builder addSubSlice(android.app.slice.Slice);
    method public android.app.slice.Slice.Builder addText(java.lang.CharSequence, java.lang.String...);
    method public android.app.slice.Slice.Builder addText(java.lang.CharSequence, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addTimestamp(long, java.lang.String...);
    method public android.app.slice.Slice.Builder addTimestamp(long, java.util.List<java.lang.String>);
    method public android.app.slice.Slice build();
  }
  public final class SliceItem implements android.os.Parcelable {
    method public int describeContents();
    method public android.app.PendingIntent getAction();
    method public int getColor();
    method public java.util.List<java.lang.String> getHints();
    method public android.graphics.drawable.Icon getIcon();
    method public android.app.RemoteInput getRemoteInput();
    method public android.app.slice.Slice getSlice();
    method public java.lang.CharSequence getText();
    method public long getTimestamp();
    method public int getType();
    method public boolean hasHint(java.lang.String);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.slice.SliceItem> CREATOR;
    field public static final int TYPE_ACTION = 4; // 0x4
    field public static final int TYPE_COLOR = 6; // 0x6
    field public static final int TYPE_IMAGE = 3; // 0x3
    field public static final int TYPE_REMOTE_INPUT = 9; // 0x9
    field public static final int TYPE_SLICE = 1; // 0x1
    field public static final int TYPE_TEXT = 2; // 0x2
    field public static final int TYPE_TIMESTAMP = 8; // 0x8
  }
  public abstract class SliceProvider extends android.content.ContentProvider {
    ctor public SliceProvider();
    method public final int delete(android.net.Uri, java.lang.String, java.lang.String[]);
    method public final java.lang.String getType(android.net.Uri);
    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
    method public abstract android.app.slice.Slice onBindSlice(android.net.Uri);
    method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
    method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal);
    method public final android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal);
    method public final int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
    field public static final java.lang.String SLICE_TYPE = "vnd.android.slice";
  }
}
package android.app.usage {
  public final class CacheQuotaHint implements android.os.Parcelable {
+83 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ package android {
    field public static final java.lang.String BIND_QUICK_SETTINGS_TILE = "android.permission.BIND_QUICK_SETTINGS_TILE";
    field public static final java.lang.String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS";
    field public static final java.lang.String BIND_SCREENING_SERVICE = "android.permission.BIND_SCREENING_SERVICE";
    field public static final java.lang.String BIND_SLICE = "android.permission.BIND_SLICE";
    field public static final java.lang.String BIND_TELECOM_CONNECTION_SERVICE = "android.permission.BIND_TELECOM_CONNECTION_SERVICE";
    field public static final java.lang.String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
    field public static final java.lang.String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT";
@@ -7010,6 +7011,88 @@ package android.app.job {
}
package android.app.slice {
  public final class Slice implements android.os.Parcelable {
    ctor protected Slice(android.os.Parcel);
    method public static android.app.slice.Slice bindSlice(android.content.ContentResolver, android.net.Uri);
    method public int describeContents();
    method public java.util.List<java.lang.String> getHints();
    method public java.util.List<android.app.slice.SliceItem> getItems();
    method public android.net.Uri getUri();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.slice.Slice> CREATOR;
    field public static final java.lang.String HINT_ACTIONS = "actions";
    field public static final java.lang.String HINT_HORIZONTAL = "horizontal";
    field public static final java.lang.String HINT_LARGE = "large";
    field public static final java.lang.String HINT_LIST = "list";
    field public static final java.lang.String HINT_LIST_ITEM = "list_item";
    field public static final java.lang.String HINT_MESSAGE = "message";
    field public static final java.lang.String HINT_NO_TINT = "no_tint";
    field public static final java.lang.String HINT_PARTIAL = "partial";
    field public static final java.lang.String HINT_SELECTED = "selected";
    field public static final java.lang.String HINT_SOURCE = "source";
    field public static final java.lang.String HINT_TITLE = "title";
  }
  public static class Slice.Builder {
    ctor public Slice.Builder(android.net.Uri);
    ctor public Slice.Builder(android.app.slice.Slice.Builder);
    method public android.app.slice.Slice.Builder addAction(android.app.PendingIntent, android.app.slice.Slice);
    method public android.app.slice.Slice.Builder addColor(int, java.lang.String...);
    method public android.app.slice.Slice.Builder addColor(int, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addHints(java.lang.String...);
    method public android.app.slice.Slice.Builder addHints(java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addIcon(android.graphics.drawable.Icon, java.lang.String...);
    method public android.app.slice.Slice.Builder addIcon(android.graphics.drawable.Icon, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addRemoteInput(android.app.RemoteInput, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addRemoteInput(android.app.RemoteInput, java.lang.String...);
    method public android.app.slice.Slice.Builder addSubSlice(android.app.slice.Slice);
    method public android.app.slice.Slice.Builder addText(java.lang.CharSequence, java.lang.String...);
    method public android.app.slice.Slice.Builder addText(java.lang.CharSequence, java.util.List<java.lang.String>);
    method public android.app.slice.Slice.Builder addTimestamp(long, java.lang.String...);
    method public android.app.slice.Slice.Builder addTimestamp(long, java.util.List<java.lang.String>);
    method public android.app.slice.Slice build();
  }
  public final class SliceItem implements android.os.Parcelable {
    method public int describeContents();
    method public android.app.PendingIntent getAction();
    method public int getColor();
    method public java.util.List<java.lang.String> getHints();
    method public android.graphics.drawable.Icon getIcon();
    method public android.app.RemoteInput getRemoteInput();
    method public android.app.slice.Slice getSlice();
    method public java.lang.CharSequence getText();
    method public long getTimestamp();
    method public int getType();
    method public boolean hasHint(java.lang.String);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.slice.SliceItem> CREATOR;
    field public static final int TYPE_ACTION = 4; // 0x4
    field public static final int TYPE_COLOR = 6; // 0x6
    field public static final int TYPE_IMAGE = 3; // 0x3
    field public static final int TYPE_REMOTE_INPUT = 9; // 0x9
    field public static final int TYPE_SLICE = 1; // 0x1
    field public static final int TYPE_TEXT = 2; // 0x2
    field public static final int TYPE_TIMESTAMP = 8; // 0x8
  }
  public abstract class SliceProvider extends android.content.ContentProvider {
    ctor public SliceProvider();
    method public final int delete(android.net.Uri, java.lang.String, java.lang.String[]);
    method public final java.lang.String getType(android.net.Uri);
    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
    method public abstract android.app.slice.Slice onBindSlice(android.net.Uri);
    method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
    method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal);
    method public final android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal);
    method public final int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
    field public static final java.lang.String SLICE_TYPE = "vnd.android.slice";
  }
}
package android.app.usage {
  public final class ConfigurationStats implements android.os.Parcelable {
+112 −42

File changed and moved.

Preview size limit exceeded, changes collapsed.

+14 −12
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package android.slice;
package android.app.slice;

import android.annotation.IntDef;
import android.annotation.NonNull;
@@ -23,13 +23,15 @@ import android.app.RemoteInput;
import android.graphics.drawable.Icon;
import android.os.Parcel;
import android.os.Parcelable;
import android.slice.Slice.SliceHint;
import android.text.TextUtils;
import android.util.Pair;
import android.widget.RemoteViews;

import com.android.internal.util.ArrayUtils;

import java.util.Arrays;
import java.util.List;


/**
 * A SliceItem is a single unit in the tree structure of a {@link Slice}.
@@ -47,7 +49,6 @@ import com.android.internal.util.ArrayUtils;
 * The hints that a {@link SliceItem} are a set of strings which annotate
 * the content. The hints that are guaranteed to be understood by the system
 * are defined on {@link Slice}.
 * @hide
 */
public final class SliceItem implements Parcelable {

@@ -97,14 +98,15 @@ public final class SliceItem implements Parcelable {
    /**
     * @hide
     */
    protected @SliceHint String[] mHints;
    protected @Slice.SliceHint
    String[] mHints;
    private final int mType;
    private final Object mObj;

    /**
     * @hide
     */
    public SliceItem(Object obj, @SliceType int type, @SliceHint String[] hints) {
    public SliceItem(Object obj, @SliceType int type, @Slice.SliceHint String[] hints) {
        mHints = hints;
        mType = type;
        mObj = obj;
@@ -113,7 +115,7 @@ public final class SliceItem implements Parcelable {
    /**
     * @hide
     */
    public SliceItem(PendingIntent intent, Slice slice, int type, @SliceHint String[] hints) {
    public SliceItem(PendingIntent intent, Slice slice, int type, @Slice.SliceHint String[] hints) {
        this(new Pair<>(intent, slice), type, hints);
    }

@@ -121,14 +123,14 @@ public final class SliceItem implements Parcelable {
     * Gets all hints associated with this SliceItem.
     * @return Array of hints.
     */
    public @NonNull @SliceHint String[] getHints() {
        return mHints;
    public @NonNull @Slice.SliceHint List<String> getHints() {
        return Arrays.asList(mHints);
    }

    /**
     * @hide
     */
    public void addHint(@SliceHint String hint) {
    public void addHint(@Slice.SliceHint String hint) {
        mHints = ArrayUtils.appendElement(String.class, mHints, hint);
    }

@@ -206,7 +208,7 @@ public final class SliceItem implements Parcelable {
     * @param hint The hint to check for
     * @return true if this item contains the given hint
     */
    public boolean hasHint(@SliceHint String hint) {
    public boolean hasHint(@Slice.SliceHint String hint) {
        return ArrayUtils.contains(mHints, hint);
    }

@@ -234,7 +236,7 @@ public final class SliceItem implements Parcelable {
    /**
     * @hide
     */
    public boolean hasHints(@SliceHint String[] hints) {
    public boolean hasHints(@Slice.SliceHint String[] hints) {
        if (hints == null) return true;
        for (String hint : hints) {
            if (!TextUtils.isEmpty(hint) && !ArrayUtils.contains(mHints, hint)) {
@@ -247,7 +249,7 @@ public final class SliceItem implements Parcelable {
    /**
     * @hide
     */
    public boolean hasAnyHints(@SliceHint String[] hints) {
    public boolean hasAnyHints(@Slice.SliceHint String[] hints) {
        if (hints == null) return false;
        for (String hint : hints) {
            if (ArrayUtils.contains(mHints, hint)) {
Loading