diff options
author | Steve Howard <showard@google.com> | 2010-07-27 17:02:14 -0700 |
---|---|---|
committer | Steve Howard <showard@google.com> | 2010-07-27 17:13:15 -0700 |
commit | f6b4c24b4a876daa3f4e91d6da418983222b9dfd (patch) | |
tree | ed70f4c5c2d622644dffb5b14a8b96c7626243f7 /src/com/android/providers/downloads/Helpers.java | |
parent | e6a05a1aa4697440e9630d12b741b3bae321fe49 (diff) | |
download | android_packages_providers_DownloadProvider-f6b4c24b4a876daa3f4e91d6da418983222b9dfd.tar.gz android_packages_providers_DownloadProvider-f6b4c24b4a876daa3f4e91d6da418983222b9dfd.tar.bz2 android_packages_providers_DownloadProvider-f6b4c24b4a876daa3f4e91d6da418983222b9dfd.zip |
Fix bug with closing output stream for external downloads.
I added a unit test to cover this, and it caught another issue with
disallowing external destinations outside of the default downloads
directory (which are now allowed with the new API).
Change-Id: I4df6442bebb06458ad28c85f6bc8cbcbf3ce67a1
Diffstat (limited to 'src/com/android/providers/downloads/Helpers.java')
-rw-r--r-- | src/com/android/providers/downloads/Helpers.java | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/com/android/providers/downloads/Helpers.java b/src/com/android/providers/downloads/Helpers.java index 58ab578a..f2988954 100644 --- a/src/com/android/providers/downloads/Helpers.java +++ b/src/com/android/providers/downloads/Helpers.java @@ -513,10 +513,9 @@ public class Helpers { * Checks whether the filename looks legitimate */ public static boolean isFilenameValid(String filename) { - File dir = new File(filename).getParentFile(); - return dir.equals(Environment.getDownloadCacheDirectory()) - || dir.equals(new File(Environment.getExternalStorageDirectory() - + Constants.DEFAULT_DL_SUBDIR)); + filename = filename.replaceFirst("/+", "/"); // normalize leading slashes + return filename.startsWith(Environment.getDownloadCacheDirectory().toString()) + || filename.startsWith(Environment.getExternalStorageDirectory().toString()); } /** |