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

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

Issue 2903293002: [Android] Omnibox Placeholder Experiment (Closed)
Patch Set: cache experiment group instead of hint text Created 3 years, 6 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.chrome.browser.omnibox;
6
7 import android.content.res.Resources;
8
9 import org.chromium.base.CommandLine;
10 import org.chromium.base.ContextUtils;
11 import org.chromium.base.FieldTrialList;
12 import org.chromium.chrome.R;
13 import org.chromium.chrome.browser.ChromeSwitches;
14 import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
15
16 /**
17 * Provides Field Trial support for Clank Omnibox Placeholder Experiment.
18 */
19 public class OmniboxPlaceholderFieldTrial {
20 private static final String FIELD_TRIAL_NAME = "ClankOmniboxPlaceholderExper iment";
21 private static final String GROUP_SEARCH_OR_TYPE_URL = "SearchOrTypeUrl";
22 private static final String GROUP_SEARCH_OR_TYPE_WEBSITE_NAME = "SearchOrTyp eWebsiteName";
23 private static final String GROUP_SEARCH_THE_WEB = "SearchTheWeb";
24 private static final String GROUP_ENTER_A_SEARCH_OR_WEBSITE = "EnterASearchO rWebsite";
25 private static final String GROUP_SEARCH_NEWS = "SearchNews";
26 private static final String GROUP_SEARCH_RECIPES = "SearchRecipes";
27 private static final String GROUP_SEARCH_WEATHER = "SearchWeather";
28 private static final String GROUP_BLANK = "Blank";
29
30 private static String sCachedHint = null;
31
32 /** Prevent initialization of this class. */
33 private OmniboxPlaceholderFieldTrial() {}
34
35 /**
36 * Caches omnibox placeholder experiment group to shared preferences.
37 */
38 public static void cacheOmniboxPlaceholder() {
39 String groupName = FieldTrialList.findFullName(FIELD_TRIAL_NAME);
40
41 if (CommandLine.isInitialized()) {
42 CommandLine instance = CommandLine.getInstance();
43 if (instance.hasSwitch(ChromeSwitches.OMNIBOX_PLACEHOLDER_EXPERIMENT )) {
44 groupName = instance.getSwitchValue(ChromeSwitches.OMNIBOX_PLACE HOLDER_EXPERIMENT);
45 }
46 }
47 ChromePreferenceManager.getInstance().setOmniboxPlaceholder(groupName);
mdjones 2017/05/30 17:34:08 nit: setOmniboxPlaceholderGroup or similar
huayinz 2017/05/30 18:19:25 Done.
48 }
49
50 /**
51 * Set ominibox placeholder text to static variable sCachedHint
52 */
53 private static void setOmniboxPlaceholder() {
54 // setUrlBarHint is only called once when hint is not cached to static v ariable sCachedHint.
55 // This is to keep consistency on showing same hint to user in one sessi on.
56 String groupName = ChromePreferenceManager.getInstance().getOmniboxPlace holder();
57 Resources resources = ContextUtils.getApplicationContext().getResources( );
58 switch (groupName) {
59 case GROUP_SEARCH_OR_TYPE_URL:
60 sCachedHint = resources.getString(R.string.search_or_type_url);
61 break;
62 case GROUP_SEARCH_OR_TYPE_WEBSITE_NAME:
63 sCachedHint = resources.getString(R.string.search_or_type_websit e_name);
64 break;
65 case GROUP_SEARCH_THE_WEB:
66 sCachedHint = resources.getString(R.string.search_the_web);
67 break;
68 case GROUP_ENTER_A_SEARCH_OR_WEBSITE:
69 sCachedHint = resources.getString(R.string.enter_a_search_or_web site);
70 break;
71 case GROUP_SEARCH_NEWS:
72 sCachedHint = resources.getString(R.string.search_news);
73 break;
74 case GROUP_SEARCH_RECIPES:
75 sCachedHint = resources.getString(R.string.search_recipes);
76 break;
77 case GROUP_SEARCH_WEATHER:
78 sCachedHint = resources.getString(R.string.search_weather);
79 break;
80 case GROUP_BLANK:
81 sCachedHint = "";
82 break;
83 default:
84 sCachedHint = resources.getString(R.string.search_or_type_url);
85 }
86 }
87
88 /**
89 * @return String of hint text to show in omnibox url bar.
90 */
91 public static String getOmniboxPlaceholder() {
92 if (sCachedHint == null) setOmniboxPlaceholder();
93 return sCachedHint;
94 }
95 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698