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

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

Issue 2930063002: Ensure TemplateUrlService is loaded in SearchActivity. (Closed)
Patch Set: Rebase 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/search_engines/TemplateUrlService.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
index ed36c93110c7665929b1d38558fe03e8780b108c..d4865d7c280a19c9330d71ed8812a3913a15d64a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.init.AsyncInitializationActivity;
import org.chromium.chrome.browser.locale.LocaleManager;
import org.chromium.chrome.browser.omnibox.AutocompleteController;
+import org.chromium.chrome.browser.search_engines.TemplateUrlService;
import org.chromium.chrome.browser.snackbar.SnackbarManager;
import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable;
import org.chromium.chrome.browser.tab.Tab;
@@ -161,6 +162,8 @@ public class SearchActivity extends AsyncInitializationActivity
final Callback<Boolean> deferredCallback = new Callback<Boolean>() {
@Override
public void onResult(Boolean result) {
+ if (isActivityDestroyed()) return;
+
if (result == null || !result.booleanValue()) {
Log.e(TAG, "User failed to select a default search engine.");
finish();
@@ -170,14 +173,21 @@ public class SearchActivity extends AsyncInitializationActivity
finishDeferredInitialization();
}
};
- if (!getActivityDelegate().showSearchEngineDialogIfNeeded(this, deferredCallback)) {
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- finishDeferredInitialization();
+ final Runnable showSearchEngineDialogTrigger = new Runnable() {
+ @Override
+ public void run() {
+ if (!getActivityDelegate().showSearchEngineDialogIfNeeded(
+ SearchActivity.this, deferredCallback)) {
+ mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ deferredCallback.onResult(true);
+ }
+ });
}
- });
- }
+ }
+ };
+ TemplateUrlService.getInstance().runWhenLoaded(showSearchEngineDialogTrigger);
}
void finishDeferredInitialization() {
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/search_engines/TemplateUrlService.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698