summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2018-03-08 11:31:26 -0500
committerJason Monk <jmonk@google.com>2018-04-10 20:25:51 -0400
commit2d3932eb4df005b8ebb630ad89cd9a804fdd9ede (patch)
treefe750d18b59635dc868845645c2c64a93f99e515 /core/java
parent9107b53c6d8f6d930733f2c23bede1c547f9f500 (diff)
List<SliceSpec> -> Set<SliceSpec>
Test: update-api Bug: 73123786 Change-Id: I5668023eda0efcadf40a20259a92624e6680659f
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/app/slice/Slice.java47
-rw-r--r--core/java/android/app/slice/SliceManager.java39
-rw-r--r--core/java/android/app/slice/SliceProvider.java9
3 files changed, 43 insertions, 52 deletions
diff --git a/core/java/android/app/slice/Slice.java b/core/java/android/app/slice/Slice.java
index bf3398ad3c73..4336f184cad7 100644
--- a/core/java/android/app/slice/Slice.java
+++ b/core/java/android/app/slice/Slice.java
@@ -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;
@@ -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);
- }
}
diff --git a/core/java/android/app/slice/SliceManager.java b/core/java/android/app/slice/SliceManager.java
index 3b73174cf88e..dc8a3b92eaa9 100644
--- a/core/java/android/app/slice/SliceManager.java
+++ b/core/java/android/app/slice/SliceManager.java
@@ -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;
@@ -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.
@@ -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);
@@ -136,6 +138,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>
* If the slice has no other pins/callbacks then the slice will be unpinned.
@@ -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();
}
@@ -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)) {
@@ -251,6 +262,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>
* This goes through a several stage resolution process to determine if any slice
@@ -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,
@@ -388,6 +407,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.
*
diff --git a/core/java/android/app/slice/SliceProvider.java b/core/java/android/app/slice/SliceProvider.java
index fe5742d6da38..d369272d84c6 100644
--- a/core/java/android/app/slice/SliceProvider.java
+++ b/core/java/android/app/slice/SliceProvider.java
@@ -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
@@ -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;
}