diff options
author | Samuel Tardieu <sam@rfc1149.net> | 2013-09-13 21:08:04 +0200 |
---|---|---|
committer | Samuel Tardieu <sam@rfc1149.net> | 2013-09-13 21:08:04 +0200 |
commit | 64e944c4fb12d1f1a3f6bc8484357cd593f63275 (patch) | |
tree | 4e589934e9b6ccfe09c08b424768162a6772ede9 /main | |
parent | 2a75d3d1cd6bae2c2d74a73ac4b8e82ad364f640 (diff) | |
download | cgeo-64e944c4fb12d1f1a3f6bc8484357cd593f63275.zip cgeo-64e944c4fb12d1f1a3f6bc8484357cd593f63275.tar.gz cgeo-64e944c4fb12d1f1a3f6bc8484357cd593f63275.tar.bz2 |
Enable in-band registration for opencaching.de
The strings still refer to the PIN code. That will be changed when
opencaching.pl, which shares the same interface, gets migrated as well
to the callback mechanism.
Diffstat (limited to 'main')
5 files changed, 31 insertions, 2 deletions
diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index 39ef9d8..99afa67 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -387,7 +387,19 @@ android:name=".connector.oc.OCDEAuthorizationActivity" android:configChanges="keyboardHidden|orientation" android:label="@string/app_name" - android:windowSoftInputMode="stateHidden" > + android:windowSoftInputMode="stateHidden" + android:launchMode="singleTask"> + <intent-filter> + <action android:name="android.intent.action.VIEW" /> + + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.BROWSABLE" /> + + <data + android:host="www.cgeo.org" + android:pathPrefix="/opencaching.de/" + android:scheme="callback" /> + </intent-filter> </activity> <activity android:name=".connector.oc.OCPLAuthorizationActivity" 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/OCAuthorizationActivity.java b/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java index 45a4475..bae5c1b 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java +++ b/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java @@ -20,7 +20,7 @@ public class OCAuthorizationActivity extends OAuthAuthorizationActivity { false, CgeoApplication.getInstance().getResources().getString(authParams.getCKResId()), CgeoApplication.getInstance().getResources().getString(authParams.getCSResId()), - null); + authParams.getCallbackUri()); this.authParams = authParams; } 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; + } } |