Merge "Restricting DocumentsProvider#getType by implementing getTypeAnonymous" into udc-dev am: e990e9b660 am: 37893ac0b0

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21669719

Change-Id: I41ea75f3d17c28d8c5f46adb0ed59842e0aac862
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Ashish Kumar Gaurav
2023-03-07 13:36:29 +00:00
committed by Automerger Merge Worker
2 changed files with 14 additions and 0 deletions

View File

@@ -36890,6 +36890,7 @@ package android.provider {
method public String[] getDocumentStreamTypes(String, String);
method public String getDocumentType(String) throws java.io.FileNotFoundException;
method public final String getType(android.net.Uri);
method @Nullable public final String getTypeAnonymous(@NonNull android.net.Uri);
method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
method public boolean isChildDocument(String, String);
method public String moveDocument(String, String, String) throws java.io.FileNotFoundException;

View File

@@ -978,6 +978,19 @@ public abstract class DocumentsProvider extends ContentProvider {
}
}
/**
* An unrestricted version of getType, which does not reveal sensitive information
*/
@Override
public final @Nullable String getTypeAnonymous(@NonNull Uri uri) {
switch (mMatcher.match(uri)) {
case MATCH_ROOT:
return DocumentsContract.Root.MIME_TYPE_ITEM;
default:
return null;
}
}
/**
* Implementation is provided by the parent class. Can be overridden to
* provide additional functionality, but subclasses <em>must</em> always