summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Wendt <thoemy@gmx.net>2013-02-14 01:36:58 +0100
committerThomas Wendt <thoemy@gmx.net>2013-02-24 22:33:15 +0100
commit58fe9af8ab11e2f0ef08c7aba09f075a7c09e069 (patch)
treeac2ec835d409180936002565771f941dd07f6d94
parentc150c8dd884d7f738f47bffa9fd50c0f05e6d0a6 (diff)
downloadandroid_packages_providers_DownloadProvider-58fe9af8ab11e2f0ef08c7aba09f075a7c09e069.tar.gz
android_packages_providers_DownloadProvider-58fe9af8ab11e2f0ef08c7aba09f075a7c09e069.tar.bz2
android_packages_providers_DownloadProvider-58fe9af8ab11e2f0ef08c7aba09f075a7c09e069.zip
Open images with content://media/ instead of content://downloads/ URI.
This allows images to be shared directly after opening them with the DownloadManager. Change-Id: I65c79923b7aef4c1113e572030c9c7f750b73df0
-rw-r--r--src/com/android/providers/downloads/OpenHelper.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/OpenHelper.java b/src/com/android/providers/downloads/OpenHelper.java
index 7eca95c9..5a92316b 100644
--- a/src/com/android/providers/downloads/OpenHelper.java
+++ b/src/com/android/providers/downloads/OpenHelper.java
@@ -18,6 +18,7 @@ package com.android.providers.downloads;
import static android.app.DownloadManager.COLUMN_LOCAL_FILENAME;
import static android.app.DownloadManager.COLUMN_LOCAL_URI;
+import static android.app.DownloadManager.COLUMN_MEDIAPROVIDER_URI;
import static android.app.DownloadManager.COLUMN_MEDIA_TYPE;
import static android.app.DownloadManager.COLUMN_URI;
import static android.provider.Downloads.Impl.ALL_DOWNLOADS_CONTENT_URI;
@@ -63,6 +64,10 @@ public class OpenHelper {
intent.putExtra(Intent.EXTRA_ORIGINATING_URI, remoteUri);
intent.putExtra(Intent.EXTRA_REFERRER, getRefererUri(context, id));
intent.putExtra(Intent.EXTRA_ORIGINATING_UID, getOriginatingUid(context, id));
+ } else if (mimeType.startsWith("image/") && !isNull(cursor, COLUMN_MEDIAPROVIDER_URI)) {
+ final Uri mediaUri = getCursorUri(cursor, COLUMN_MEDIAPROVIDER_URI);
+ intent.setDataAndType(mediaUri, mimeType);
+ intent.putExtra("SingleItemOnly", true);
} else if ("file".equals(localUri.getScheme())) {
intent.setDataAndType(
ContentUris.withAppendedId(ALL_DOWNLOADS_CONTENT_URI, id), mimeType);
@@ -111,6 +116,10 @@ public class OpenHelper {
return -1;
}
+ private static Boolean isNull(Cursor cursor, String column) {
+ return cursor.isNull(cursor.getColumnIndexOrThrow(column));
+ }
+
private static String getCursorString(Cursor cursor, String column) {
return cursor.getString(cursor.getColumnIndexOrThrow(column));
}