diff options
Diffstat (limited to 'main/src/cgeo/geocaching/connector/oc')
9 files changed, 57 insertions, 98 deletions
diff --git a/main/src/cgeo/geocaching/connector/oc/IOCAuthParams.java b/main/src/cgeo/geocaching/connector/oc/IOCAuthParams.java index 5a140a1..dacb626 100644 --- a/main/src/cgeo/geocaching/connector/oc/IOCAuthParams.java +++ b/main/src/cgeo/geocaching/connector/oc/IOCAuthParams.java @@ -3,58 +3,65 @@ package cgeo.geocaching.connector.oc; public interface IOCAuthParams { /** - * The site name: 'www.openaching...' - * + * The site name: 'www.opencaching...' + * * @return */ String getSite(); /** * ResId of the Consumer key - * + * * @return */ int getCKResId(); /** * ResId of the Consumer secret - * + * * @return */ int getCSResId(); /** - * ResId ot the Authorization title - * + * ResId of the Authorization title + * * @return */ - int getAuthTitelResId(); + int getAuthTitleResId(); /** * Preference key of the public token - * + * * @return */ int getTokenPublicPrefKey(); /** * Preference key of the secret token - * + * * @return */ int getTokenSecretPrefKey(); /** * Preference key of the temporary public token (OAuth) - * + * * @return */ int getTempTokenPublicPrefKey(); /** * Preference key of the temporary secret token (OAuth) - * + * * @return */ int getTempTokenSecretPrefKey(); + + /** + * The URI to use as a callback (OAuth) + * + * @return + */ + String getCallbackUri(); } diff --git a/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java b/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java index d35e54b..8f38641 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java +++ b/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java @@ -1,9 +1,10 @@ package cgeo.geocaching.connector.oc; +import cgeo.geocaching.CgeoApplication; +import cgeo.geocaching.DataStore; import cgeo.geocaching.Geocache; +import cgeo.geocaching.LogCacheActivity; import cgeo.geocaching.SearchResult; -import cgeo.geocaching.cgData; -import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.connector.ILoggingManager; import cgeo.geocaching.connector.capability.ILogin; import cgeo.geocaching.connector.capability.ISearchByCenter; @@ -16,7 +17,6 @@ import cgeo.geocaching.utils.CryptUtils; import org.apache.commons.lang3.StringUtils; -import android.app.Activity; import android.content.Context; import android.os.Handler; @@ -29,9 +29,9 @@ public class OCApiLiveConnector extends OCApiConnector implements ISearchByCente private UserInfo userInfo = new UserInfo(StringUtils.EMPTY, 0, UserInfoStatus.NOT_RETRIEVED); public OCApiLiveConnector(String name, String host, String prefix, String licenseString, int cKResId, int cSResId, int isActivePrefKeyId, int tokenPublicPrefKeyId, int tokenSecretPrefKeyId, ApiSupport apiSupport) { - super(name, host, prefix, CryptUtils.rot13(cgeoapplication.getInstance().getResources().getString(cKResId)), licenseString, apiSupport); + super(name, host, prefix, CryptUtils.rot13(CgeoApplication.getInstance().getResources().getString(cKResId)), licenseString, apiSupport); - cS = CryptUtils.rot13(cgeoapplication.getInstance().getResources().getString(cSResId)); + cS = CryptUtils.rot13(CgeoApplication.getInstance().getResources().getString(cSResId)); this.isActivePrefKeyId = isActivePrefKeyId; this.tokenPublicPrefKeyId = tokenPublicPrefKeyId; this.tokenSecretPrefKeyId = tokenSecretPrefKeyId; @@ -87,7 +87,7 @@ public class OCApiLiveConnector extends OCApiConnector implements ISearchByCente final boolean added = OkapiClient.setWatchState(cache, true, this); if (added) { - cgData.saveChangedCache(cache); + DataStore.saveChangedCache(cache); } return added; @@ -98,7 +98,7 @@ public class OCApiLiveConnector extends OCApiConnector implements ISearchByCente final boolean removed = OkapiClient.setWatchState(cache, false, this); if (removed) { - cgData.saveChangedCache(cache); + DataStore.saveChangedCache(cache); } return removed; @@ -110,7 +110,7 @@ public class OCApiLiveConnector extends OCApiConnector implements ISearchByCente } @Override - public ILoggingManager getLoggingManager(Activity activity, Geocache cache) { + public ILoggingManager getLoggingManager(final LogCacheActivity activity, final Geocache cache) { return new OkapiLoggingManager(activity, this, cache); } @@ -145,7 +145,7 @@ public class OCApiLiveConnector extends OCApiConnector implements ISearchByCente @Override public String getLoginStatusString() { - return cgeoapplication.getInstance().getString(userInfo.getStatus().resId); + return CgeoApplication.getInstance().getString(userInfo.getStatus().resId); } @Override diff --git a/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java b/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java index 10d6a66..c082bac 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java +++ b/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java @@ -1,13 +1,14 @@ package cgeo.geocaching.connector.oc; +import cgeo.geocaching.CgeoApplication; import cgeo.geocaching.R; -import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.network.OAuthAuthorizationActivity; import cgeo.geocaching.settings.Settings; import org.apache.commons.lang3.tuple.ImmutablePair; +import org.eclipse.jdt.annotation.Nullable; -public class OCAuthorizationActivity extends OAuthAuthorizationActivity { +public abstract class OCAuthorizationActivity extends OAuthAuthorizationActivity { final IOCAuthParams authParams; @@ -17,8 +18,9 @@ public class OCAuthorizationActivity extends OAuthAuthorizationActivity { "/okapi/services/oauth/authorize", "/okapi/services/oauth/access_token", false, - cgeoapplication.getInstance().getResources().getString(authParams.getCKResId()), - cgeoapplication.getInstance().getResources().getString(authParams.getCSResId())); + CgeoApplication.getInstance().getResources().getString(authParams.getCKResId()), + CgeoApplication.getInstance().getResources().getString(authParams.getCSResId()), + authParams.getCallbackUri()); this.authParams = authParams; } @@ -28,12 +30,12 @@ public class OCAuthorizationActivity extends OAuthAuthorizationActivity { } @Override - protected void setTempTokens(String tokenPublic, String tokenSecret) { + protected void setTempTokens(@Nullable final String tokenPublic, @Nullable final String tokenSecret) { Settings.setTokens(authParams.getTempTokenPublicPrefKey(), tokenPublic, authParams.getTempTokenSecretPrefKey(), tokenSecret); } @Override - protected void setTokens(String tokenPublic, String tokenSecret, boolean enable) { + protected void setTokens(@Nullable final String tokenPublic, @Nullable final String tokenSecret, final boolean enable) { Settings.setTokens(authParams.getTokenPublicPrefKey(), tokenPublic, authParams.getTokenSecretPrefKey(), tokenSecret); if (tokenPublic != null) { Settings.setTokens(authParams.getTempTokenPublicPrefKey(), null, authParams.getTempTokenSecretPrefKey(), null); @@ -42,22 +44,7 @@ public class OCAuthorizationActivity extends OAuthAuthorizationActivity { @Override protected String getAuthTitle() { - return res.getString(authParams.getAuthTitelResId()); - } - - @Override - protected String getAuthAgain() { - return res.getString(R.string.auth_again_oc); - } - - @Override - protected String getErrAuthInitialize() { - return res.getString(R.string.err_auth_initialize); - } - - @Override - protected String getAuthStart() { - return res.getString(R.string.auth_start_oc); + return res.getString(authParams.getAuthTitleResId()); } @Override @@ -65,48 +52,4 @@ public class OCAuthorizationActivity extends OAuthAuthorizationActivity { return res.getString(R.string.auth_dialog_completed_oc, getAuthTitle()); } - @Override - protected String getErrAuthProcess() { - return res.getString(R.string.err_auth_process); - } - - @Override - protected String getAuthDialogWait() { - return res.getString(R.string.auth_dialog_wait_oc, getAuthTitle()); - } - - @Override - protected String getAuthDialogPinTitle() { - return res.getString(R.string.auth_dialog_pin_title_oc); - } - - @Override - protected String getAuthDialogPinMessage() { - return res.getString(R.string.auth_dialog_pin_message_oc, getAuthTitle()); - } - - @Override - protected String getAboutAuth1() { - return res.getString(R.string.about_auth_1_oc, getAuthTitle()); - } - - @Override - protected String getAboutAuth2() { - return res.getString(R.string.about_auth_2_oc, getAuthTitle(), getAuthTitle()); - } - - @Override - protected String getAuthAuthorize() { - return res.getString(R.string.auth_authorize_oc); - } - - @Override - protected String getAuthPinHint() { - return res.getString(R.string.auth_pin_hint_oc, getAuthTitle()); - } - - @Override - protected String getAuthFinish() { - return res.getString(R.string.auth_finish_oc); - } } diff --git a/main/src/cgeo/geocaching/connector/oc/OCDEAuthParams.java b/main/src/cgeo/geocaching/connector/oc/OCDEAuthParams.java index 734b383..17c1cb8 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCDEAuthParams.java +++ b/main/src/cgeo/geocaching/connector/oc/OCDEAuthParams.java @@ -20,7 +20,7 @@ public class OCDEAuthParams implements IOCAuthParams { } @Override - public int getAuthTitelResId() { + public int getAuthTitleResId() { return R.string.auth_ocde; } @@ -43,4 +43,9 @@ public class OCDEAuthParams implements IOCAuthParams { public int getTempTokenSecretPrefKey() { return R.string.pref_temp_ocde_token_secret; } + + @Override + public String getCallbackUri() { + return "callback://www.cgeo.org/opencaching.de/"; + } } diff --git a/main/src/cgeo/geocaching/connector/oc/OCDEAuthorizationActivity.java b/main/src/cgeo/geocaching/connector/oc/OCDEAuthorizationActivity.java index caf114c..1d2aa49 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCDEAuthorizationActivity.java +++ b/main/src/cgeo/geocaching/connector/oc/OCDEAuthorizationActivity.java @@ -1,6 +1,6 @@ package cgeo.geocaching.connector.oc; -public class OCDEAuthorizationActivity extends OCAuthorizationActivity { +public final class OCDEAuthorizationActivity extends OCAuthorizationActivity { public OCDEAuthorizationActivity() { super(new OCDEAuthParams()); diff --git a/main/src/cgeo/geocaching/connector/oc/OCPLAuthParams.java b/main/src/cgeo/geocaching/connector/oc/OCPLAuthParams.java index 117e990..dfe03e5 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCPLAuthParams.java +++ b/main/src/cgeo/geocaching/connector/oc/OCPLAuthParams.java @@ -20,7 +20,7 @@ public class OCPLAuthParams implements IOCAuthParams { } @Override - public int getAuthTitelResId() { + public int getAuthTitleResId() { return R.string.auth_ocpl; } @@ -43,4 +43,9 @@ public class OCPLAuthParams implements IOCAuthParams { public int getTempTokenSecretPrefKey() { return R.string.pref_temp_ocpl_token_secret; } + + @Override + public String getCallbackUri() { + return "callback://www.cgeo.org/opencaching.pl/"; + } } diff --git a/main/src/cgeo/geocaching/connector/oc/OCPLAuthorizationActivity.java b/main/src/cgeo/geocaching/connector/oc/OCPLAuthorizationActivity.java index 4f9ef96..30ea150 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCPLAuthorizationActivity.java +++ b/main/src/cgeo/geocaching/connector/oc/OCPLAuthorizationActivity.java @@ -1,6 +1,6 @@ package cgeo.geocaching.connector.oc; -public class OCPLAuthorizationActivity extends OCAuthorizationActivity { +public final class OCPLAuthorizationActivity extends OCAuthorizationActivity { public OCPLAuthorizationActivity() { super(new OCPLAuthParams()); diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java index 43ea8ad..309969e 100644 --- a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java +++ b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java @@ -1,12 +1,12 @@ package cgeo.geocaching.connector.oc; +import cgeo.geocaching.DataStore; import cgeo.geocaching.Geocache; import cgeo.geocaching.Image; import cgeo.geocaching.LogEntry; import cgeo.geocaching.R; import cgeo.geocaching.Waypoint; -import cgeo.geocaching.cgData; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.CgeoApplication; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.connector.IConnector; import cgeo.geocaching.connector.LogResult; @@ -265,7 +265,7 @@ final class OkapiClient { parseCoreCache(response, cache); - cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_CACHE)); + DataStore.saveCache(cache, EnumSet.of(SaveFlag.SAVE_CACHE)); } catch (final JSONException e) { Log.e("OkapiClient.parseSmallCache", e); } @@ -297,7 +297,7 @@ final class OkapiClient { final StringBuilder description = new StringBuilder(500); if (!response.isNull("gc_code")) { final String gccode = response.getString("gc_code"); - description.append(cgeoapplication.getInstance().getResources() + description.append(CgeoApplication.getInstance().getResources() .getString(R.string.cache_listed_on, GCConnector.getInstance().getName())) .append(": <a href=\"http://coord.info/") .append(gccode) @@ -338,7 +338,7 @@ final class OkapiClient { cache.setDetailedUpdatedNow(); // save full detailed caches - cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + DataStore.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); } catch (final JSONException e) { Log.e("OkapiClient.parseCache", e); } diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java b/main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java index c995975..9ffe7a2 100644 --- a/main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java +++ b/main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java @@ -9,7 +9,6 @@ import cgeo.geocaching.connector.LogResult; import cgeo.geocaching.enumerations.LogType; import cgeo.geocaching.enumerations.StatusCode; -import android.app.Activity; import android.net.Uri; import java.util.Arrays; @@ -26,10 +25,10 @@ public class OkapiLoggingManager implements ILoggingManager { private final static List<LogType> standardLogTypes = Arrays.asList(LogType.FOUND_IT, LogType.DIDNT_FIND_IT, LogType.NOTE); private final static List<LogType> eventLogTypes = Arrays.asList(LogType.WILL_ATTEND, LogType.ATTENDED, LogType.NOTE); - public OkapiLoggingManager(Activity activity, OCApiLiveConnector connector, Geocache cache) { + public OkapiLoggingManager(final LogCacheActivity activity, OCApiLiveConnector connector, Geocache cache) { this.connector = connector; this.cache = cache; - this.activity = (LogCacheActivity) activity; + this.activity = activity; } @Override |
