Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: ui/android/java/src/org/chromium/ui/UiUtils.java

Issue 2737393002: Implement the new Photo picker, part one. (Closed)
Patch Set: git cl upload Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/android/java/src/org/chromium/ui/UiUtils.java
diff --git a/ui/android/java/src/org/chromium/ui/UiUtils.java b/ui/android/java/src/org/chromium/ui/UiUtils.java
index 61fa37f2cf3329ee49812dae8339a9d63282d62e..dcfda266454a29bccd676718713cef904dad59bb 100644
--- a/ui/android/java/src/org/chromium/ui/UiUtils.java
+++ b/ui/android/java/src/org/chromium/ui/UiUtils.java
@@ -56,6 +56,9 @@ public class UiUtils {
/** A delegate that allows disabling keyboard visibility detection. */
private static KeyboardShowingDelegate sKeyboardShowingDelegate;
+ /** A delegate for the photo picker. */
+ private static PhotoPickerDelegate sPhotoPickerDelegate;
+
/**
* A delegate that can be implemented to override whether or not keyboard detection will be
* used.
@@ -71,6 +74,59 @@ public class UiUtils {
}
/**
+ * A delegate interface for the photo picker.
+ */
+ public interface PhotoPickerDelegate {
+ /**
+ * Called to display the photo picker.
+ * @param context The context to use.
+ * @param listener The listener that will be notified of the action the user took in the
+ * picker.
+ * @param allowMultiple Whether the dialog should allow multiple images to be selected.
+ */
+ void showPhotoPicker(Context context, PhotoPickerListener listener, boolean allowMultiple);
+
+ /**
+ * Called when the photo picker dialog should be dismissed.
+ */
+ void dismissPhotoPicker();
+ }
+
+ // PhotoPickerDelegate:
+
+ /**
+ * Allows setting a delegate to override the default Android stock photo picker.
+ * @param delegate A {@link PhotoPickerDelegate} instance.
+ */
+ public static void setPhotoPickerDelegate(PhotoPickerDelegate delegate) {
+ sPhotoPickerDelegate = delegate;
+ }
+
+ /**
+ * Called to display the photo picker.
+ * @param context The context to use.
+ * @param listener The listener that will be notified of the action the user took in the
+ * picker.
+ * @param allowMultiple Whether the dialog should allow multiple images to be selected.
+ */
+ public static boolean showPhotoPicker(
+ Context context, PhotoPickerListener listener, boolean allowMultiple) {
+ if (sPhotoPickerDelegate == null) return false;
+ sPhotoPickerDelegate.showPhotoPicker(context, listener, allowMultiple);
+ return true;
+ }
+
+ /**
+ * Called when the photo picker dialog should be dismissed.
+ */
+ public static void dismissPhotoPicker() {
+ if (sPhotoPickerDelegate == null) return;
+ sPhotoPickerDelegate.dismissPhotoPicker();
+ }
+
+ // KeyboardShowingDelegate:
+
+ /**
* Allows setting a delegate to override the default software keyboard visibility detection.
* @param delegate A {@link KeyboardShowingDelegate} instance.
*/

Powered by Google App Engine
This is Rietveld 408576698