Chromium Code Reviews| 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 2b10d1a5fb5b124fc8f1bba0882dd57ace0ea98a..4f276a322ed35f907d4d0daa5fa5f0a5f259886f 100644 |
| --- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java |
| +++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java |
| @@ -28,6 +28,7 @@ import org.chromium.base.annotations.CalledByNative; |
| import org.chromium.base.annotations.JNINamespace; |
| import org.chromium.base.annotations.MainDex; |
| import org.chromium.base.metrics.RecordHistogram; |
| +import org.chromium.ui.OnPhotoPickerListener; |
| import org.chromium.ui.R; |
| import org.chromium.ui.UiUtils; |
| @@ -36,6 +37,7 @@ import java.io.IOException; |
| import java.util.ArrayList; |
| import java.util.Arrays; |
| import java.util.List; |
| +import java.util.Map; |
| /** |
| * A dialog that is triggered from a file input field that allows a user to select a file based on |
| @@ -43,8 +45,8 @@ import java.util.List; |
| */ |
| @JNINamespace("ui") |
| @MainDex |
| -public class SelectFileDialog |
| - implements WindowAndroid.IntentCallback, WindowAndroid.PermissionCallback { |
| +public class SelectFileDialog implements WindowAndroid.IntentCallback, |
| + WindowAndroid.PermissionCallback, OnPhotoPickerListener { |
| private static final String TAG = "SelectFileDialog"; |
| private static final String IMAGE_TYPE = "image/"; |
| private static final String VIDEO_TYPE = "video/"; |
| @@ -240,6 +242,14 @@ public class SelectFileDialog |
| if (soundRecorder != null) extraIntents.add(soundRecorder); |
| } |
| + // Use new photo picker, if available. |
| + Activity activity = mWindowAndroid.getActivity().get(); |
| + if (activity != null) { |
| + if (UiUtils.showPhotoPicker(activity, this, mAllowMultiple)) { |
|
Theresa
2017/03/15 15:56:32
nit: combine this with the line above:
if (activi
Finnur
2017/03/16 11:38:04
Done.
|
| + return; |
| + } |
| + } |
| + |
| Intent chooser = new Intent(Intent.ACTION_CHOOSER); |
| if (!extraIntents.isEmpty()) { |
| chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, |
| @@ -252,6 +262,33 @@ public class SelectFileDialog |
| } |
| } |
| + @Override |
| + public void onPickerUserAction(Action action, String[] photos) { |
| + UiUtils.dismissPhotoPicker(); |
| + |
| + switch (action) { |
| + case PHOTOS_SELECTED: |
| + // TODO(finnur): Implement. |
| + onFileNotSelected(); |
| + break; |
| + |
| + case LAUNCH_GALLERY: |
| + // TODO(finnur): Implement. |
| + onFileNotSelected(); |
| + break; |
| + |
| + case LAUNCH_CAMERA: |
| + // TODO(finnur): Implement. |
| + onFileNotSelected(); |
| + break; |
| + } |
| + } |
| + |
| + @Override |
| + public Map<String, Long> getFilesForTesting() { |
| + return null; |
| + } |
| + |
| private class GetCameraIntentTask extends AsyncTask<Void, Void, Uri> { |
| @Override |
| public Uri doInBackground(Void...voids) { |