diff options
Diffstat (limited to 'main/src/cgeo/geocaching/connector/oc')
7 files changed, 40 insertions, 22 deletions
diff --git a/main/src/cgeo/geocaching/connector/oc/IOCAuthParams.java b/main/src/cgeo/geocaching/connector/oc/IOCAuthParams.java index 5a140a1..414ec80 100644 --- a/main/src/cgeo/geocaching/connector/oc/IOCAuthParams.java +++ b/main/src/cgeo/geocaching/connector/oc/IOCAuthParams.java @@ -57,4 +57,11 @@ public interface IOCAuthParams { * @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..bae5c1b 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java +++ b/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java @@ -1,11 +1,12 @@ 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 { @@ -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); diff --git a/main/src/cgeo/geocaching/connector/oc/OCDEAuthParams.java b/main/src/cgeo/geocaching/connector/oc/OCDEAuthParams.java index 734b383..fff840b 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCDEAuthParams.java +++ b/main/src/cgeo/geocaching/connector/oc/OCDEAuthParams.java @@ -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/OCPLAuthParams.java b/main/src/cgeo/geocaching/connector/oc/OCPLAuthParams.java index 117e990..c1e0ea3 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCPLAuthParams.java +++ b/main/src/cgeo/geocaching/connector/oc/OCPLAuthParams.java @@ -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 null; + } } 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 |
