summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorBen Lin <linben@google.com>2017-03-08 16:05:00 -0800
committerBen Lin <linben@google.com>2017-03-10 16:02:34 -0800
commit0a1a4287841fa10274c610de31e08765ffa0c269 (patch)
treeee66dd9387b2a0bf6f2b7b83e7afb32456073688 /ui
parent496bb75d2707bf190a2055103ca6f1c574530fc2 (diff)
downloadandroid_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.mk3
-rw-r--r--ui/src/com/android/providers/downloads/ui/TrampolineActivity.java15
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);