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