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