Add system API for building document URI with user ID.
This is required for the direct tabbed DocsUI experience that doesn't involve the up-front disambig (that always only has one app in it). Bug: 145895146 Bug: 147900456 Test: atest CtsProviderTestCases:android.provider.cts.DocumentsContractTest Change-Id: Ic44b592382d880cdd76df2885ca8c52b1b697697
This commit is contained in:
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user