summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jason Monk <jmonk@google.com> 2018-01-21 14:17:37 -0500
committer Jason Monk <jmonk@google.com> 2018-01-21 14:17:37 -0500
commite696acbbd749b6e87844bf463a7cb3f76a49b7fe (patch)
treeb81e8d9567bdaf60d0fecc851390b8fde0f1ed48
parente8f8be7698ea7690b81736e766c7fa5b20045164 (diff)
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
-rw-r--r--api/current.txt2
-rw-r--r--core/java/android/app/slice/Slice.java9
-rw-r--r--core/java/android/app/slice/SliceProvider.java1
3 files changed, 7 insertions, 5 deletions
diff --git a/api/current.txt b/api/current.txt
index 3e4dfd217dcc..15e1ec2cdc6c 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -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>);
diff --git a/core/java/android/app/slice/Slice.java b/core/java/android/app/slice/Slice.java
index 5bd3440d09f8..f3e4a11f26a2 100644
--- a/core/java/android/app/slice/Slice.java
+++ b/core/java/android/app/slice/Slice.java
@@ -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";
/**
diff --git a/core/java/android/app/slice/SliceProvider.java b/core/java/android/app/slice/SliceProvider.java
index 8ffacf5280c1..6422669b7ce7 100644
--- a/core/java/android/app/slice/SliceProvider.java
+++ b/core/java/android/app/slice/SliceProvider.java
@@ -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;