Make sure the directory where to put files actually exists

Bug: 5095140
Change-Id: I764471e54ce0bf6aefe5d604cee97639d5ad0af9
This commit is contained in:
Jean Chalard 2011-08-10 16:37:46 +09:00
parent cfca3c6317
commit d4c08d9be3

View file

@ -23,6 +23,7 @@ import android.content.res.Resources;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
@ -40,6 +41,8 @@ import java.util.Locale;
* file from the dictionary provider * file from the dictionary provider
*/ */
public class BinaryDictionaryFileDumper { public class BinaryDictionaryFileDumper {
private static final String TAG = BinaryDictionaryFileDumper.class.getSimpleName();
/** /**
* The size of the temporary buffer to copy files. * The size of the temporary buffer to copy files.
*/ */
@ -79,8 +82,16 @@ public class BinaryDictionaryFileDumper {
* Find out the cache directory associated with a specific locale. * Find out the cache directory associated with a specific locale.
*/ */
private static String getCacheDirectoryForLocale(Locale locale, Context context) { private static String getCacheDirectoryForLocale(Locale locale, Context context) {
final String directoryName = replaceFileNameDangerousCharacters(locale.toString()); final String relativeDirectoryName = replaceFileNameDangerousCharacters(locale.toString());
return context.getFilesDir() + File.separator + directoryName; final String absoluteDirectoryName = context.getFilesDir() + File.separator
+ relativeDirectoryName;
final File directory = new File(absoluteDirectoryName);
if (!directory.exists()) {
if (!directory.mkdirs()) {
Log.e(TAG, "Could not create the directory for locale" + locale);
}
}
return absoluteDirectoryName;
} }
/** /**