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

Commit 8a77c222 authored by Jason Monk's avatar Jason Monk Committed by Android (Google) Code Review
Browse files

Merge "Unhide slice data APIs"

parents ca6988e6 d18651fa
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";
@@ -6943,6 +6944,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";
@@ -7386,6 +7387,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";
@@ -7014,6 +7015,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