aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/CachePopup.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/CachePopup.java')
-rw-r--r--main/src/cgeo/geocaching/CachePopup.java63
1 files changed, 14 insertions, 49 deletions
diff --git a/main/src/cgeo/geocaching/CachePopup.java b/main/src/cgeo/geocaching/CachePopup.java
index 9186497..543be22 100644
--- a/main/src/cgeo/geocaching/CachePopup.java
+++ b/main/src/cgeo/geocaching/CachePopup.java
@@ -9,9 +9,11 @@ import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.CacheDetailsCreator;
import cgeo.geocaching.utils.CancellableHandler;
import cgeo.geocaching.utils.Log;
-import cgeo.geocaching.utils.RunnableWithArgument;
import org.apache.commons.lang3.StringUtils;
+import rx.Scheduler.Inner;
+import rx.functions.Action1;
+import rx.schedulers.Schedulers;
import android.content.Context;
import android.content.Intent;
@@ -110,9 +112,9 @@ public class CachePopup extends AbstractPopupActivity {
if (Settings.getChooseList()) {
// let user select list to store cache in
new StoredList.UserInterface(CachePopup.this).promptForListSelection(R.string.list_title,
- new RunnableWithArgument<Integer>() {
+ new Action1<Integer>() {
@Override
- public void run(final Integer selectedListId) {
+ public void call(final Integer selectedListId) {
storeCache(selectedListId);
}
}, true, StoredList.TEMPORARY_LIST_ID);
@@ -124,23 +126,13 @@ public class CachePopup extends AbstractPopupActivity {
protected void storeCache(final int listId) {
final StoreCacheHandler storeCacheHandler = new StoreCacheHandler(R.string.cache_dialog_offline_save_message);
progress.show(CachePopup.this, res.getString(R.string.cache_dialog_offline_save_title), res.getString(R.string.cache_dialog_offline_save_message), true, storeCacheHandler.cancelMessage());
- new StoreCacheThread(listId, storeCacheHandler).start();
- }
- }
-
- private class StoreCacheThread extends Thread {
- final private int listId;
- final private CancellableHandler handler;
-
- public StoreCacheThread(final int listId, final CancellableHandler handler) {
- this.listId = listId;
- this.handler = handler;
- }
-
- @Override
- public void run() {
- cache.store(listId, handler);
- invalidateOptionsMenuCompatible();
+ Schedulers.io().schedule(new Action1<Inner>() {
+ @Override
+ public void call(final Inner inner) {
+ cache.store(listId, storeCacheHandler);
+ invalidateOptionsMenuCompatible();
+ }
+ });
}
}
@@ -159,21 +151,7 @@ public class CachePopup extends AbstractPopupActivity {
final StoreCacheHandler refreshCacheHandler = new StoreCacheHandler(R.string.cache_dialog_offline_save_message);
progress.show(CachePopup.this, res.getString(R.string.cache_dialog_refresh_title), res.getString(R.string.cache_dialog_refresh_message), true, refreshCacheHandler.cancelMessage());
- new RefreshCacheThread(refreshCacheHandler).start();
- }
- }
-
- private class RefreshCacheThread extends Thread {
- final private CancellableHandler handler;
-
- public RefreshCacheThread(final CancellableHandler handler) {
- this.handler = handler;
- }
-
- @Override
- public void run() {
- cache.refresh(cache.getListId(), handler);
- handler.sendEmptyMessage(0);
+ cache.refresh(cache.getListId(), refreshCacheHandler, Schedulers.io());
}
}
@@ -187,20 +165,7 @@ public class CachePopup extends AbstractPopupActivity {
final DropCacheHandler dropCacheHandler = new DropCacheHandler();
progress.show(CachePopup.this, res.getString(R.string.cache_dialog_offline_drop_title), res.getString(R.string.cache_dialog_offline_drop_message), true, null);
- new DropCacheThread(dropCacheHandler).start();
- }
- }
-
- private class DropCacheThread extends Thread {
- final private Handler handler;
-
- public DropCacheThread(Handler handlerIn) {
- handler = handlerIn;
- }
-
- @Override
- public void run() {
- cache.drop(handler);
+ cache.drop(dropCacheHandler, Schedulers.io());
}
}