diff options
author | Samuel Tardieu <sam@rfc1149.net> | 2014-11-20 19:54:39 +0100 |
---|---|---|
committer | Samuel Tardieu <sam@rfc1149.net> | 2014-11-20 19:54:39 +0100 |
commit | f8a8fb2b33fa41832f0fc3c027611e67a9daced6 (patch) | |
tree | 02075570b66bb8cc958b06448d709817ae0b2395 | |
parent | 78e5dfd643f0c797bfa98b544381ed4ab2c4fbbb (diff) | |
download | cgeo-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.java | 26 |
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 { |