diff options
author | Jeff Sharkey <jsharkey@android.com> | 2013-10-01 14:02:35 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2013-10-01 14:02:38 -0700 |
commit | 04c1c2afb7481e7fb9b66f96023c79d19cad8c90 (patch) | |
tree | 226c8284cc317df5ee05771349b6d24578035f96 /src/com/android/providers/downloads/DownloadProvider.java | |
parent | e4dc524e195b2dd8d86dd80504500f8f5bb11d92 (diff) | |
download | android_packages_providers_DownloadProvider-04c1c2afb7481e7fb9b66f96023c79d19cad8c90.tar.gz android_packages_providers_DownloadProvider-04c1c2afb7481e7fb9b66f96023c79d19cad8c90.tar.bz2 android_packages_providers_DownloadProvider-04c1c2afb7481e7fb9b66f96023c79d19cad8c90.zip |
Allow all downloads to be writable.
Bug: 10943812
Change-Id: Ib0cb3e608c1f40a2e2fcd6e493c8f920d8b4221b
Diffstat (limited to 'src/com/android/providers/downloads/DownloadProvider.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadProvider.java | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java index cb3dc18b..750ee0fe 100644 --- a/src/com/android/providers/downloads/DownloadProvider.java +++ b/src/com/android/providers/downloads/DownloadProvider.java @@ -1195,10 +1195,8 @@ public final class DownloadProvider extends ContentProvider { logVerboseOpenFileInfo(uri, mode); } - final Cursor cursor = query(uri, new String[] { - Downloads.Impl._DATA, Downloads.Impl.COLUMN_ALLOW_WRITE }, null, null, null); + final Cursor cursor = query(uri, new String[] { Downloads.Impl._DATA }, null, null, null); String path; - boolean allowWrite; try { int count = (cursor != null) ? cursor.getCount() : 0; if (count != 1) { @@ -1211,7 +1209,6 @@ public final class DownloadProvider extends ContentProvider { cursor.moveToFirst(); path = cursor.getString(0); - allowWrite = cursor.getInt(1) != 0; } finally { IoUtils.closeQuietly(cursor); } @@ -1222,19 +1219,14 @@ public final class DownloadProvider extends ContentProvider { if (!Helpers.isFilenameValid(path, mDownloadsDataDir)) { throw new FileNotFoundException("Invalid filename: " + path); } - if (!allowWrite && !"r".equals(mode)) { - throw new FileNotFoundException("Bad mode for " + uri + ": " + mode); - } final File file = new File(path); - - ParcelFileDescriptor ret; if ("r".equals(mode)) { - ret = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY); + return ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY); } else { try { // When finished writing, update size and timestamp - ret = ParcelFileDescriptor.open(file, ParcelFileDescriptor.parseMode(mode), + return ParcelFileDescriptor.open(file, ParcelFileDescriptor.parseMode(mode), mHandler, new OnCloseListener() { @Override public void onClose(IOException e) { @@ -1249,14 +1241,6 @@ public final class DownloadProvider extends ContentProvider { throw new FileNotFoundException("Failed to open for writing: " + e); } } - - if (ret == null) { - if (Constants.LOGV) { - Log.v(Constants.TAG, "couldn't open file"); - } - throw new FileNotFoundException("couldn't open file"); - } - return ret; } @Override |