Loading api/current.txt +9 −7 Original line number Diff line number Diff line Loading @@ -7206,8 +7206,6 @@ package android.app.slice { public final class Slice implements android.os.Parcelable { ctor protected Slice(android.os.Parcel); method public static deprecated android.app.slice.Slice bindSlice(android.content.ContentResolver, android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public static deprecated android.app.slice.Slice bindSlice(android.content.Context, android.content.Intent, java.util.List<android.app.slice.SliceSpec>); method public int describeContents(); method public java.util.List<java.lang.String> getHints(); method public java.util.List<android.app.slice.SliceItem> getItems(); Loading Loading @@ -7297,15 +7295,18 @@ package android.app.slice { } public class SliceManager { method public android.app.slice.Slice bindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public android.app.slice.Slice bindSlice(android.content.Intent, java.util.List<android.app.slice.SliceSpec>); method public android.app.slice.Slice bindSlice(android.net.Uri, java.util.Set<android.app.slice.SliceSpec>); method public deprecated android.app.slice.Slice bindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public android.app.slice.Slice bindSlice(android.content.Intent, java.util.Set<android.app.slice.SliceSpec>); method public deprecated android.app.slice.Slice bindSlice(android.content.Intent, java.util.List<android.app.slice.SliceSpec>); method public int checkSlicePermission(android.net.Uri, int, int); method public java.util.List<android.net.Uri> getPinnedSlices(); method public java.util.List<android.app.slice.SliceSpec> getPinnedSpecs(android.net.Uri); method public java.util.Set<android.app.slice.SliceSpec> getPinnedSpecs(android.net.Uri); method public java.util.Collection<android.net.Uri> getSliceDescendants(android.net.Uri); method public void grantSlicePermission(java.lang.String, android.net.Uri); method public android.net.Uri mapIntentToUri(android.content.Intent); method public void pinSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public void pinSlice(android.net.Uri, java.util.Set<android.app.slice.SliceSpec>); method public deprecated void pinSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public void revokeSlicePermission(java.lang.String, android.net.Uri); method public void unpinSlice(android.net.Uri); field public static final java.lang.String CATEGORY_SLICE = "android.app.slice.category.SLICE"; Loading @@ -7325,7 +7326,8 @@ package android.app.slice { 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 android.app.slice.Slice onBindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public android.app.slice.Slice onBindSlice(android.net.Uri, java.util.Set<android.app.slice.SliceSpec>); method public deprecated android.app.slice.Slice onBindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public android.app.PendingIntent onCreatePermissionRequest(android.net.Uri); method public java.util.Collection<android.net.Uri> onGetSliceDescendants(android.net.Uri); method public android.net.Uri onMapIntentToUri(android.content.Intent); core/java/android/app/slice/Slice.java +0 −47 Original line number Diff line number Diff line Loading @@ -21,19 +21,13 @@ import android.annotation.Nullable; import android.annotation.StringDef; import android.app.PendingIntent; import android.app.RemoteInput; import android.content.ContentResolver; import android.content.Context; import android.content.IContentProvider; import android.content.Intent; import android.graphics.drawable.Icon; import android.net.Uri; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Preconditions; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -575,45 +569,4 @@ public final class Slice implements Parcelable { } return sb.toString(); } /** * @deprecated TO BE REMOVED. */ @Deprecated public static @Nullable Slice bindSlice(ContentResolver resolver, @NonNull Uri uri, @NonNull List<SliceSpec> supportedSpecs) { Preconditions.checkNotNull(uri, "uri"); IContentProvider provider = resolver.acquireProvider(uri); if (provider == null) { throw new IllegalArgumentException("Unknown URI " + uri); } try { Bundle extras = new Bundle(); extras.putParcelable(SliceProvider.EXTRA_BIND_URI, uri); extras.putParcelableArrayList(SliceProvider.EXTRA_SUPPORTED_SPECS, new ArrayList<>(supportedSpecs)); final Bundle res = provider.call(resolver.getPackageName(), SliceProvider.METHOD_SLICE, null, extras); Bundle.setDefusable(res, true); if (res == null) { return null; } return res.getParcelable(SliceProvider.EXTRA_SLICE); } catch (RemoteException e) { // Arbitrary and not worth documenting, as Activity // Manager will kill this process shortly anyway. return null; } finally { resolver.releaseProvider(provider); } } /** * @deprecated TO BE REMOVED. */ @Deprecated public static @Nullable Slice bindSlice(Context context, @NonNull Intent intent, @NonNull List<SliceSpec> supportedSpecs) { return context.getSystemService(SliceManager.class).bindSlice(intent, supportedSpecs); } } core/java/android/app/slice/SliceManager.java +34 −5 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.ServiceManager.ServiceNotFoundException; import android.os.UserHandle; import android.util.ArraySet; import android.util.Log; import com.android.internal.util.Preconditions; Loading @@ -49,6 +50,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Set; /** * Class to handle interactions with {@link Slice}s. Loading Loading @@ -126,7 +128,7 @@ public class SliceManager { * @see Intent#ACTION_ASSIST * @see Intent#CATEGORY_HOME */ public void pinSlice(@NonNull Uri uri, @NonNull List<SliceSpec> specs) { public void pinSlice(@NonNull Uri uri, @NonNull Set<SliceSpec> specs) { try { mService.pinSlice(mContext.getPackageName(), uri, specs.toArray(new SliceSpec[specs.size()]), mToken); Loading @@ -135,6 +137,14 @@ public class SliceManager { } } /** * @deprecated TO BE REMOVED */ @Deprecated public void pinSlice(@NonNull Uri uri, @NonNull List<SliceSpec> specs) { pinSlice(uri, new ArraySet<>(specs)); } /** * Remove a pin for a slice. * <p> Loading Loading @@ -175,9 +185,10 @@ public class SliceManager { * into account all clients and returns only specs supported by all. * @see SliceSpec */ public @NonNull List<SliceSpec> getPinnedSpecs(Uri uri) { public @NonNull Set<SliceSpec> getPinnedSpecs(Uri uri) { try { return Arrays.asList(mService.getPinnedSpecs(uri, mContext.getPackageName())); return new ArraySet<>(Arrays.asList(mService.getPinnedSpecs(uri, mContext.getPackageName()))); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading Loading @@ -226,7 +237,7 @@ public class SliceManager { * @return The Slice provided by the app or null if none is given. * @see Slice */ public @Nullable Slice bindSlice(@NonNull Uri uri, @NonNull List<SliceSpec> supportedSpecs) { public @Nullable Slice bindSlice(@NonNull Uri uri, @NonNull Set<SliceSpec> supportedSpecs) { Preconditions.checkNotNull(uri, "uri"); ContentResolver resolver = mContext.getContentResolver(); try (ContentProviderClient provider = resolver.acquireContentProviderClient(uri)) { Loading @@ -250,6 +261,14 @@ public class SliceManager { } } /** * @deprecated TO BE REMOVED */ @Deprecated public @Nullable Slice bindSlice(@NonNull Uri uri, @NonNull List<SliceSpec> supportedSpecs) { return bindSlice(uri, new ArraySet<>(supportedSpecs)); } /** * Turns a slice intent into a slice uri. Expects an explicit intent. * <p> Loading Loading @@ -337,7 +356,7 @@ public class SliceManager { * @see Intent */ public @Nullable Slice bindSlice(@NonNull Intent intent, @NonNull List<SliceSpec> supportedSpecs) { @NonNull Set<SliceSpec> supportedSpecs) { Preconditions.checkNotNull(intent, "intent"); Preconditions.checkArgument(intent.getComponent() != null || intent.getPackage() != null || intent.getData() != null, Loading Loading @@ -387,6 +406,16 @@ public class SliceManager { } } /** * @deprecated TO BE REMOVED. */ @Deprecated @Nullable public Slice bindSlice(@NonNull Intent intent, @NonNull List<SliceSpec> supportedSpecs) { return bindSlice(intent, new ArraySet<>(supportedSpecs)); } /** * Determine whether a particular process and user ID has been granted * permission to access a specific slice URI. Loading core/java/android/app/slice/SliceProvider.java +9 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Set; /** * A SliceProvider allows an app to provide content to be displayed in system spaces. This content Loading Loading @@ -197,6 +198,14 @@ public abstract class SliceProvider extends ContentProvider { * @see {@link Slice}. * @see {@link Slice#HINT_PARTIAL} */ public Slice onBindSlice(Uri sliceUri, Set<SliceSpec> supportedSpecs) { return onBindSlice(sliceUri, new ArrayList<>(supportedSpecs)); } /** * @deprecated TO BE REMOVED */ @Deprecated public Slice onBindSlice(Uri sliceUri, List<SliceSpec> supportedSpecs) { return null; } Loading Loading
api/current.txt +9 −7 Original line number Diff line number Diff line Loading @@ -7206,8 +7206,6 @@ package android.app.slice { public final class Slice implements android.os.Parcelable { ctor protected Slice(android.os.Parcel); method public static deprecated android.app.slice.Slice bindSlice(android.content.ContentResolver, android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public static deprecated android.app.slice.Slice bindSlice(android.content.Context, android.content.Intent, java.util.List<android.app.slice.SliceSpec>); method public int describeContents(); method public java.util.List<java.lang.String> getHints(); method public java.util.List<android.app.slice.SliceItem> getItems(); Loading Loading @@ -7297,15 +7295,18 @@ package android.app.slice { } public class SliceManager { method public android.app.slice.Slice bindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public android.app.slice.Slice bindSlice(android.content.Intent, java.util.List<android.app.slice.SliceSpec>); method public android.app.slice.Slice bindSlice(android.net.Uri, java.util.Set<android.app.slice.SliceSpec>); method public deprecated android.app.slice.Slice bindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public android.app.slice.Slice bindSlice(android.content.Intent, java.util.Set<android.app.slice.SliceSpec>); method public deprecated android.app.slice.Slice bindSlice(android.content.Intent, java.util.List<android.app.slice.SliceSpec>); method public int checkSlicePermission(android.net.Uri, int, int); method public java.util.List<android.net.Uri> getPinnedSlices(); method public java.util.List<android.app.slice.SliceSpec> getPinnedSpecs(android.net.Uri); method public java.util.Set<android.app.slice.SliceSpec> getPinnedSpecs(android.net.Uri); method public java.util.Collection<android.net.Uri> getSliceDescendants(android.net.Uri); method public void grantSlicePermission(java.lang.String, android.net.Uri); method public android.net.Uri mapIntentToUri(android.content.Intent); method public void pinSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public void pinSlice(android.net.Uri, java.util.Set<android.app.slice.SliceSpec>); method public deprecated void pinSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public void revokeSlicePermission(java.lang.String, android.net.Uri); method public void unpinSlice(android.net.Uri); field public static final java.lang.String CATEGORY_SLICE = "android.app.slice.category.SLICE"; Loading @@ -7325,7 +7326,8 @@ package android.app.slice { 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 android.app.slice.Slice onBindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public android.app.slice.Slice onBindSlice(android.net.Uri, java.util.Set<android.app.slice.SliceSpec>); method public deprecated android.app.slice.Slice onBindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>); method public android.app.PendingIntent onCreatePermissionRequest(android.net.Uri); method public java.util.Collection<android.net.Uri> onGetSliceDescendants(android.net.Uri); method public android.net.Uri onMapIntentToUri(android.content.Intent);
core/java/android/app/slice/Slice.java +0 −47 Original line number Diff line number Diff line Loading @@ -21,19 +21,13 @@ import android.annotation.Nullable; import android.annotation.StringDef; import android.app.PendingIntent; import android.app.RemoteInput; import android.content.ContentResolver; import android.content.Context; import android.content.IContentProvider; import android.content.Intent; import android.graphics.drawable.Icon; import android.net.Uri; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Preconditions; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -575,45 +569,4 @@ public final class Slice implements Parcelable { } return sb.toString(); } /** * @deprecated TO BE REMOVED. */ @Deprecated public static @Nullable Slice bindSlice(ContentResolver resolver, @NonNull Uri uri, @NonNull List<SliceSpec> supportedSpecs) { Preconditions.checkNotNull(uri, "uri"); IContentProvider provider = resolver.acquireProvider(uri); if (provider == null) { throw new IllegalArgumentException("Unknown URI " + uri); } try { Bundle extras = new Bundle(); extras.putParcelable(SliceProvider.EXTRA_BIND_URI, uri); extras.putParcelableArrayList(SliceProvider.EXTRA_SUPPORTED_SPECS, new ArrayList<>(supportedSpecs)); final Bundle res = provider.call(resolver.getPackageName(), SliceProvider.METHOD_SLICE, null, extras); Bundle.setDefusable(res, true); if (res == null) { return null; } return res.getParcelable(SliceProvider.EXTRA_SLICE); } catch (RemoteException e) { // Arbitrary and not worth documenting, as Activity // Manager will kill this process shortly anyway. return null; } finally { resolver.releaseProvider(provider); } } /** * @deprecated TO BE REMOVED. */ @Deprecated public static @Nullable Slice bindSlice(Context context, @NonNull Intent intent, @NonNull List<SliceSpec> supportedSpecs) { return context.getSystemService(SliceManager.class).bindSlice(intent, supportedSpecs); } }
core/java/android/app/slice/SliceManager.java +34 −5 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.ServiceManager.ServiceNotFoundException; import android.os.UserHandle; import android.util.ArraySet; import android.util.Log; import com.android.internal.util.Preconditions; Loading @@ -49,6 +50,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Set; /** * Class to handle interactions with {@link Slice}s. Loading Loading @@ -126,7 +128,7 @@ public class SliceManager { * @see Intent#ACTION_ASSIST * @see Intent#CATEGORY_HOME */ public void pinSlice(@NonNull Uri uri, @NonNull List<SliceSpec> specs) { public void pinSlice(@NonNull Uri uri, @NonNull Set<SliceSpec> specs) { try { mService.pinSlice(mContext.getPackageName(), uri, specs.toArray(new SliceSpec[specs.size()]), mToken); Loading @@ -135,6 +137,14 @@ public class SliceManager { } } /** * @deprecated TO BE REMOVED */ @Deprecated public void pinSlice(@NonNull Uri uri, @NonNull List<SliceSpec> specs) { pinSlice(uri, new ArraySet<>(specs)); } /** * Remove a pin for a slice. * <p> Loading Loading @@ -175,9 +185,10 @@ public class SliceManager { * into account all clients and returns only specs supported by all. * @see SliceSpec */ public @NonNull List<SliceSpec> getPinnedSpecs(Uri uri) { public @NonNull Set<SliceSpec> getPinnedSpecs(Uri uri) { try { return Arrays.asList(mService.getPinnedSpecs(uri, mContext.getPackageName())); return new ArraySet<>(Arrays.asList(mService.getPinnedSpecs(uri, mContext.getPackageName()))); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading Loading @@ -226,7 +237,7 @@ public class SliceManager { * @return The Slice provided by the app or null if none is given. * @see Slice */ public @Nullable Slice bindSlice(@NonNull Uri uri, @NonNull List<SliceSpec> supportedSpecs) { public @Nullable Slice bindSlice(@NonNull Uri uri, @NonNull Set<SliceSpec> supportedSpecs) { Preconditions.checkNotNull(uri, "uri"); ContentResolver resolver = mContext.getContentResolver(); try (ContentProviderClient provider = resolver.acquireContentProviderClient(uri)) { Loading @@ -250,6 +261,14 @@ public class SliceManager { } } /** * @deprecated TO BE REMOVED */ @Deprecated public @Nullable Slice bindSlice(@NonNull Uri uri, @NonNull List<SliceSpec> supportedSpecs) { return bindSlice(uri, new ArraySet<>(supportedSpecs)); } /** * Turns a slice intent into a slice uri. Expects an explicit intent. * <p> Loading Loading @@ -337,7 +356,7 @@ public class SliceManager { * @see Intent */ public @Nullable Slice bindSlice(@NonNull Intent intent, @NonNull List<SliceSpec> supportedSpecs) { @NonNull Set<SliceSpec> supportedSpecs) { Preconditions.checkNotNull(intent, "intent"); Preconditions.checkArgument(intent.getComponent() != null || intent.getPackage() != null || intent.getData() != null, Loading Loading @@ -387,6 +406,16 @@ public class SliceManager { } } /** * @deprecated TO BE REMOVED. */ @Deprecated @Nullable public Slice bindSlice(@NonNull Intent intent, @NonNull List<SliceSpec> supportedSpecs) { return bindSlice(intent, new ArraySet<>(supportedSpecs)); } /** * Determine whether a particular process and user ID has been granted * permission to access a specific slice URI. Loading
core/java/android/app/slice/SliceProvider.java +9 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Set; /** * A SliceProvider allows an app to provide content to be displayed in system spaces. This content Loading Loading @@ -197,6 +198,14 @@ public abstract class SliceProvider extends ContentProvider { * @see {@link Slice}. * @see {@link Slice#HINT_PARTIAL} */ public Slice onBindSlice(Uri sliceUri, Set<SliceSpec> supportedSpecs) { return onBindSlice(sliceUri, new ArrayList<>(supportedSpecs)); } /** * @deprecated TO BE REMOVED */ @Deprecated public Slice onBindSlice(Uri sliceUri, List<SliceSpec> supportedSpecs) { return null; } Loading