aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2014-07-08 21:41:13 +0200
committerBananeweizen <bananeweizen@gmx.de>2014-07-08 21:41:13 +0200
commit986217740a3c91b37fb1a7cc6efa52a2350d4b5a (patch)
treebdfcef32819b38e0d0d6f0e4c979d3a04bf3c085 /main
parent4e1d9e0b6c9166e5d4f1b143996d14943c90b239 (diff)
downloadcgeo-986217740a3c91b37fb1a7cc6efa52a2350d4b5a.zip
cgeo-986217740a3c91b37fb1a7cc6efa52a2350d4b5a.tar.gz
cgeo-986217740a3c91b37fb1a7cc6efa52a2350d4b5a.tar.bz2
show active state also for gcvote and send2cgeo services
Diffstat (limited to 'main')
-rw-r--r--main/res/values/preference_keys.xml1
-rw-r--r--main/res/xml/preferences.xml4
-rw-r--r--main/src/cgeo/geocaching/CacheListActivity.java2
-rw-r--r--main/src/cgeo/geocaching/settings/Settings.java4
-rw-r--r--main/src/cgeo/geocaching/settings/SettingsActivity.java12
5 files changed, 21 insertions, 2 deletions
diff --git a/main/res/values/preference_keys.xml b/main/res/values/preference_keys.xml
index 0993452..72d7c61 100644
--- a/main/res/values/preference_keys.xml
+++ b/main/res/values/preference_keys.xml
@@ -21,6 +21,7 @@
<string name="preference_screen_twitter">preference_screen_twitter</string>
<string name="preference_screen_navigation_menu">fakekey_navigation_menu_screen</string>
<string name="preference_screen_sendtocgeo">preference_screen_sendtocgeo</string>
+ <string name="preference_screen_gcvote">preference_screen_gcvote</string>
<string name="pref_fakekey_ocde_authorization">fakekey_ocde_authorization</string>
<string name="pref_fakekey_ocpl_authorization">fakekey_ocpl_authorization</string>
<string name="pref_fakekey_ocnl_authorization">fakekey_ocnl_authorization</string>
diff --git a/main/res/xml/preferences.xml b/main/res/xml/preferences.xml
index 1f1838b..6226ebf 100644
--- a/main/res/xml/preferences.xml
+++ b/main/res/xml/preferences.xml
@@ -315,7 +315,9 @@
android:title="@string/settings_open_website" />
</PreferenceCategory>
</PreferenceScreen>
- <PreferenceScreen android:title="@string/init_gcvote" >
+ <PreferenceScreen
+ android:key="@string/preference_screen_gcvote"
+ android:title="@string/init_gcvote" >
<PreferenceCategory android:title="@string/settings_settings" >
<CheckBoxPreference
android:defaultValue="true"
diff --git a/main/src/cgeo/geocaching/CacheListActivity.java b/main/src/cgeo/geocaching/CacheListActivity.java
index 452b55e..2191e0e 100644
--- a/main/src/cgeo/geocaching/CacheListActivity.java
+++ b/main/src/cgeo/geocaching/CacheListActivity.java
@@ -1126,7 +1126,7 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA
public void importWeb() {
// menu is also shown with no device connected
- if (Settings.getWebDeviceCode() == null) {
+ if (!Settings.isRegisteredForSend2cgeo()) {
Dialogs.confirm(this, R.string.web_import_title, R.string.init_sendToCgeo_description, new OnClickListener() {
@Override
diff --git a/main/src/cgeo/geocaching/settings/Settings.java b/main/src/cgeo/geocaching/settings/Settings.java
index 78df254..975e019 100644
--- a/main/src/cgeo/geocaching/settings/Settings.java
+++ b/main/src/cgeo/geocaching/settings/Settings.java
@@ -714,6 +714,10 @@ public class Settings {
return getString(R.string.pref_webDeviceCode, null);
}
+ public static boolean isRegisteredForSend2cgeo() {
+ return getWebDeviceCode() != null;
+ }
+
public static String getWebDeviceName() {
return getString(R.string.pref_webDeviceName, android.os.Build.MODEL);
}
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java
index f4097b2..ceb57a6 100644
--- a/main/src/cgeo/geocaching/settings/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java
@@ -170,6 +170,14 @@ public class SettingsActivity extends PreferenceActivity {
setServiceScreenSummary(getPreferenceManager(), R.string.pref_connectorGCActive);
setServiceScreenSummary(getPreferenceManager(), R.string.pref_connectorOXActive);
setServiceScreenSummary(getPreferenceManager(), R.string.pref_connectorECActive);
+ registerForSummaryAndUpdate(R.string.preference_screen_sendtocgeo);
+ registerForSummaryAndUpdate(R.string.preference_screen_gcvote);
+ }
+
+ private void registerForSummaryAndUpdate(final int preferenceKey) {
+ getPreference(preferenceKey).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER);
+ // force an immediate update
+ VALUE_CHANGE_LISTENER.onPreferenceChange(getPreference(preferenceKey), StringUtils.EMPTY);
}
private void setWebsite(final int preferenceKey, final String host) {
@@ -631,6 +639,10 @@ public class SettingsActivity extends PreferenceActivity {
text = preference.getContext().getString(R.string.init_backup_last_no);
}
preference.setSummary(text);
+ } else if (isPreference(preference, R.string.preference_screen_sendtocgeo)) {
+ preference.setSummary(getServiceSummary(Settings.isRegisteredForSend2cgeo()));
+ } else if (isPreference(preference, R.string.preference_screen_gcvote)) {
+ preference.setSummary(getServiceSummary(Settings.isRatingWanted()));
} else {
// For all other preferences, set the summary to the value's
// simple string representation.