aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorrsudev <rasch@munin-soft.de>2014-04-03 15:12:59 +0200
committerrsudev <rasch@munin-soft.de>2014-04-07 18:22:03 +0200
commit3958777a5cf254ac2bfbb5cb569cfbd42abfb49f (patch)
tree3bd1ac97c86ccfd6d25a072b869b2bf91b1662d7 /main/src
parentfb2331485b0f463ea7ae47a9a8d5ec0fb6d9ba2a (diff)
downloadcgeo-3958777a5cf254ac2bfbb5cb569cfbd42abfb49f.zip
cgeo-3958777a5cf254ac2bfbb5cb569cfbd42abfb49f.tar.gz
cgeo-3958777a5cf254ac2bfbb5cb569cfbd42abfb49f.tar.bz2
Implements #3692. Add support for new opencaching nodes
Added opencaching nl,us,ro live support and preferences
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/connector/ConnectorFactory.java12
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCNLAuthParams.java51
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCNLAuthorizationActivity.java8
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCROAuthParams.java51
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCROAuthorizationActivity.java8
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCUSAuthParams.java51
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCUSAuthorizationActivity.java8
-rw-r--r--main/src/cgeo/geocaching/settings/OAuthPreference.java6
-rw-r--r--main/src/cgeo/geocaching/settings/SettingsActivity.java56
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) {