aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/res/values-de/strings.xml2
-rw-r--r--main/res/values/preference_keys.xml2
-rw-r--r--main/res/values/strings.xml2
-rw-r--r--main/res/xml/preferences.xml4
-rw-r--r--main/src/cgeo/geocaching/network/OAuthAuthorizationActivity.java1
-rw-r--r--main/src/cgeo/geocaching/settings/AuthorizeOcDePreference.java7
-rw-r--r--main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java7
-rw-r--r--main/src/cgeo/geocaching/settings/Settings.java12
-rw-r--r--main/src/cgeo/geocaching/settings/SettingsActivity.java26
9 files changed, 57 insertions, 6 deletions
diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml
index 9e7b886..7945f16 100644
--- a/main/res/values-de/strings.xml
+++ b/main/res/values-de/strings.xml
@@ -387,6 +387,7 @@
<string name="settings_activate_oc">Aktivieren</string>
<string name="init_oc_de_description">Autorisiere c:geo auf opencaching.de zuzugreifen um Caches zu suchen und nach deinen Funden zu filtern.</string>
<string name="init_register_oc_de">c:geo autorisieren</string>
+ <string name="init_reregister_oc_de">c:geo neu autorisieren</string>
<string name="init_gcvote">GCvote.com</string>
<string name="init_twitter">Twitter</string>
<string name="settings_activate_twitter">Aktivieren</string>
@@ -400,6 +401,7 @@
<string name="init_login_popup_failed_reason">Login fehlgeschlagen:</string>
<string name="init_login_popup_not_authorized">Nicht autorisiert</string>
<string name="init_twitter_authorize">c:geo autorisieren</string>
+ <string name="init_twitter_reauthorize">c:geo neu autorisieren</string>
<string name="init_signature">Signatur</string>
<string name="init_signature_help_text">Verwendete Signatur für Logtexte.\nErlaubte Platzhalter sind: [DATE], [TIME], [DATETIME], [USER] &amp; [NUMBER]. Diese werden beim Einfügen der Signatur durch die entsprechenden Werte ersetzt.</string>
<string name="init_signature_template_button">Platzhalter einfügen</string>
diff --git a/main/res/values/preference_keys.xml b/main/res/values/preference_keys.xml
index 10aceb5..eb851bf 100644
--- a/main/res/values/preference_keys.xml
+++ b/main/res/values/preference_keys.xml
@@ -4,6 +4,8 @@
<string name="pref_fakekey_main_screen">fakekey_main_screen</string>
<string name="pref_fakekey_services_screen">fakekey_services_screen</string>
<string name="pref_fakekey_basicmembers_screen">fakekey_basicmembers_screen</string>
+ <string name="pref_fakekey_ocde_authorization">fakekey_ocde_authorization</string>
+ <string name="pref_fakekey_twitter_authorization">fakekey_twitter_authorization</string>
<string name="pref_connectorGCActive">connectorGCActive</string>
<string name="pref_username">username</string>
<string name="pref_password">password</string>
diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml
index 22e5fbe..db6c1c5 100644
--- a/main/res/values/strings.xml
+++ b/main/res/values/strings.xml
@@ -389,6 +389,7 @@
<string name="settings_activate_oc">Activate</string>
<string name="init_oc_de_description">Authorize c:geo with opencaching.de to search for caches and access/filter your found caches.</string>
<string name="init_register_oc_de">Authorize c:geo</string>
+ <string name="init_reregister_oc_de">Authorize c:geo again</string>
<string name="init_gcvote">GCvote.com</string>
<string name="init_twitter">Twitter</string>
<string name="settings_activate_twitter">Activate</string>
@@ -402,6 +403,7 @@
<string name="init_login_popup_failed_reason">Login failed:</string>
<string name="init_login_popup_not_authorized">Not authorized</string>
<string name="init_twitter_authorize">Authorize c:geo</string>
+ <string name="init_twitter_reauthorize">Authorize c:geo again</string>
<string name="init_signature">Signature</string>
<string name="init_signature_help_text">Enter a signature to be appended to your logs.\nSpecial strings that can be used are: [DATE] , [TIME], [DATETIME], [USER] &amp; [NUMBER].\nThese will be expanded when the signature is inserted.</string>
<string name="init_signature_template_button">Insert Template</string>
diff --git a/main/res/xml/preferences.xml b/main/res/xml/preferences.xml
index 6a7c638..c0158da 100644
--- a/main/res/xml/preferences.xml
+++ b/main/res/xml/preferences.xml
@@ -71,7 +71,7 @@
android:text="@string/init_oc_de_description"
android:dependency="@string/pref_connectorOCActive" />
<cgeo.geocaching.settings.AuthorizeOcDePreference
- android:title="@string/init_register_oc_de"
+ android:key="@string/pref_fakekey_ocde_authorization"
android:dependency="@string/pref_connectorOCActive" />
</PreferenceCategory>
@@ -100,7 +100,7 @@
android:text="@string/about_twitter"
android:dependency="@string/pref_twitter" />
<cgeo.geocaching.settings.AuthorizeTwitterPreference
- android:title="@string/init_twitter_authorize"
+ android:key="@string/pref_fakekey_twitter_authorization"
android:dependency="@string/pref_twitter" />
</PreferenceCategory>
diff --git a/main/src/cgeo/geocaching/network/OAuthAuthorizationActivity.java b/main/src/cgeo/geocaching/network/OAuthAuthorizationActivity.java
index 751443e..8dc8b03 100644
--- a/main/src/cgeo/geocaching/network/OAuthAuthorizationActivity.java
+++ b/main/src/cgeo/geocaching/network/OAuthAuthorizationActivity.java
@@ -82,6 +82,7 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity {
pinEntryButton.setVisibility(View.GONE);
+ setResult(RESULT_OK);
finish();
} else {
showToast(getErrAuthProcess());
diff --git a/main/src/cgeo/geocaching/settings/AuthorizeOcDePreference.java b/main/src/cgeo/geocaching/settings/AuthorizeOcDePreference.java
index 4ef3086..28807eb 100644
--- a/main/src/cgeo/geocaching/settings/AuthorizeOcDePreference.java
+++ b/main/src/cgeo/geocaching/settings/AuthorizeOcDePreference.java
@@ -25,16 +25,21 @@ public class AuthorizeOcDePreference extends Preference {
@Override
protected View onCreateView(ViewGroup parent) {
+ final SettingsActivity activity = (SettingsActivity) getContext();
+
setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Intent authIntent = new Intent(preference.getContext(),
OCAuthorizationActivity.class);
- preference.getContext().startActivity(authIntent);
+ activity.startActivityForResult(authIntent,
+ SettingsActivity.OAUTH_OCDE_REQUEST);
return false; // no shared preference has to be changed
}
});
+
+ activity.setOCDEAuthTitle();
return super.onCreateView(parent);
}
}
diff --git a/main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java b/main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java
index 1a6d908..ed3e159 100644
--- a/main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java
+++ b/main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java
@@ -25,16 +25,21 @@ public class AuthorizeTwitterPreference extends Preference {
@Override
protected View onCreateView(ViewGroup parent) {
+ final SettingsActivity activity = (SettingsActivity) getContext();
+
setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Intent authIntent = new Intent(preference.getContext(),
TwitterAuthorizationActivity.class);
- preference.getContext().startActivity(authIntent);
+ activity.startActivityForResult(authIntent,
+ SettingsActivity.OAUTH_TWITTER_REQUEST);
return false; // no shared preference has to be changed
}
});
+
+ activity.setTwitterAuthTitle();
return super.onCreateView(parent);
}
}
diff --git a/main/src/cgeo/geocaching/settings/Settings.java b/main/src/cgeo/geocaching/settings/Settings.java
index e44f9c0..aabb13a 100644
--- a/main/src/cgeo/geocaching/settings/Settings.java
+++ b/main/src/cgeo/geocaching/settings/Settings.java
@@ -316,6 +316,11 @@ public final class Settings {
return getString(R.string.pref_ocde_tokensecret, "");
}
+ public static boolean hasOCDEAuthorization() {
+ return StringUtils.isNotBlank(getOCDETokenPublic())
+ && StringUtils.isNotBlank(getOCDETokenSecret());
+ }
+
public static void setOCDETokens(final String tokenPublic,
final String tokenSecret, boolean enableOcDe) {
putString(R.string.pref_ocde_tokenpublic, tokenPublic);
@@ -735,6 +740,11 @@ public final class Settings {
}
+ public static boolean hasTwitterAuthorization() {
+ return StringUtils.isNotBlank(getTokenPublic())
+ && StringUtils.isNotBlank(getTokenSecret());
+ }
+
public static void setTwitterTokens(final String tokenPublic,
final String tokenSecret, boolean enableTwitter) {
putString(R.string.pref_twitter_token_public, tokenPublic);
@@ -753,7 +763,7 @@ public final class Settings {
}
public static ImmutablePair<String, String> getTempToken() {
- String tokenPublic = getString(R.string.pref_twitter_token_public, null);
+ String tokenPublic = getString(R.string.pref_temp_twitter_token_public, null);
String tokenSecret = getString(R.string.pref_temp_twitter_token_secret, null);
return new ImmutablePair<String, String>(tokenPublic, tokenSecret);
}
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java
index 1fc2ba4..61046b3 100644
--- a/main/src/cgeo/geocaching/settings/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java
@@ -64,6 +64,8 @@ public class SettingsActivity extends PreferenceActivity {
private static final int INTENT_GOTO_SERVICES = 1;
private static final int DIR_CHOOSER_MAPS_DIRECTORY_REQUEST = 4;
+ static final int OAUTH_OCDE_REQUEST = 5;
+ static final int OAUTH_TWITTER_REQUEST = 6;
private EditText signatureText;
@@ -377,7 +379,7 @@ public class SettingsActivity extends PreferenceActivity {
redrawScreen(R.string.pref_fakekey_services_screen);
}
- private void redrawScreen(int key) {
+ void redrawScreen(int key) {
PreferenceScreen screen = (PreferenceScreen) SettingsActivity
.findPreference(this, getKey(key));
if (screen == null) {
@@ -393,6 +395,20 @@ public class SettingsActivity extends PreferenceActivity {
Settings.putString(R.string.pref_webDeviceName, Settings.getWebDeviceName());
}
+ void setOCDEAuthTitle() {
+ SettingsActivity.findPreference(this, getKey(R.string.pref_fakekey_ocde_authorization))
+ .setTitle(getString(Settings.hasOCDEAuthorization()
+ ? R.string.init_reregister_oc_de
+ : R.string.init_register_oc_de));
+ }
+
+ void setTwitterAuthTitle() {
+ SettingsActivity.findPreference(this, getKey(R.string.pref_fakekey_twitter_authorization))
+ .setTitle(getString(Settings.hasTwitterAuthorization()
+ ? R.string.init_twitter_reauthorize
+ : R.string.init_twitter_authorize));
+ }
+
public static void jumpToServicesPage(final Context fromActivity) {
final Intent intent = new Intent(fromActivity, SettingsActivity.class);
intent.putExtra(INTENT_GOTO, INTENT_GOTO_SERVICES);
@@ -426,6 +442,14 @@ public class SettingsActivity extends PreferenceActivity {
SettingsActivity.findPreference(this, getKey(R.string.pref_mapDirectory)).setSummary(
Settings.getMapFileDirectory());
break;
+ case OAUTH_OCDE_REQUEST:
+ setOCDEAuthTitle();
+ redrawScreen(R.string.pref_fakekey_services_screen);
+ break;
+ case OAUTH_TWITTER_REQUEST:
+ setTwitterAuthTitle();
+ redrawScreen(R.string.pref_fakekey_services_screen);
+ break;
default:
throw new IllegalArgumentException();
}