diff options
author | Jeff Sharkey <jsharkey@android.com> | 2012-12-06 15:54:44 -0800 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2012-12-13 15:42:32 -0800 |
commit | 5cff4ecb10e89e4fb39cd9e39b8753a31efbe3cc (patch) | |
tree | 9713a0f3b22fb5e025847acde2accba0a8a3b3fe /src/com/android/providers/downloads/OpenHelper.java | |
parent | 1244a63f799ab689a2d7d94415133be26580ae70 (diff) | |
download | android_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.java | 10 |
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))); + } } |