diff options
author | Jeff Sharkey <jsharkey@android.com> | 2014-12-01 20:07:54 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-12-01 20:07:54 +0000 |
commit | e04248468c8bba10230821a0ac30ee2f137fe0ed (patch) | |
tree | f3776ba9b17577df3ce64588ca4aa62d00052699 | |
parent | 05ee9f595d6f0090e81f69d3f3afbee9f0aea42c (diff) | |
parent | 2c8cddfdd905857643876e5b724ff188e7398ef2 (diff) | |
download | android_packages_providers_DownloadProvider-e04248468c8bba10230821a0ac30ee2f137fe0ed.tar.gz android_packages_providers_DownloadProvider-e04248468c8bba10230821a0ac30ee2f137fe0ed.tar.bz2 android_packages_providers_DownloadProvider-e04248468c8bba10230821a0ac30ee2f137fe0ed.zip |
am 2c8cddfd: am 36957351: am 1bb7a08a: Use FileUtils to validate FAT filenames.
* commit '2c8cddfdd905857643876e5b724ff188e7398ef2':
Use FileUtils to validate FAT filenames.
-rw-r--r-- | src/com/android/providers/downloads/Helpers.java | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/src/com/android/providers/downloads/Helpers.java b/src/com/android/providers/downloads/Helpers.java index eb071395..0aa49c0a 100644 --- a/src/com/android/providers/downloads/Helpers.java +++ b/src/com/android/providers/downloads/Helpers.java @@ -214,7 +214,7 @@ public class Helpers { // The VFAT file system is assumed as target for downloads. // Replace invalid characters according to the specifications of VFAT. - filename = replaceInvalidVfatCharacters(filename); + filename = FileUtils.buildValidFatFilename(filename); return filename; } @@ -665,53 +665,4 @@ public class Helpers { (c >= '0' && c <= '9'); } } - - /** - * Replace invalid filename characters according to - * specifications of the VFAT. - * @note Package-private due to testing. - */ - private static String replaceInvalidVfatCharacters(String filename) { - final char START_CTRLCODE = 0x00; - final char END_CTRLCODE = 0x1f; - final char QUOTEDBL = 0x22; - final char ASTERISK = 0x2A; - final char SLASH = 0x2F; - final char COLON = 0x3A; - final char LESS = 0x3C; - final char GREATER = 0x3E; - final char QUESTION = 0x3F; - final char BACKSLASH = 0x5C; - final char BAR = 0x7C; - final char DEL = 0x7F; - final char UNDERSCORE = 0x5F; - - StringBuffer sb = new StringBuffer(); - char ch; - boolean isRepetition = false; - for (int i = 0; i < filename.length(); i++) { - ch = filename.charAt(i); - if ((START_CTRLCODE <= ch && - ch <= END_CTRLCODE) || - ch == QUOTEDBL || - ch == ASTERISK || - ch == SLASH || - ch == COLON || - ch == LESS || - ch == GREATER || - ch == QUESTION || - ch == BACKSLASH || - ch == BAR || - ch == DEL){ - if (!isRepetition) { - sb.append(UNDERSCORE); - isRepetition = true; - } - } else { - sb.append(ch); - isRepetition = false; - } - } - return sb.toString(); - } } |