mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 798135: Make GeckoAsyncTask run on GeckoBackgroundThread. [r=cpeterson]
--HG-- extra : rebase_source : 6b9d9d5b992bb3d641a959a8734d5844a51087db
This commit is contained in:
parent
601484e332
commit
61d4858950
@ -547,7 +547,7 @@ public class AwesomeBar extends GeckoActivity {
|
||||
|
||||
editPrompt.setPositiveButton(R.string.button_ok, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int whichButton) {
|
||||
(new GeckoAsyncTask<Void, Void, Void>(GeckoApp.mAppContext, GeckoAppShell.getHandler()) {
|
||||
(new GeckoAsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
public Void doInBackground(Void... params) {
|
||||
String newUrl = locationText.getText().toString().trim();
|
||||
@ -623,7 +623,7 @@ public class AwesomeBar extends GeckoActivity {
|
||||
break;
|
||||
}
|
||||
case R.id.remove_history: {
|
||||
(new GeckoAsyncTask<Void, Void, Void>(GeckoApp.mAppContext, GeckoAppShell.getHandler()) {
|
||||
(new GeckoAsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
public Void doInBackground(Void... params) {
|
||||
BrowserDB.removeHistoryEntry(mResolver, id);
|
||||
|
@ -917,7 +917,7 @@ abstract public class BrowserApp extends GeckoApp
|
||||
if (!Intent.ACTION_MAIN.equals(intent.getAction()))
|
||||
return;
|
||||
|
||||
(new GeckoAsyncTask<Void, Void, Boolean>(mAppContext, GeckoAppShell.getHandler()) {
|
||||
(new GeckoAsyncTask<Void, Void, Boolean>() {
|
||||
@Override
|
||||
public synchronized Boolean doInBackground(Void... params) {
|
||||
// Check to see how many times the app has been launched.
|
||||
@ -954,7 +954,7 @@ abstract public class BrowserApp extends GeckoApp
|
||||
}
|
||||
|
||||
private void getLastUrl() {
|
||||
(new GeckoAsyncTask<Void, Void, String>(mAppContext, GeckoAppShell.getHandler()) {
|
||||
(new GeckoAsyncTask<Void, Void, String>() {
|
||||
@Override
|
||||
public synchronized String doInBackground(Void... params) {
|
||||
// Get the most recent URL stored in browser history.
|
||||
|
@ -775,7 +775,7 @@ abstract public class GeckoApp
|
||||
}
|
||||
|
||||
void handleFaviconRequest(final String url) {
|
||||
(new GeckoAsyncTask<Void, Void, String>(mAppContext, GeckoAppShell.getHandler()) {
|
||||
(new GeckoAsyncTask<Void, Void, String>() {
|
||||
@Override
|
||||
public String doInBackground(Void... params) {
|
||||
return getFavicons().getFaviconUrlForPageUrl(url);
|
||||
|
@ -5,7 +5,6 @@
|
||||
|
||||
package org.mozilla.gecko.util;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Handler;
|
||||
|
||||
// AsyncTask runs onPostExecute on the thread it is constructed on
|
||||
@ -14,13 +13,12 @@ import android.os.Handler;
|
||||
public abstract class GeckoAsyncTask<Params, Progress, Result> {
|
||||
public enum Priority { NORMAL, HIGH };
|
||||
|
||||
private final Activity mActivity;
|
||||
private final Handler mBackgroundThreadHandler;
|
||||
private final Handler mHandler;
|
||||
private Priority mPriority = Priority.NORMAL;
|
||||
|
||||
public GeckoAsyncTask(Activity activity, Handler backgroundThreadHandler) {
|
||||
mActivity = activity;
|
||||
mBackgroundThreadHandler = backgroundThreadHandler;
|
||||
public GeckoAsyncTask() {
|
||||
mHandler = new Handler();
|
||||
mHandler.getLooper();
|
||||
}
|
||||
|
||||
private final class BackgroundTaskRunnable implements Runnable {
|
||||
@ -32,7 +30,7 @@ public abstract class GeckoAsyncTask<Params, Progress, Result> {
|
||||
|
||||
public void run() {
|
||||
final Result result = doInBackground(mParams);
|
||||
mActivity.runOnUiThread(new Runnable() {
|
||||
mHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
onPostExecute(result);
|
||||
}
|
||||
@ -43,9 +41,9 @@ public abstract class GeckoAsyncTask<Params, Progress, Result> {
|
||||
public final void execute(final Params... params) {
|
||||
BackgroundTaskRunnable runnable = new BackgroundTaskRunnable(params);
|
||||
if (mPriority == Priority.HIGH)
|
||||
mBackgroundThreadHandler.postAtFrontOfQueue(runnable);
|
||||
GeckoBackgroundThread.getHandler().postAtFrontOfQueue(runnable);
|
||||
else
|
||||
mBackgroundThreadHandler.post(runnable);
|
||||
GeckoBackgroundThread.getHandler().post(runnable);
|
||||
}
|
||||
|
||||
public final GeckoAsyncTask<Params, Progress, Result> setPriority(Priority priority) {
|
||||
|
@ -378,7 +378,7 @@ public final class Tab {
|
||||
if (url == null)
|
||||
return;
|
||||
|
||||
(new GeckoAsyncTask<Void, Void, Void>(GeckoApp.mAppContext, GeckoAppShell.getHandler()) {
|
||||
(new GeckoAsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
public Void doInBackground(Void... params) {
|
||||
if (url.equals(getURL())) {
|
||||
|
@ -71,7 +71,7 @@ public final class TabsAccessor {
|
||||
if (listener == null)
|
||||
return;
|
||||
|
||||
(new GeckoAsyncTask<Void, Void, Boolean>(GeckoApp.mAppContext, GeckoAppShell.getHandler()) {
|
||||
(new GeckoAsyncTask<Void, Void, Boolean>() {
|
||||
@Override
|
||||
protected Boolean doInBackground(Void... unused) {
|
||||
Uri uri = BrowserContract.Tabs.CONTENT_URI;
|
||||
@ -115,7 +115,7 @@ public final class TabsAccessor {
|
||||
if (listener == null)
|
||||
return;
|
||||
|
||||
(new GeckoAsyncTask<Void, Void, List<RemoteTab>>(GeckoApp.mAppContext, GeckoAppShell.getHandler()) {
|
||||
(new GeckoAsyncTask<Void, Void, List<RemoteTab>>() {
|
||||
@Override
|
||||
protected List<RemoteTab> doInBackground(Void... unused) {
|
||||
Uri uri = BrowserContract.Tabs.CONTENT_URI;
|
||||
|
Loading…
Reference in New Issue
Block a user