diff options
| author | 2016-04-28 19:33:05 -0700 | |
|---|---|---|
| committer | 2016-04-28 19:33:05 -0700 | |
| commit | 0693fd85f69db553204168eeb342e6bf0b5fe7b5 (patch) | |
| tree | daee57c1fae51456f9ae1aa148364dd27b85f889 | |
| parent | b97fdfa39afe0dd90ebfb821a839a509475fd47c (diff) | |
Frameworks/base: Use holder in FileUtils
Use a holder for an uncommon Pattern instance in FileUtils.
Allows to compile-time initialize:
* android.os.FileUtils
Bug: 28174137
Change-Id: I4a7a388795a96678b4b26e4f2c02b1117d6a67f6
| -rw-r--r-- | core/java/android/os/FileUtils.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/core/java/android/os/FileUtils.java b/core/java/android/os/FileUtils.java index 7d74a1234c26..fa32848e6362 100644 --- a/core/java/android/os/FileUtils.java +++ b/core/java/android/os/FileUtils.java @@ -72,8 +72,13 @@ public class FileUtils { public static final int S_IWOTH = 00002; public static final int S_IXOTH = 00001; - /** Regular expression for safe filenames: no spaces or metacharacters */ - private static final Pattern SAFE_FILENAME_PATTERN = Pattern.compile("[\\w%+,./=_-]+"); + /** Regular expression for safe filenames: no spaces or metacharacters. + * + * Use a preload holder so that FileUtils can be compile-time initialized. + */ + private static class NoImagePreloadHolder { + public static final Pattern SAFE_FILENAME_PATTERN = Pattern.compile("[\\w%+,./=_-]+"); + } private static final File[] EMPTY = new File[0]; @@ -243,7 +248,7 @@ public class FileUtils { // Note, we check whether it matches what's known to be safe, // rather than what's known to be unsafe. Non-ASCII, control // characters, etc. are all unsafe by default. - return SAFE_FILENAME_PATTERN.matcher(file.getPath()).matches(); + return NoImagePreloadHolder.SAFE_FILENAME_PATTERN.matcher(file.getPath()).matches(); } /** |