Index: ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java |
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java |
index 4ba85b04ed85fb10b00680ff41b418f7f278785c..2670bec4fe54a0f0553be895bd972a3ff40364ba 100644 |
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java |
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java |
@@ -13,7 +13,6 @@ import android.content.Intent; |
import android.net.Uri; |
import android.os.AsyncTask; |
import android.os.Build; |
-import android.os.Environment; |
import android.provider.MediaStore; |
import android.text.TextUtils; |
import android.util.Log; |
@@ -22,6 +21,7 @@ import org.chromium.base.CalledByNative; |
import org.chromium.base.ContentUriUtils; |
import org.chromium.base.JNINamespace; |
import org.chromium.ui.R; |
+import org.chromium.ui.UiUtils; |
import java.io.File; |
import java.io.IOException; |
@@ -43,9 +43,6 @@ class SelectFileDialog implements WindowAndroid.IntentCallback { |
private static final String ALL_VIDEO_TYPES = VIDEO_TYPE + "*"; |
private static final String ALL_AUDIO_TYPES = AUDIO_TYPE + "*"; |
private static final String ANY_TYPES = "*/*"; |
- private static final String CAPTURE_IMAGE_DIRECTORY = "browser-photos"; |
- // Keep this variable in sync with the value defined in file_paths.xml. |
- private static final String IMAGE_FILE_PATH = "images"; |
private final long mNativeSelectFileDialog; |
private List<String> mFileTypes; |
@@ -76,12 +73,8 @@ class SelectFileDialog implements WindowAndroid.IntentCallback { |
camera.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION |
| Intent.FLAG_GRANT_WRITE_URI_PERMISSION); |
try { |
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { |
- mCameraOutputUri = ContentUriUtils.getContentUriFromFile( |
- context, getFileForImageCapture(context)); |
- } else { |
- mCameraOutputUri = Uri.fromFile(getFileForImageCapture(context)); |
- } |
+ mCameraOutputUri = |
+ UiUtils.getUriForImageCaptureFile(context, getFileForImageCapture(context)); |
} catch (IOException e) { |
Log.e(TAG, "Cannot retrieve content uri from file", e); |
} |
@@ -93,9 +86,8 @@ class SelectFileDialog implements WindowAndroid.IntentCallback { |
camera.putExtra(MediaStore.EXTRA_OUTPUT, mCameraOutputUri); |
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { |
- camera.setClipData( |
- ClipData.newUri(context.getContentResolver(), |
- IMAGE_FILE_PATH, mCameraOutputUri)); |
+ camera.setClipData(ClipData.newUri( |
+ context.getContentResolver(), UiUtils.IMAGE_FILE_PATH, mCameraOutputUri)); |
} |
Intent camcorder = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); |
Intent soundRecorder = new Intent( |
@@ -162,23 +154,8 @@ class SelectFileDialog implements WindowAndroid.IntentCallback { |
* @return file path for the captured image to be stored. |
*/ |
private File getFileForImageCapture(Context context) throws IOException { |
- File path; |
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { |
- path = new File(context.getFilesDir(), IMAGE_FILE_PATH); |
- if (!path.exists() && !path.mkdir()) { |
- throw new IOException("Folder cannot be created."); |
- } |
- } else { |
- File externalDataDir = Environment.getExternalStoragePublicDirectory( |
- Environment.DIRECTORY_DCIM); |
- path = new File(externalDataDir.getAbsolutePath() |
- + File.separator + CAPTURE_IMAGE_DIRECTORY); |
- if (!path.exists() && !path.mkdirs()) { |
- path = externalDataDir; |
- } |
- } |
- File photoFile = File.createTempFile( |
- String.valueOf(System.currentTimeMillis()), ".jpg", path); |
+ File photoFile = File.createTempFile(String.valueOf(System.currentTimeMillis()), ".jpg", |
+ UiUtils.getDirectoryForImageCapture(context)); |
return photoFile; |
} |