aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-11-20 19:54:39 +0100
committerSamuel Tardieu <sam@rfc1149.net>2014-11-20 19:54:39 +0100
commitf8a8fb2b33fa41832f0fc3c027611e67a9daced6 (patch)
tree02075570b66bb8cc958b06448d709817ae0b2395
parent78e5dfd643f0c797bfa98b544381ed4ab2c4fbbb (diff)
downloadcgeo-f8a8fb2b33fa41832f0fc3c027611e67a9daced6.zip
cgeo-f8a8fb2b33fa41832f0fc3c027611e67a9daced6.tar.gz
cgeo-f8a8fb2b33fa41832f0fc3c027611e67a9daced6.tar.bz2
Use a scheduler instead of a thread to clear offline logs
-rw-r--r--main/src/cgeo/geocaching/CacheListActivity.java26
1 files changed, 10 insertions, 16 deletions
diff --git a/main/src/cgeo/geocaching/CacheListActivity.java b/main/src/cgeo/geocaching/CacheListActivity.java
index 739f128..d1c56b8 100644
--- a/main/src/cgeo/geocaching/CacheListActivity.java
+++ b/main/src/cgeo/geocaching/CacheListActivity.java
@@ -75,6 +75,7 @@ import rx.Subscription;
import rx.functions.Action0;
import rx.functions.Action1;
import rx.functions.Func1;
+import rx.schedulers.Schedulers;
import android.app.Activity;
import android.app.AlertDialog;
@@ -791,7 +792,7 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA
@Override
public void onClick(final DialogInterface dialog, final int which) {
progress.show(CacheListActivity.this, null, res.getString(R.string.caches_clear_offlinelogs_progress), true, clearOfflineLogsHandler.cancelMessage());
- new ClearOfflineLogsThread(clearOfflineLogsHandler, adapter.getCheckedOrAllCaches()).start();
+ clearOfflineLogs(clearOfflineLogsHandler, adapter.getCheckedOrAllCaches());
}
});
}
@@ -1241,21 +1242,14 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA
}
- private static class ClearOfflineLogsThread extends Thread {
-
- final private Handler handler;
- final private List<Geocache> selected;
-
- public ClearOfflineLogsThread(final Handler handlerIn, final List<Geocache> selectedCaches) {
- handler = handlerIn;
- selected = selectedCaches;
- }
-
- @Override
- public void run() {
- DataStore.clearLogsOffline(selected);
- handler.sendEmptyMessage(DownloadProgress.MSG_DONE);
- }
+ private static void clearOfflineLogs(final Handler handler, final List<Geocache> selectedCaches) {
+ Schedulers.io().createWorker().schedule(new Action0() {
+ @Override
+ public void call() {
+ DataStore.clearLogsOffline(selectedCaches);
+ handler.sendEmptyMessage(DownloadProgress.MSG_DONE);
+ }
+ });
}
private class MoreCachesListener implements View.OnClickListener {