Index: chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java |
index 4422fb249a9ba58a7d8a49570fa98ce63788505a..c02f681d4a3badc0fc1621f031e6777da2893e97 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java |
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.init; |
import android.app.Activity; |
import android.content.Context; |
+import android.text.TextUtils; |
import android.view.View; |
import com.google.ipc.invalidation.external.client.android.service.AndroidLogger; |
@@ -19,6 +20,7 @@ import org.chromium.chrome.R; |
import org.chromium.chrome.browser.AppHooks; |
import org.chromium.chrome.browser.ChromeActivitySessionTracker; |
import org.chromium.chrome.browser.ChromeApplication; |
+import org.chromium.chrome.browser.ChromeSwitches; |
import org.chromium.chrome.browser.DeferredStartupHandler; |
import org.chromium.chrome.browser.DevToolsServer; |
import org.chromium.chrome.browser.banners.AppBannerManager; |
@@ -36,10 +38,13 @@ import org.chromium.chrome.browser.services.AccountsChangedReceiver; |
import org.chromium.chrome.browser.services.GoogleServicesManager; |
import org.chromium.chrome.browser.sync.SyncController; |
import org.chromium.components.signin.AccountManagerHelper; |
+import org.chromium.components.variations.VariationsAssociatedData; |
import org.chromium.content.common.ContentSwitches; |
import org.chromium.printing.PrintDocumentAdapterWrapper; |
import org.chromium.printing.PrintingControllerImpl; |
+import org.chromium.ui.OnPhotoPickerListener; |
import org.chromium.ui.UiUtils; |
+import org.chromium.ui.widget.Toast; |
/** |
* Handles the initialization dependences of the browser process. This is meant to handle the |
@@ -53,6 +58,10 @@ public class ProcessInitializationHandler { |
private static ProcessInitializationHandler sInstance; |
+ // Finch experiment. |
+ static final String PHOTO_PICKER_TRIAL = "photo_picker_trial"; |
Michael van Ouwerkerk
2017/03/13 14:04:17
Maybe rename to NEW_PHOTO_PICKER_STUDY_NAME = "New
Michael van Ouwerkerk
2017/03/13 14:04:17
nit: these fields can be private.
Finnur
2017/03/14 14:35:40
Both removed.
|
+ static final String PHOTO_PICKER_ENABLED = "photo_picker_enabled"; |
Michael van Ouwerkerk
2017/03/13 14:04:17
and then maybe this becomes NEW_PHOTO_PICKER_ENABL
Finnur
2017/03/14 14:35:40
Ditto.
|
+ |
private boolean mInitializedPreNative; |
private boolean mInitializedPostNative; |
private boolean mInitializedDeferredStartupTasks; |
@@ -153,6 +162,26 @@ public class ProcessInitializationHandler { |
ChromeLifetimeController.initialize(); |
PrefServiceBridge.getInstance().migratePreferences(application); |
+ |
+ boolean showPhotoPicker = |
Michael van Ouwerkerk
2017/03/13 14:04:17
maybe rename to "useNewPhotoPicker"
Finnur
2017/03/14 14:35:40
Redundant now.
|
+ TextUtils.equals("true", VariationsAssociatedData.getVariationParamValue( |
Michael van Ouwerkerk
2017/03/13 14:04:17
I'd suggest using ChromeFeatureList.getFieldTrialP
Finnur
2017/03/14 14:35:40
Opted for the simpler ChromeFeatureList.isEnabled.
|
+ PHOTO_PICKER_TRIAL, PHOTO_PICKER_ENABLED)); |
+ if (!showPhotoPicker) { |
+ CommandLine commandLine = CommandLine.getInstance(); |
+ showPhotoPicker = commandLine.hasSwitch(ChromeSwitches.ENABLE_NEW_PHOTO_PICKER); |
Michael van Ouwerkerk
2017/03/13 14:04:17
You shouldn't need to read from the command line,
Finnur
2017/03/14 14:35:40
Removed.
|
+ } |
+ if (showPhotoPicker) { |
+ UiUtils.setFilePickerDelegate(new UiUtils.FilePickerDelegate() { |
+ @Override |
+ public void showFilePicker( |
+ Context context, OnPhotoPickerListener listener, boolean allowMultiple) { |
+ Toast toast = Toast.makeText(context, "Not implemented!", Toast.LENGTH_SHORT); |
+ toast.show(); |
+ } |
+ @Override |
+ public void dismissFilePicker() {} |
+ }); |
+ } |
} |
/** |