diff options
Diffstat (limited to 'main/src')
9 files changed, 248 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/connector/ConnectorFactory.java b/main/src/cgeo/geocaching/connector/ConnectorFactory.java index 35eae81..9e4e02e 100644 --- a/main/src/cgeo/geocaching/connector/ConnectorFactory.java +++ b/main/src/cgeo/geocaching/connector/ConnectorFactory.java @@ -29,6 +29,7 @@ import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import rx.functions.Func1; +import rx.schedulers.Schedulers; import java.util.ArrayList; import java.util.Arrays; @@ -50,11 +51,18 @@ public final class ConnectorFactory { new OCConnector("OpenCaching.IT", "www.opencaching.it", "OC"), new OCConnector("OpenCaching.JP", "www.opencaching.jp", "OJ"), new OCConnector("OpenCaching.NO/SE", "www.opencaching.se", "OS"), - new OCApiConnector("OpenCaching.NL", "www.opencaching.nl", "OB", "PdzU8jzIlcfMADXaYN8j", "CC BY-SA 3.0", ApiSupport.current), + new OCApiLiveConnector("opencaching.nl", "www.opencaching.nl", "OB", "CC BY-SA 3.0", + R.string.oc_nl_okapi_consumer_key, R.string.oc_nl_okapi_consumer_secret, + R.string.pref_connectorOCNLActive, R.string.pref_ocnl_tokenpublic, R.string.pref_ocnl_tokensecret, ApiSupport.current), new OCApiLiveConnector("opencaching.pl", "www.opencaching.pl", "OP", "CC BY-SA 3.0", R.string.oc_pl_okapi_consumer_key, R.string.oc_pl_okapi_consumer_secret, R.string.pref_connectorOCPLActive, R.string.pref_ocpl_tokenpublic, R.string.pref_ocpl_tokensecret, ApiSupport.current), - new OCApiConnector("OpenCaching.US", "www.opencaching.us", "OU", "pTsYAYSXFcfcRQnYE6uA", "CC BY-NC-SA 2.5", ApiSupport.current), + new OCApiLiveConnector("opencaching.us", "www.opencaching.us", "OU", "CC BY-NC-SA 2.5", + R.string.oc_us_okapi_consumer_key, R.string.oc_us_okapi_consumer_secret, + R.string.pref_connectorOCUSActive, R.string.pref_ocus_tokenpublic, R.string.pref_ocus_tokensecret, ApiSupport.current), + new OCApiLiveConnector("opencaching.ro", "oc.opencaching.ro", "OR", "CC BY-SA 3.0", + R.string.oc_ro_okapi_consumer_key, R.string.oc_ro_okapi_consumer_secret, + R.string.pref_connectorOCROActive, R.string.pref_ocro_tokenpublic, R.string.pref_ocro_tokensecret, ApiSupport.current), new OXConnector(), new GeocachingAustraliaConnector(), new GeopeitusConnector(), diff --git a/main/src/cgeo/geocaching/connector/oc/OCNLAuthParams.java b/main/src/cgeo/geocaching/connector/oc/OCNLAuthParams.java new file mode 100644 index 0000000..31d8590 --- /dev/null +++ b/main/src/cgeo/geocaching/connector/oc/OCNLAuthParams.java @@ -0,0 +1,51 @@ +package cgeo.geocaching.connector.oc; + +import cgeo.geocaching.R; + +public class OCNLAuthParams implements IOCAuthParams { + + @Override + public String getSite() { + return "www.opencaching.nl"; + } + + @Override + public int getCKResId() { + return R.string.oc_nl_okapi_consumer_key; + } + + @Override + public int getCSResId() { + return R.string.oc_nl_okapi_consumer_secret; + } + + @Override + public int getAuthTitleResId() { + return R.string.auth_ocnl; + } + + @Override + public int getTokenPublicPrefKey() { + return R.string.pref_ocnl_tokenpublic; + } + + @Override + public int getTokenSecretPrefKey() { + return R.string.pref_ocnl_tokensecret; + } + + @Override + public int getTempTokenPublicPrefKey() { + return R.string.pref_temp_ocnl_token_public; + } + + @Override + public int getTempTokenSecretPrefKey() { + return R.string.pref_temp_ocnl_token_secret; + } + + @Override + public String getCallbackUri() { + return "callback://www.cgeo.org/opencaching.nl/"; + } +} diff --git a/main/src/cgeo/geocaching/connector/oc/OCNLAuthorizationActivity.java b/main/src/cgeo/geocaching/connector/oc/OCNLAuthorizationActivity.java new file mode 100644 index 0000000..dfd21ec --- /dev/null +++ b/main/src/cgeo/geocaching/connector/oc/OCNLAuthorizationActivity.java @@ -0,0 +1,8 @@ +package cgeo.geocaching.connector.oc; + +public final class OCNLAuthorizationActivity extends OCAuthorizationActivity { + + public OCNLAuthorizationActivity() { + super(new OCNLAuthParams()); + } +} diff --git a/main/src/cgeo/geocaching/connector/oc/OCROAuthParams.java b/main/src/cgeo/geocaching/connector/oc/OCROAuthParams.java new file mode 100644 index 0000000..6805001 --- /dev/null +++ b/main/src/cgeo/geocaching/connector/oc/OCROAuthParams.java @@ -0,0 +1,51 @@ +package cgeo.geocaching.connector.oc; + +import cgeo.geocaching.R; + +public class OCROAuthParams implements IOCAuthParams { + + @Override + public String getSite() { + return "oc.opencaching.ro"; + } + + @Override + public int getCKResId() { + return R.string.oc_ro_okapi_consumer_key; + } + + @Override + public int getCSResId() { + return R.string.oc_ro_okapi_consumer_secret; + } + + @Override + public int getAuthTitleResId() { + return R.string.auth_ocro; + } + + @Override + public int getTokenPublicPrefKey() { + return R.string.pref_ocro_tokenpublic; + } + + @Override + public int getTokenSecretPrefKey() { + return R.string.pref_ocro_tokensecret; + } + + @Override + public int getTempTokenPublicPrefKey() { + return R.string.pref_temp_ocro_token_public; + } + + @Override + public int getTempTokenSecretPrefKey() { + return R.string.pref_temp_ocro_token_secret; + } + + @Override + public String getCallbackUri() { + return "callback://www.cgeo.org/opencaching.ro/"; + } +} diff --git a/main/src/cgeo/geocaching/connector/oc/OCROAuthorizationActivity.java b/main/src/cgeo/geocaching/connector/oc/OCROAuthorizationActivity.java new file mode 100644 index 0000000..6f3c52a --- /dev/null +++ b/main/src/cgeo/geocaching/connector/oc/OCROAuthorizationActivity.java @@ -0,0 +1,8 @@ +package cgeo.geocaching.connector.oc; + +public final class OCROAuthorizationActivity extends OCAuthorizationActivity { + + public OCROAuthorizationActivity() { + super(new OCROAuthParams()); + } +} diff --git a/main/src/cgeo/geocaching/connector/oc/OCUSAuthParams.java b/main/src/cgeo/geocaching/connector/oc/OCUSAuthParams.java new file mode 100644 index 0000000..b01d70d --- /dev/null +++ b/main/src/cgeo/geocaching/connector/oc/OCUSAuthParams.java @@ -0,0 +1,51 @@ +package cgeo.geocaching.connector.oc; + +import cgeo.geocaching.R; + +public class OCUSAuthParams implements IOCAuthParams { + + @Override + public String getSite() { + return "www.opencaching.us"; + } + + @Override + public int getCKResId() { + return R.string.oc_us_okapi_consumer_key; + } + + @Override + public int getCSResId() { + return R.string.oc_us_okapi_consumer_secret; + } + + @Override + public int getAuthTitleResId() { + return R.string.auth_ocus; + } + + @Override + public int getTokenPublicPrefKey() { + return R.string.pref_ocus_tokenpublic; + } + + @Override + public int getTokenSecretPrefKey() { + return R.string.pref_ocus_tokensecret; + } + + @Override + public int getTempTokenPublicPrefKey() { + return R.string.pref_temp_ocus_token_public; + } + + @Override + public int getTempTokenSecretPrefKey() { + return R.string.pref_temp_ocus_token_secret; + } + + @Override + public String getCallbackUri() { + return "callback://www.cgeo.org/opencaching.us/"; + } +} diff --git a/main/src/cgeo/geocaching/connector/oc/OCUSAuthorizationActivity.java b/main/src/cgeo/geocaching/connector/oc/OCUSAuthorizationActivity.java new file mode 100644 index 0000000..05d91df --- /dev/null +++ b/main/src/cgeo/geocaching/connector/oc/OCUSAuthorizationActivity.java @@ -0,0 +1,8 @@ +package cgeo.geocaching.connector.oc; + +public final class OCUSAuthorizationActivity extends OCAuthorizationActivity { + + public OCUSAuthorizationActivity() { + super(new OCUSAuthParams()); + } +} diff --git a/main/src/cgeo/geocaching/settings/OAuthPreference.java b/main/src/cgeo/geocaching/settings/OAuthPreference.java index df77197..c662f37 100644 --- a/main/src/cgeo/geocaching/settings/OAuthPreference.java +++ b/main/src/cgeo/geocaching/settings/OAuthPreference.java @@ -3,7 +3,10 @@ package cgeo.geocaching.settings; import cgeo.geocaching.CgeoApplication; import cgeo.geocaching.R; import cgeo.geocaching.connector.oc.OCDEAuthorizationActivity; +import cgeo.geocaching.connector.oc.OCNLAuthorizationActivity; import cgeo.geocaching.connector.oc.OCPLAuthorizationActivity; +import cgeo.geocaching.connector.oc.OCROAuthorizationActivity; +import cgeo.geocaching.connector.oc.OCUSAuthorizationActivity; import cgeo.geocaching.twitter.TwitterAuthorizationActivity; import android.content.Context; @@ -19,6 +22,9 @@ public class OAuthPreference extends AbstractClickablePreference { NONE(NO_KEY, null), OCDE(R.string.pref_fakekey_ocde_authorization, OCDEAuthorizationActivity.class), OCPL(R.string.pref_fakekey_ocpl_authorization, OCPLAuthorizationActivity.class), + OCNL(R.string.pref_fakekey_ocnl_authorization, OCNLAuthorizationActivity.class), + OCUS(R.string.pref_fakekey_ocus_authorization, OCUSAuthorizationActivity.class), + OCRO(R.string.pref_fakekey_ocro_authorization, OCROAuthorizationActivity.class), TWITTER(R.string.pref_fakekey_twitter_authorization, TwitterAuthorizationActivity.class); public final int prefKeyId; diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java index 8834a3b..63f6398 100644 --- a/main/src/cgeo/geocaching/settings/SettingsActivity.java +++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java @@ -156,11 +156,17 @@ public class SettingsActivity extends PreferenceActivity { private void initServicePreferences() { getPreference(R.string.pref_connectorOCActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); getPreference(R.string.pref_connectorOCPLActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); + getPreference(R.string.pref_connectorOCNLActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); + getPreference(R.string.pref_connectorOCUSActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); + getPreference(R.string.pref_connectorOCROActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); getPreference(R.string.pref_connectorGCActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); getPreference(R.string.pref_connectorECActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); setWebsite(R.string.pref_fakekey_gc_website, GCConnector.getInstance().getHost()); setWebsite(R.string.pref_fakekey_ocde_website, "opencaching.de"); setWebsite(R.string.pref_fakekey_ocpl_website, "opencaching.pl"); + setWebsite(R.string.pref_fakekey_ocnl_website, "opencaching.nl"); + setWebsite(R.string.pref_fakekey_ocus_website, "opencaching.us"); + setWebsite(R.string.pref_fakekey_ocro_website, "opencaching.ro"); setWebsite(R.string.pref_fakekey_ec_website, "extremcaching.com"); setWebsite(R.string.pref_fakekey_gcvote_website, "gcvote.com"); setWebsite(R.string.pref_fakekey_sendtocgeo_website, "send2.cgeo.org"); @@ -413,6 +419,15 @@ public class SettingsActivity extends PreferenceActivity { case R.string.pref_fakekey_ocpl_authorization: setOCPLAuthTitle(); break; + case R.string.pref_fakekey_ocnl_authorization: + setOCNLAuthTitle(); + break; + case R.string.pref_fakekey_ocus_authorization: + setOCUSAuthTitle(); + break; + case R.string.pref_fakekey_ocro_authorization: + setOCROAuthTitle(); + break; case R.string.pref_fakekey_twitter_authorization: setTwitterAuthTitle(); break; @@ -435,6 +450,27 @@ public class SettingsActivity extends PreferenceActivity { : R.string.settings_authorize)); } + void setOCNLAuthTitle() { + getPreference(R.string.pref_fakekey_ocnl_authorization) + .setTitle(getString(Settings.hasOCAuthorization(R.string.pref_ocnl_tokenpublic, R.string.pref_ocnl_tokensecret) + ? R.string.settings_reauthorize + : R.string.settings_authorize)); + } + + void setOCUSAuthTitle() { + getPreference(R.string.pref_fakekey_ocus_authorization) + .setTitle(getString(Settings.hasOCAuthorization(R.string.pref_ocus_tokenpublic, R.string.pref_ocus_tokensecret) + ? R.string.settings_reauthorize + : R.string.settings_authorize)); + } + + void setOCROAuthTitle() { + getPreference(R.string.pref_fakekey_ocro_authorization) + .setTitle(getString(Settings.hasOCAuthorization(R.string.pref_ocro_tokenpublic, R.string.pref_ocro_tokensecret) + ? R.string.settings_reauthorize + : R.string.settings_authorize)); + } + void setTwitterAuthTitle() { getPreference(R.string.pref_fakekey_twitter_authorization) .setTitle(getString(Settings.hasTwitterAuthorization() @@ -494,6 +530,18 @@ public class SettingsActivity extends PreferenceActivity { setOCPLAuthTitle(); redrawScreen(R.string.preference_screen_ocpl); break; + case R.string.pref_fakekey_ocnl_authorization: + setOCNLAuthTitle(); + redrawScreen(R.string.preference_screen_ocnl); + break; + case R.string.pref_fakekey_ocus_authorization: + setOCUSAuthTitle(); + redrawScreen(R.string.preference_screen_ocus); + break; + case R.string.pref_fakekey_ocro_authorization: + setOCROAuthTitle(); + redrawScreen(R.string.preference_screen_ocro); + break; case R.string.pref_fakekey_twitter_authorization: setTwitterAuthTitle(); redrawScreen(R.string.preference_screen_twitter); @@ -535,7 +583,13 @@ public class SettingsActivity extends PreferenceActivity { } Settings.setMapSource(mapSource); preference.setSummary(mapSource.getName()); - } else if (isPreference(preference, R.string.pref_connectorOCActive) || isPreference(preference, R.string.pref_connectorOCPLActive) || isPreference(preference, R.string.pref_connectorGCActive) || isPreference(preference, R.string.pref_connectorECActive)) { + } else if (isPreference(preference, R.string.pref_connectorOCActive) + || isPreference(preference, R.string.pref_connectorOCPLActive) + || isPreference(preference, R.string.pref_connectorOCNLActive) + || isPreference(preference, R.string.pref_connectorOCUSActive) + || isPreference(preference, R.string.pref_connectorOCROActive) + || isPreference(preference, R.string.pref_connectorGCActive) + || isPreference(preference, R.string.pref_connectorECActive)) { // // reset log-in status if connector activation was changed CgeoApplication.getInstance().forceRelog(); } else if (preference instanceof ListPreference) { |
