Merge "if a download dir doesn't exist, create it or fail fast"

This commit is contained in:
Vasu Nori
2010-12-20 09:20:18 -08:00
committed by Android (Google) Code Review

View File

@@ -453,7 +453,19 @@ public class DownloadManager {
* @return this object
*/
public Request setDestinationInExternalPublicDir(String dirType, String subPath) {
setDestinationFromBase(Environment.getExternalStoragePublicDirectory(dirType), subPath);
File file = Environment.getExternalStoragePublicDirectory(dirType);
if (file.exists()) {
if (!file.isDirectory()) {
throw new IllegalStateException(file.getAbsolutePath() +
" already exists and is not a directory");
}
} else {
if (!file.mkdir()) {
throw new IllegalStateException("Unable to create directory: "+
file.getAbsolutePath());
}
}
setDestinationFromBase(file, subPath);
return this;
}