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

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: 🔍 Don't display the search engine until First Run completes 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..5cc1f2f12f28dfc1374cc197732c290b3a969158 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();
}
}
@@ -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,20 @@ 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;
+
+ SearchWidgetProvider.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 +302,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 +372,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) {

Powered by Google App Engine
This is Rietveld 408576698