diff options
author | Ben Lin <linben@google.com> | 2017-03-08 16:05:00 -0800 |
---|---|---|
committer | Ben Lin <linben@google.com> | 2017-03-10 16:02:34 -0800 |
commit | 0a1a4287841fa10274c610de31e08765ffa0c269 (patch) | |
tree | ee66dd9387b2a0bf6f2b7b83e7afb32456073688 /ui | |
parent | 496bb75d2707bf190a2055103ca6f1c574530fc2 (diff) | |
download | android_packages_providers_DownloadProvider-0a1a4287841fa10274c610de31e08765ffa0c269.tar.gz android_packages_providers_DownloadProvider-0a1a4287841fa10274c610de31e08765ffa0c269.tar.bz2 android_packages_providers_DownloadProvider-0a1a4287841fa10274c610de31e08765ffa0c269.zip |
Add rawDocumentsUri handling to TrampolineActivity.
Test: Build, compiles, does not crash.
Bug: 36033829
Change-Id: I8756c6abd872e4b14cff3c604c37f82323b44c27
Diffstat (limited to 'ui')
-rw-r--r-- | ui/Android.mk | 3 | ||||
-rw-r--r-- | ui/src/com/android/providers/downloads/ui/TrampolineActivity.java | 15 |
2 files changed, 16 insertions, 2 deletions
diff --git a/ui/Android.mk b/ui/Android.mk index 14211ea2..9a545550 100644 --- a/ui/Android.mk +++ b/ui/Android.mk @@ -6,7 +6,8 @@ LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, src) \ ../src/com/android/providers/downloads/OpenHelper.java \ ../src/com/android/providers/downloads/Constants.java \ - ../src/com/android/providers/downloads/DownloadDrmHelper.java + ../src/com/android/providers/downloads/DownloadDrmHelper.java \ + ../src/com/android/providers/downloads/RawDocumentsHelper.java LOCAL_PACKAGE_NAME := DownloadProviderUi LOCAL_CERTIFICATE := media diff --git a/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java b/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java index 5d4e7a45..41d7187a 100644 --- a/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java +++ b/ui/src/com/android/providers/downloads/ui/TrampolineActivity.java @@ -23,17 +23,21 @@ import android.app.DialogFragment; import android.app.DownloadManager; import android.app.DownloadManager.Query; import android.app.FragmentManager; +import android.content.ActivityNotFoundException; import android.content.ContentUris; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; +import android.net.Uri; import android.os.Bundle; +import android.provider.DocumentsContract; import android.util.Log; import android.widget.Toast; import com.android.providers.downloads.Constants; import com.android.providers.downloads.OpenHelper; +import com.android.providers.downloads.RawDocumentsHelper; import libcore.io.IoUtils; @@ -53,8 +57,17 @@ public class TrampolineActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - final long id = ContentUris.parseId(getIntent().getData()); + Uri documentUri = getIntent().getData(); + if (RawDocumentsHelper.isRawDocId(DocumentsContract.getDocumentId(documentUri))) { + if (!RawDocumentsHelper.startViewIntent(this, documentUri)) { + Toast.makeText(this, R.string.download_no_application_title, Toast.LENGTH_SHORT) + .show(); + } + finish(); + return; + } + final long id = ContentUris.parseId(documentUri); final DownloadManager dm = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); dm.setAccessAllDownloads(true); |