summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/BrowserHistoryPage.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/browser/BrowserHistoryPage.java')
-rw-r--r--src/com/android/browser/BrowserHistoryPage.java26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/com/android/browser/BrowserHistoryPage.java b/src/com/android/browser/BrowserHistoryPage.java
index f99e7b54f..2a095ad93 100644
--- a/src/com/android/browser/BrowserHistoryPage.java
+++ b/src/com/android/browser/BrowserHistoryPage.java
@@ -34,6 +34,7 @@ import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.Browser;
import android.provider.BrowserContract;
@@ -223,6 +224,7 @@ public class BrowserHistoryPage extends Fragment
switch (item.getItemId()) {
case R.id.clear_history_menu_id:
final ContentResolver resolver = getActivity().getContentResolver();
+ final ClearHistoryTask clear = new ClearHistoryTask(resolver, mCallbacks);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
.setTitle(R.string.clear)
.setMessage(R.string.pref_privacy_clear_history_dlg)
@@ -232,8 +234,7 @@ public class BrowserHistoryPage extends Fragment
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE) {
- Browser.clearHistory(resolver);
- mCallbacks.onRemoveParentChildRelationships();
+ clear.execute();
}
}
});
@@ -247,6 +248,27 @@ public class BrowserHistoryPage extends Fragment
return super.onOptionsItemSelected(item);
}
+ static class ClearHistoryTask extends AsyncTask<Void, Void, Void> {
+ ContentResolver mResolver;
+ BookmarksHistoryCallbacks mCallbacks;
+
+ public ClearHistoryTask(ContentResolver resolver,
+ BookmarksHistoryCallbacks callbacks) {
+ mResolver = resolver;
+ mCallbacks = callbacks;
+ }
+ @Override
+ protected Void doInBackground(Void... params) {
+ Browser.clearHistory(mResolver);
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void result) {
+ mCallbacks.onRemoveParentChildRelationships();
+ }
+ }
+
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
ExpandableListContextMenuInfo i = (ExpandableListContextMenuInfo) menuInfo;