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

Commit e696acbb authored by Jason Monk's avatar Jason Monk
Browse files

Expose permission-related Slice APIs

 - Let providers know who is binding them
 - Let providers tell the system if a slice shouldn't be cached
   for different apps so the app can perform custom permission
   checks.

Test: update-api
Bug: 68751119
Change-Id: I9f74df5516e6efb354ad52fc5c266bd8d4da3c4d
parent e8f8be76
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -7099,6 +7099,7 @@ package android.app.slice {
    field public static final android.os.Parcelable.Creator<android.app.slice.Slice> CREATOR;
    field public static final java.lang.String EXTRA_TOGGLE_STATE = "android.app.slice.extra.TOGGLE_STATE";
    field public static final java.lang.String HINT_ACTIONS = "actions";
    field public static final java.lang.String HINT_CALLER_NEEDED = "caller_needed";
    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";
@@ -7195,6 +7196,7 @@ package android.app.slice {
  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 getBindingPackage();
    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 android.app.slice.Slice onBindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>);
+5 −4
Original line number Diff line number Diff line
@@ -156,10 +156,11 @@ public final class Slice implements Parcelable {
     */
    public static final String HINT_SEE_MORE = "see_more";
    /**
     * A hint to tell the system that this slice cares about the return value of
     * {@link SliceProvider#getBindingPackage} and should not cache the result
     * for multiple apps.
     * @hide
     * A hint used when implementing app-specific slice permissions.
     * Tells the system that for this slice the return value of
     * {@link SliceProvider#onBindSlice(Uri, List)} may be different depending on
     * {@link SliceProvider#getBindingPackage} and should not be cached for multiple
     * apps.
     */
    public static final String HINT_CALLER_NEEDED = "caller_needed";
    /**
+0 −1
Original line number Diff line number Diff line
@@ -158,7 +158,6 @@ public abstract class SliceProvider extends ContentProvider {
     * currently happening. The returned package will have been
     * verified to belong to the calling UID. Returns {@code null} if not
     * currently performing an {@link #onBindSlice(Uri, List)}.
     * @hide
     */
    public final @Nullable String getBindingPackage() {
        return mBindingPkg;