diff options
Diffstat (limited to 'main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java')
| -rw-r--r-- | main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java b/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java index 12c8b24..8257fdd 100644 --- a/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java +++ b/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java @@ -6,14 +6,11 @@ import cgeo.geocaching.enumerations.StatusCode; import org.apache.commons.lang3.tuple.ImmutablePair; import android.content.Context; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; public class CheckGcCredentialsPreference extends AbstractCheckCredentialsPreference { - public CheckGcCredentialsPreference(Context context) { - super(context); - } - public CheckGcCredentialsPreference(Context context, AttributeSet attrs) { super(context, attrs); } @@ -28,13 +25,14 @@ public class CheckGcCredentialsPreference extends AbstractCheckCredentialsPrefer } @Override - protected Object login() { + protected ImmutablePair<StatusCode, Drawable> login() { final StatusCode loginResult = GCLogin.getInstance().login(); - Object payload = loginResult; - if (loginResult == StatusCode.NO_ERROR) { - GCLogin.detectGcCustomDate(); - payload = GCLogin.getInstance().downloadAvatarAndGetMemberStatus(); + switch (loginResult) { + case NO_ERROR: + GCLogin.detectGcCustomDate(); + return new ImmutablePair<StatusCode, Drawable>(StatusCode.NO_ERROR, GCLogin.getInstance().downloadAvatarAndGetMemberStatus()); + default: + return new ImmutablePair<StatusCode, Drawable>(loginResult, null); } - return payload; } } |
