aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java')
-rw-r--r--main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java16
1 files changed, 8 insertions, 8 deletions
diff --git a/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java b/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
index bcc6942..1efbc96 100644
--- a/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
+++ b/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
@@ -38,7 +38,7 @@ public abstract class AbstractCheckCredentialsPreference extends AbstractClickab
protected abstract ImmutablePair<String, String> getCredentials();
- protected abstract Object login();
+ protected abstract ImmutablePair<StatusCode, Drawable> login();
private class LoginCheckClickListener implements OnPreferenceClickListener {
final private SettingsActivity activity;
@@ -65,22 +65,22 @@ public abstract class AbstractCheckCredentialsPreference extends AbstractClickab
loginDialog.setCancelable(false);
Cookies.clearCookies();
- AndroidObservable.fromActivity(activity, Observable.defer(new Func0<Observable<?>>() {
+ AndroidObservable.fromActivity(activity, Observable.defer(new Func0<Observable<ImmutablePair<StatusCode, Drawable>>>() {
@Override
- public Observable<?> call() {
+ public Observable<ImmutablePair<StatusCode, Drawable>> call() {
return Observable.from(login());
}
- }).subscribeOn(Schedulers.io())).subscribe(new Action1<Object>() {
+ }).subscribeOn(Schedulers.io())).subscribe(new Action1<ImmutablePair<StatusCode, Drawable>>() {
@Override
- public void call(final Object obj) {
+ public void call(final ImmutablePair<StatusCode, Drawable> loginInfo) {
loginDialog.dismiss();
- if (obj == null || obj instanceof Drawable) {
- Dialogs.message(activity, R.string.init_login_popup, R.string.init_login_popup_ok, (Drawable) obj);
+ if (loginInfo.getLeft() == StatusCode.NO_ERROR) {
+ Dialogs.message(activity, R.string.init_login_popup, R.string.init_login_popup_ok, loginInfo.getRight());
} else {
Dialogs.message(activity, R.string.init_login_popup,
res.getString(R.string.init_login_popup_failed_reason)
+ " "
- + ((StatusCode) obj).getErrorString(res)
+ + loginInfo.getLeft().getErrorString(res)
+ ".");
}
activity.initBasicMemberPreferences();