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) { |