Put temp files within app files

Bug: 8715614
Change-Id: I307d83923070994525cf0d27aad403e881a89314
main
Jean Chalard 2013-04-25 18:14:40 +09:00
parent 30f0f3a92a
commit a995bf4031
2 changed files with 14 additions and 1 deletions

View File

@ -72,10 +72,16 @@ final class BinaryDictionaryGetter {
public static String getTempFileName(final String id, final Context context)
throws IOException {
final String safeId = DictionaryInfoUtils.replaceFileNameDangerousCharacters(id);
final File directory = new File(DictionaryInfoUtils.getWordListTempDirectory(context));
if (!directory.exists()) {
if (!directory.mkdirs()) {
Log.e(TAG, "Could not create the temporary directory");
}
}
// If the first argument is less than three chars, createTempFile throws a
// RuntimeException. We don't really care about what name we get, so just
// put a three-chars prefix makes us safe.
return File.createTempFile("xxx" + safeId, null).getAbsolutePath();
return File.createTempFile("xxx" + safeId, null, directory).getAbsolutePath();
}
/**

View File

@ -128,6 +128,13 @@ public class DictionaryInfoUtils {
return context.getFilesDir() + File.separator + "dicts";
}
/**
* Helper method to get the top level temp directory.
*/
public static String getWordListTempDirectory(final Context context) {
return context.getFilesDir() + File.separator + "tmp";
}
/**
* Reverse escaping done by replaceFileNameDangerousCharacters.
*/