diff options
author | Tomasz Mikolajewski <mtomasz@google.com> | 2016-02-02 11:55:47 +0900 |
---|---|---|
committer | Tomasz Mikolajewski <mtomasz@google.com> | 2016-02-03 12:26:07 +0900 |
commit | 3b4301a153221814ded7e76208e7b93b8f19e9b2 (patch) | |
tree | 1f2fb7728dcb4013e51b6907ac46ca198690afc0 /src/com/android/providers/downloads/OpenHelper.java | |
parent | 139179396f7c9bc94c67d45cd93c82bc56b6cae2 (diff) | |
download | android_packages_providers_DownloadProvider-3b4301a153221814ded7e76208e7b93b8f19e9b2.tar.gz android_packages_providers_DownloadProvider-3b4301a153221814ded7e76208e7b93b8f19e9b2.tar.bz2 android_packages_providers_DownloadProvider-3b4301a153221814ded7e76208e7b93b8f19e9b2.zip |
Migrate the DownloadProvider's trampoline to use SAF Uris.
Change-Id: I551f830637e023f810a08ba549ecbb7f717b4e9c
Diffstat (limited to 'src/com/android/providers/downloads/OpenHelper.java')
-rw-r--r-- | src/com/android/providers/downloads/OpenHelper.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/com/android/providers/downloads/OpenHelper.java b/src/com/android/providers/downloads/OpenHelper.java index 8124df97..7a74c88c 100644 --- a/src/com/android/providers/downloads/OpenHelper.java +++ b/src/com/android/providers/downloads/OpenHelper.java @@ -31,6 +31,7 @@ import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.StrictMode; +import android.provider.DocumentsContract; import android.provider.Downloads.Impl.RequestHeaders; import android.util.Log; @@ -82,6 +83,9 @@ public class OpenHelper { String mimeType = getCursorString(cursor, COLUMN_MEDIA_TYPE); mimeType = DownloadDrmHelper.getOriginalMimeType(context, file, mimeType); + final Uri documentUri = DocumentsContract.buildDocumentUri( + Constants.STORAGE_AUTHORITY, String.valueOf(id)); + final Intent intent = new Intent(Intent.ACTION_VIEW); if ("application/vnd.android.package-archive".equals(mimeType)) { @@ -94,13 +98,12 @@ public class OpenHelper { intent.putExtra(Intent.EXTRA_REFERRER, getRefererUri(context, id)); intent.putExtra(Intent.EXTRA_ORIGINATING_UID, getOriginatingUid(context, id)); } else if ("file".equals(localUri.getScheme())) { + intent.setDataAndType(documentUri, mimeType); intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); - intent.setDataAndType( - ContentUris.withAppendedId(ALL_DOWNLOADS_CONTENT_URI, id), mimeType); } else { - intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); - intent.setDataAndType(localUri, mimeType); + throw new UnsupportedOperationException( + "Unsupported scheme: " + localUri.getScheme()); } return intent; |