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

Commit a1bb34ac authored by Jason Monk's avatar Jason Monk Committed by android-build-merger
Browse files

Merge "List<SliceSpec> -> Set<SliceSpec>" into pi-dev

am: 3c33d2b9

Change-Id: I5afdd7f0a7e00de6305b3a930bf432a351df8d7b
parents ebd7456d 3c33d2b9
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -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();
@@ -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";
@@ -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);
+0 −47
Original line number Diff line number Diff line
@@ -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);
    }
}
+34 −5
Original line number Diff line number Diff line
@@ -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);
@@ -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>
@@ -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)) {
@@ -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>
@@ -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,
@@ -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.
+9 −0
Original line number Diff line number Diff line
@@ -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;
    }