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

Commit 12d0ea4b authored by Alex Kershaw's avatar Alex Kershaw Committed by Android (Google) Code Review
Browse files

Merge "Add system API for building document URI with user ID."

parents 017d58e4 1befe9d8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -9,6 +9,10 @@ package android.app {

package android.provider {

  public final class DocumentsContract {
    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
  }

  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
    field public static final String COMMON_CRITERIA_MODE = "common_criteria_mode";
  }
+18 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.provider;

import static android.annotation.SystemApi.Client.MODULE_APPS;

import static com.android.internal.util.Preconditions.checkCollectionElementsNotNull;
import static com.android.internal.util.Preconditions.checkCollectionNotEmpty;

@@ -24,6 +26,7 @@ import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.ContentInterface;
import android.content.ContentProvider;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
@@ -47,6 +50,7 @@ import android.os.ParcelFileDescriptor.OnCloseListener;
import android.os.Parcelable;
import android.os.ParcelableException;
import android.os.RemoteException;
import android.os.UserHandle;
import android.util.Log;

import com.android.internal.util.Preconditions;
@@ -945,6 +949,20 @@ public final class DocumentsContract {
        return getBaseDocumentUriBuilder(authority).appendPath(documentId).build();
    }

    /**
     * Builds URI as described in {@link #buildDocumentUri(String, String)}, but such that it will
     * be associated with the given user.
     *
     * @hide
     */
    @SystemApi(client = MODULE_APPS)
    @NonNull
    public static Uri buildDocumentUriAsUser(
            @NonNull String authority, @NonNull String documentId, @NonNull UserHandle user) {
        return ContentProvider.maybeAddUserId(
                buildDocumentUri(authority, documentId), user.getIdentifier());
    }

    /** {@hide} */
    public static Uri buildBaseDocumentUri(String authority) {
        return getBaseDocumentUriBuilder(authority).build();