diff options
author | Samuel Tardieu <sam@rfc1149.net> | 2014-04-05 14:55:40 +0200 |
---|---|---|
committer | Samuel Tardieu <sam@rfc1149.net> | 2014-04-05 18:23:20 +0200 |
commit | cca4c9b0bcc1bd7742d419166fd5cfd5415fde9e (patch) | |
tree | 5c88f703e8130e07ff98e0f13277a8fddc44d2b1 /main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java | |
parent | de71f9ba50bf7ee8f8987402b52912b014c5b460 (diff) | |
download | cgeo-cca4c9b0bcc1bd7742d419166fd5cfd5415fde9e.zip cgeo-cca4c9b0bcc1bd7742d419166fd5cfd5415fde9e.tar.gz cgeo-cca4c9b0bcc1bd7742d419166fd5cfd5415fde9e.tar.bz2 |
Do not use AndroidObservable
This lets us return to an unmodified version of RxJava.
Diffstat (limited to 'main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java')
-rw-r--r-- | main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java b/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java index 49239bc..1b18438 100644 --- a/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java +++ b/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java @@ -6,14 +6,13 @@ import cgeo.geocaching.network.Network; import cgeo.geocaching.network.Parameters; import cgeo.geocaching.ui.dialog.Dialogs; import cgeo.geocaching.utils.Log; +import cgeo.geocaching.utils.RxUtils; import ch.boye.httpclientandroidlib.HttpResponse; import org.apache.commons.lang3.StringUtils; import rx.Observable; -import rx.android.observables.AndroidObservable; import rx.functions.Action1; import rx.functions.Func0; -import rx.schedulers.Schedulers; import android.app.ProgressDialog; import android.content.Context; @@ -53,30 +52,29 @@ public class RegisterSend2CgeoPreference extends AbstractClickablePreference { activity.getString(R.string.init_sendToCgeo_registering), true); progressDialog.setCancelable(false); - AndroidObservable.bindActivity(activity, - Observable.defer(new Func0<Observable<Integer>>() { - @Override - public Observable<Integer> call() { - final String nam = StringUtils.defaultString(deviceName); - final String cod = StringUtils.defaultString(deviceCode); - - final Parameters params = new Parameters("name", nam, "code", cod); - HttpResponse response = Network.getRequest("http://send2.cgeo.org/auth.html", params); - - if (response != null && response.getStatusLine().getStatusCode() == 200) { - //response was OK - final String[] strings = StringUtils.split(Network.getResponseData(response), ','); - Settings.setWebNameCode(nam, strings[0]); - try { - return Observable.from(Integer.parseInt(strings[1].trim())); - } catch (final Exception e) { - Log.e("RegisterSend2CgeoPreference", e); - } - } - - return Observable.empty(); + RxUtils.subscribeOnIOThenUI(Observable.defer(new Func0<Observable<Integer>>() { + @Override + public Observable<Integer> call() { + final String nam = StringUtils.defaultString(deviceName); + final String cod = StringUtils.defaultString(deviceCode); + + final Parameters params = new Parameters("name", nam, "code", cod); + HttpResponse response = Network.getRequest("http://send2.cgeo.org/auth.html", params); + + if (response != null && response.getStatusLine().getStatusCode() == 200) { + //response was OK + final String[] strings = StringUtils.split(Network.getResponseData(response), ','); + Settings.setWebNameCode(nam, strings[0]); + try { + return Observable.from(Integer.parseInt(strings[1].trim())); + } catch (final Exception e) { + Log.e("RegisterSend2CgeoPreference", e); } - }).firstOrDefault(0).subscribeOn(Schedulers.io())).subscribe(new Action1<Integer>() { + } + + return Observable.empty(); + } + }).firstOrDefault(0), new Action1<Integer>() { @Override public void call(final Integer pin) { progressDialog.dismiss(); |