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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxPlaceholderFieldTrial.java

Issue 2903293002: [Android] Omnibox Placeholder Experiment (Closed)
Patch Set: remove redundant initialization Created 3 years, 7 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: chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxPlaceholderFieldTrial.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxPlaceholderFieldTrial.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxPlaceholderFieldTrial.java
new file mode 100644
index 0000000000000000000000000000000000000000..99a70d52d67d59b2338ad16aa5b8cbb4af920777
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxPlaceholderFieldTrial.java
@@ -0,0 +1,86 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.omnibox;
+
+import android.content.res.Resources;
+
+import org.chromium.base.ContextUtils;
+import org.chromium.base.FieldTrialList;
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
+
+/**
+ * Provides Field Trial support for Omnibox Placeholder Experiment.
+ */
+public class OmniboxPlaceholderFieldTrial {
+ private static final String FIELD_TRIAL_NAME = "OmniboxPlaceholderExperiment";
+ private static final String GROUP_SEARCH_OR_TYPE_URL = "SearchOrTypeUrl";
+ private static final String GROUP_SEARCH_OR_TYPE_WEBSITE_NAME = "SearchOrTypeWebsiteName";
+ private static final String GROUP_SEARCH_THE_WEB = "SearchTheWeb";
+ private static final String GROUP_ENTER_A_SEARCH_OR_WEBSITE = "EnterASearchOrWebsite";
+ private static final String GROUP_SEARCH_NEWS = "SearchNews";
+ private static final String GROUP_SEARCH_RECIPES = "SearchRecipes";
+ private static final String GROUP_SEARCH_WEATHER = "SearchWeather";
+ private static final String GROUP_BLANK = "Blank";
+
+ private static String sCachedHint;
+
+ /** Prevent initialization of this class. */
+ private OmniboxPlaceholderFieldTrial() {}
+
+ /**
+ * Caches omnibox placeholder experiment group to shared preferences.
+ */
+ public static void cacheOmniboxPlaceholderGroup() {
+ String groupName = FieldTrialList.findFullName(FIELD_TRIAL_NAME);
+ ChromePreferenceManager.getInstance().setOmniboxPlaceholderGroup(groupName);
+ }
+
+ /**
+ * Initialize ominibox placeholder text to static variable sCachedHint
+ */
+ private static void initOmniboxPlaceholder() {
+ // setUrlBarHint is only called once when hint is not cached to static variable sCachedHint.
+ // This is to keep consistency on showing same hint to user in one session.
+ String groupName = ChromePreferenceManager.getInstance().getOmniboxPlaceholderGroup();
+ Resources resources = ContextUtils.getApplicationContext().getResources();
+ switch (groupName) {
+ case GROUP_SEARCH_OR_TYPE_URL:
+ sCachedHint = resources.getString(R.string.search_or_type_url);
+ break;
+ case GROUP_SEARCH_OR_TYPE_WEBSITE_NAME:
+ sCachedHint = resources.getString(R.string.search_or_type_website_name);
+ break;
+ case GROUP_SEARCH_THE_WEB:
+ sCachedHint = resources.getString(R.string.search_the_web);
+ break;
+ case GROUP_ENTER_A_SEARCH_OR_WEBSITE:
+ sCachedHint = resources.getString(R.string.enter_a_search_or_website);
+ break;
+ case GROUP_SEARCH_NEWS:
+ sCachedHint = resources.getString(R.string.search_news);
+ break;
+ case GROUP_SEARCH_RECIPES:
+ sCachedHint = resources.getString(R.string.search_recipes);
+ break;
+ case GROUP_SEARCH_WEATHER:
+ sCachedHint = resources.getString(R.string.search_weather);
+ break;
+ case GROUP_BLANK:
+ sCachedHint = "";
+ break;
+ default:
+ sCachedHint = resources.getString(R.string.search_or_type_url);
+ }
+ }
+
+ /**
+ * @return String of hint text to show in omnibox url bar.
+ */
+ public static String getOmniboxPlaceholder() {
+ if (sCachedHint == null) initOmniboxPlaceholder();
+ return sCachedHint;
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698