summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/OpenHelper.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-12-06 15:54:44 -0800
committerJeff Sharkey <jsharkey@android.com>2012-12-13 15:42:32 -0800
commit5cff4ecb10e89e4fb39cd9e39b8753a31efbe3cc (patch)
tree9713a0f3b22fb5e025847acde2accba0a8a3b3fe /src/com/android/providers/downloads/OpenHelper.java
parent1244a63f799ab689a2d7d94415133be26580ae70 (diff)
downloadandroid_packages_providers_DownloadProvider-5cff4ecb10e89e4fb39cd9e39b8753a31efbe3cc.tar.gz
android_packages_providers_DownloadProvider-5cff4ecb10e89e4fb39cd9e39b8753a31efbe3cc.tar.bz2
android_packages_providers_DownloadProvider-5cff4ecb10e89e4fb39cd9e39b8753a31efbe3cc.zip
Cleaner I/O.
This cleans up writing of downloaded data by always writing through OutputStream interface, which applies DRM if needed. Hands I/O streams along with method calls to give clearer chain of ownership. Only retry writes once after verifying free space. Remove checkCanHandleDownload() check, since most downloads are now using public API. Release DrmManagerClient sessions when finished. Change-Id: I49e479089a8218690b556d31ec65a030930ad368
Diffstat (limited to 'src/com/android/providers/downloads/OpenHelper.java')
-rw-r--r--src/com/android/providers/downloads/OpenHelper.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/com/android/providers/downloads/OpenHelper.java b/src/com/android/providers/downloads/OpenHelper.java
index 7eca95c9..0d5f5e92 100644
--- a/src/com/android/providers/downloads/OpenHelper.java
+++ b/src/com/android/providers/downloads/OpenHelper.java
@@ -30,6 +30,8 @@ import android.database.Cursor;
import android.net.Uri;
import android.provider.Downloads.Impl.RequestHeaders;
+import java.io.File;
+
public class OpenHelper {
/**
* Build an {@link Intent} to view the download at current {@link Cursor}
@@ -47,9 +49,9 @@ public class OpenHelper {
}
final Uri localUri = getCursorUri(cursor, COLUMN_LOCAL_URI);
- final String filename = getCursorString(cursor, COLUMN_LOCAL_FILENAME);
+ final File file = getCursorFile(cursor, COLUMN_LOCAL_FILENAME);
String mimeType = getCursorString(cursor, COLUMN_MEDIA_TYPE);
- mimeType = DownloadDrmHelper.getOriginalMimeType(context, filename, mimeType);
+ mimeType = DownloadDrmHelper.getOriginalMimeType(context, file, mimeType);
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
@@ -122,4 +124,8 @@ public class OpenHelper {
private static long getCursorLong(Cursor cursor, String column) {
return cursor.getLong(cursor.getColumnIndexOrThrow(column));
}
+
+ private static File getCursorFile(Cursor cursor, String column) {
+ return new File(cursor.getString(cursor.getColumnIndexOrThrow(column)));
+ }
}