diff options
Diffstat (limited to 'main/src/cgeo/geocaching/settings/OAuthPreference.java')
| -rw-r--r-- | main/src/cgeo/geocaching/settings/OAuthPreference.java | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/main/src/cgeo/geocaching/settings/OAuthPreference.java b/main/src/cgeo/geocaching/settings/OAuthPreference.java index df77197..477af3f 100644 --- a/main/src/cgeo/geocaching/settings/OAuthPreference.java +++ b/main/src/cgeo/geocaching/settings/OAuthPreference.java @@ -2,8 +2,9 @@ package cgeo.geocaching.settings; import cgeo.geocaching.CgeoApplication; import cgeo.geocaching.R; -import cgeo.geocaching.connector.oc.OCDEAuthorizationActivity; -import cgeo.geocaching.connector.oc.OCPLAuthorizationActivity; +import cgeo.geocaching.connector.oc.OCAuthParams; +import cgeo.geocaching.connector.oc.OCAuthorizationActivity; +import cgeo.geocaching.network.OAuthAuthorizationActivity.OAuthParameters; import cgeo.geocaching.twitter.TwitterAuthorizationActivity; import android.content.Context; @@ -16,17 +17,22 @@ public class OAuthPreference extends AbstractClickablePreference { private static final int NO_KEY = -1; private enum OAuthActivityMapping { - NONE(NO_KEY, null), - OCDE(R.string.pref_fakekey_ocde_authorization, OCDEAuthorizationActivity.class), - OCPL(R.string.pref_fakekey_ocpl_authorization, OCPLAuthorizationActivity.class), - TWITTER(R.string.pref_fakekey_twitter_authorization, TwitterAuthorizationActivity.class); + NONE(NO_KEY, null, null), + OCDE(R.string.pref_fakekey_ocde_authorization, OCAuthorizationActivity.class, OCAuthParams.OC_DE_AUTH_PARAMS), + OCPL(R.string.pref_fakekey_ocpl_authorization, OCAuthorizationActivity.class, OCAuthParams.OC_PL_AUTH_PARAMS), + OCNL(R.string.pref_fakekey_ocnl_authorization, OCAuthorizationActivity.class, OCAuthParams.OC_NL_AUTH_PARAMS), + OCUS(R.string.pref_fakekey_ocus_authorization, OCAuthorizationActivity.class, OCAuthParams.OC_US_AUTH_PARAMS), + OCRO(R.string.pref_fakekey_ocro_authorization, OCAuthorizationActivity.class, OCAuthParams.OC_RO_AUTH_PARAMS), + TWITTER(R.string.pref_fakekey_twitter_authorization, TwitterAuthorizationActivity.class, TwitterAuthorizationActivity.TWITTER_OAUTH_PARAMS); public final int prefKeyId; public final Class<?> authActivity; + public final OAuthParameters authParams; - OAuthActivityMapping(int prefKeyId, Class<?> clazz) { + OAuthActivityMapping(int prefKeyId, Class<?> authActivity, OAuthParameters authParams) { this.prefKeyId = prefKeyId; - this.authActivity = clazz; + this.authActivity = authActivity; + this.authParams = authParams; } } @@ -58,9 +64,10 @@ public class OAuthPreference extends AbstractClickablePreference { return new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { - if (oAuthMapping.authActivity != null) { + if (oAuthMapping.authActivity != null && oAuthMapping.authParams != null) { Intent authIntent = new Intent(preference.getContext(), oAuthMapping.authActivity); + oAuthMapping.authParams.setOAuthExtras(authIntent); activity.startActivityForResult(authIntent, oAuthMapping.prefKeyId); } |
