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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java

Issue 2834253002: 🔍 Don't display the search engine until First Run completes (Closed)
Patch Set: Cmments Created 3 years, 8 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/searchwidget/SearchWidgetProvider.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
index cc0b913baf95757e5c0d350c388a019a8c3e7aaa..d66b67a895749d92f06cd713b45aa8d089e18ff1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
@@ -95,14 +95,7 @@ public class SearchWidgetProvider extends AppWidgetProvider {
}
private void updateCachedEngineName() {
- assert LibraryLoader.isInitialized();
-
- // Getting an instance of the TemplateUrlService requires that the native library be
- // loaded, but the TemplateUrlService also itself needs to be initialized.
- TemplateUrlService service = TemplateUrlService.getInstance();
- assert service.isLoaded();
- SearchWidgetProvider.updateCachedEngineName(
- service.getDefaultSearchEngineTemplateUrl().getShortName());
+ SearchWidgetProvider.updateCachedEngineName();
}
}
@@ -120,7 +113,7 @@ public class SearchWidgetProvider extends AppWidgetProvider {
"org.chromium.chrome.browser.searchwidget.IS_VOICE_SEARCH_AVAILABLE";
private static final String PREF_NUM_CONSECUTIVE_CRASHES =
"org.chromium.chrome.browser.searchwidget.NUM_CONSECUTIVE_CRASHES";
- private static final String PREF_SEARCH_ENGINE_SHORTNAME =
+ static final String PREF_SEARCH_ENGINE_SHORTNAME =
"org.chromium.chrome.browser.searchwidget.SEARCH_ENGINE_SHORTNAME";
/** Number of consecutive crashes this widget will absorb before giving up. */
@@ -263,7 +256,7 @@ public class SearchWidgetProvider extends AppWidgetProvider {
}
// Update what string is displayed by the widget.
- String text = TextUtils.isEmpty(engineName)
+ String text = TextUtils.isEmpty(engineName) || !shouldShowFullString()
? context.getString(R.string.search_widget_default)
: context.getString(R.string.search_with_product, engineName);
views.setTextViewText(R.id.title, text);
@@ -288,6 +281,19 @@ public class SearchWidgetProvider extends AppWidgetProvider {
}
}
+ /** Attempts to update the cached search engine name. */
+ public static void updateCachedEngineName() {
+ ThreadUtils.assertOnUiThread();
+ if (!LibraryLoader.isInitialized()) return;
+
+ // Getting an instance of the TemplateUrlService requires that the native library be
+ // loaded, but the TemplateUrlService also itself needs to be initialized.
+ TemplateUrlService service = TemplateUrlService.getInstance();
+ if (!service.isLoaded()) return;
+
+ updateCachedEngineName(service.getDefaultSearchEngineTemplateUrl().getShortName());
+ }
+
/**
* Updates the name of the user's default search engine that is cached in SharedPreferences.
* Caching it in SharedPreferences prevents us from having to load the native library and the
@@ -295,6 +301,9 @@ public class SearchWidgetProvider extends AppWidgetProvider {
*/
static void updateCachedEngineName(String engineName) {
SharedPreferences prefs = getDelegate().getSharedPreferences();
+
+ if (!shouldShowFullString()) engineName = null;
+
if (!TextUtils.equals(getCachedEngineName(prefs), engineName)) {
prefs.edit().putString(PREF_SEARCH_ENGINE_SHORTNAME, engineName).apply();
performUpdate(null);
@@ -362,6 +371,12 @@ public class SearchWidgetProvider extends AppWidgetProvider {
}
}
+ static boolean shouldShowFullString() {
+ Intent freIntent = FirstRunFlowSequencer.checkIfFirstRunIsNecessary(
+ getDelegate().getContext(), null, false);
+ return freIntent == null;
+ }
+
/** Sets an {@link SearchWidgetProviderDelegate} to interact with. */
@VisibleForTesting
static void setDelegateForTest(SearchWidgetProviderDelegate delegate) {
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java ('k') | chrome/android/java_sources.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698