diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-03-28 07:26:18 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-03-28 07:26:18 +0000 |
commit | a930a64a49d435f725918b531571f7be1975cf76 (patch) | |
tree | 2c3905e0be0ed6dc278a841d58028ae18f073d4a | |
parent | dd950b22c23db404e6a9da28bb6d8a5905d8abd5 (diff) | |
parent | b4fe17af341c99eb125c6d2e6bb2b85fc7c98441 (diff) | |
download | android_packages_providers_DownloadProvider-a930a64a49d435f725918b531571f7be1975cf76.tar.gz android_packages_providers_DownloadProvider-a930a64a49d435f725918b531571f7be1975cf76.tar.bz2 android_packages_providers_DownloadProvider-a930a64a49d435f725918b531571f7be1975cf76.zip |
Snap for 4683893 from b4fe17af341c99eb125c6d2e6bb2b85fc7c98441 to pi-release
Change-Id: Ia30e6deaabb3599602db5fcbd0513c6d865ec58d
-rw-r--r-- | src/com/android/providers/downloads/DownloadStorageProvider.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/DownloadStorageProvider.java b/src/com/android/providers/downloads/DownloadStorageProvider.java index 514afdd3..afcba961 100644 --- a/src/com/android/providers/downloads/DownloadStorageProvider.java +++ b/src/com/android/providers/downloads/DownloadStorageProvider.java @@ -366,6 +366,23 @@ public class DownloadStorageProvider extends FileSystemProvider { } @Override + public String getDocumentType(String docId) throws FileNotFoundException { + // Delegate to real provider + final long token = Binder.clearCallingIdentity(); + try { + if (RawDocumentsHelper.isRawDocId(docId)) { + return super.getDocumentType(docId); + } + + final long id = Long.parseLong(docId); + final ContentResolver resolver = getContext().getContentResolver(); + return resolver.getType(mDm.getDownloadUri(id)); + } finally { + Binder.restoreCallingIdentity(token); + } + } + + @Override public ParcelFileDescriptor openDocument(String docId, String mode, CancellationSignal signal) throws FileNotFoundException { // Delegate to real provider |