Use AsyncTask when calling Browser.updateVisitedHistory
Previously updateVisitedHistory itself used an AsyncTask, but
since that method could be called from a non-main thread, move
the AsyncTask to the call site.
Part of http://b/issue?id=2539948
Change-Id: I9a70130ab125490fa96964ea9637eba67732180a
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 1f15186..ff16e4e 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -597,8 +597,15 @@
return false;
}
- Browser.updateVisitedHistory(mResolver, url, false);
- Browser.addSearchUrl(mResolver, url);
+ final ContentResolver cr = mResolver;
+ final String newUrl = url;
+ new AsyncTask<Void, Void, Void>() {
+ protected Void doInBackground(Void... unused) {
+ Browser.updateVisitedHistory(cr, newUrl, false);
+ Browser.addSearchUrl(cr, newUrl);
+ return null;
+ }
+ }.execute();
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.addCategory(Intent.CATEGORY_DEFAULT);
@@ -651,7 +658,14 @@
// But currently, we get the user-typed URL from search box as well.
url = fixUrl(url);
url = smartUrlFilter(url);
- Browser.updateVisitedHistory(mResolver, url, false);
+ final ContentResolver cr = mResolver;
+ final String newUrl = url;
+ new AsyncTask<Void, Void, Void>() {
+ protected Void doInBackground(Void... unused) {
+ Browser.updateVisitedHistory(cr, newUrl, false);
+ return null;
+ }
+ }.execute();
String searchSource = "&source=android-" + GOOGLE_SEARCH_SOURCE_SUGGEST + "&";
if (url.contains(searchSource)) {
String source = null;