diff options
Diffstat (limited to 'main/src/cgeo/geocaching/settings/SettingsActivity.java')
| -rw-r--r-- | main/src/cgeo/geocaching/settings/SettingsActivity.java | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java index d2c73f3..e2b9b9b 100644 --- a/main/src/cgeo/geocaching/settings/SettingsActivity.java +++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java @@ -1,13 +1,14 @@ package cgeo.geocaching.settings; +import cgeo.geocaching.CgeoApplication; import cgeo.geocaching.Intents; import cgeo.geocaching.R; import cgeo.geocaching.SelectMapfileActivity; -import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum; import cgeo.geocaching.compatibility.Compatibility; +import cgeo.geocaching.connector.gc.GCConnector; import cgeo.geocaching.connector.gc.Login; import cgeo.geocaching.files.SimpleDirChooser; import cgeo.geocaching.maps.MapProviderFactory; @@ -151,10 +152,26 @@ public class SettingsActivity extends PreferenceActivity { getPreference(R.string.pref_connectorOCActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); getPreference(R.string.pref_connectorOCPLActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); getPreference(R.string.pref_connectorGCActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); + setWebsite(R.string.pref_fakekey_gc_website, GCConnector.getInstance().getHost()); + setWebsite(R.string.pref_fakekey_ocde_website, "opencaching.de"); + setWebsite(R.string.pref_fakekey_ocpl_website, "opencaching.pl"); + setWebsite(R.string.pref_fakekey_gcvote_website, "gcvote.com"); + setWebsite(R.string.pref_fakekey_sendtocgeo_website, "send2.cgeo.org"); + } + + private void setWebsite(final int preferenceKey, final String host) { + Preference preference = getPreference(preferenceKey); + preference.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(final Preference preference) { + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://" + host))); + return true; + } + }); } private static String getKey(final int prefKeyId) { - return cgeoapplication.getInstance().getString(prefKeyId); + return CgeoApplication.getInstance().getString(prefKeyId); } private Preference getPreference(final int keyId) { @@ -337,7 +354,7 @@ public class SettingsActivity extends PreferenceActivity { @Override public boolean onPreferenceClick(final Preference preference) { boolean oldValue = Settings.isDbOnSDCard(); - ((cgeoapplication) SettingsActivity.this.getApplication()) + ((CgeoApplication) SettingsActivity.this.getApplication()) .moveDatabase(SettingsActivity.this); return oldValue != Settings.isDbOnSDCard(); } @@ -506,7 +523,7 @@ public class SettingsActivity extends PreferenceActivity { preference.setSummary(mapSource.getName()); } else if (isPreference(preference, R.string.pref_connectorOCActive) || isPreference(preference, R.string.pref_connectorOCPLActive) || isPreference(preference, R.string.pref_connectorGCActive)) { // // reset log-in status if connector activation was changed - cgeoapplication.getInstance().checkLogin = true; + CgeoApplication.getInstance().checkLogin = true; } else if (preference instanceof ListPreference) { // For list preferences, look up the correct display value in // the preference's 'entries' list. @@ -537,7 +554,7 @@ public class SettingsActivity extends PreferenceActivity { if (Login.isActualLoginStatus()) { Login.logout(); } - cgeoapplication.getInstance().checkLogin = true; + CgeoApplication.getInstance().checkLogin = true; } return true; } |
