aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/settings
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-12-18 16:34:33 +0100
committerBananeweizen <bananeweizen@gmx.de>2013-12-18 16:34:33 +0100
commit4ea99458fa7cc6acc7fc023f6d63addf36ee8f85 (patch)
tree91451f36dfeb0c905868b632f425bf41a542370e /main/src/cgeo/geocaching/settings
parentcdc560f4208fc77ce7e3ebe85a8e3baad0870dcd (diff)
downloadcgeo-4ea99458fa7cc6acc7fc023f6d63addf36ee8f85.zip
cgeo-4ea99458fa7cc6acc7fc023f6d63addf36ee8f85.tar.gz
cgeo-4ea99458fa7cc6acc7fc023f6d63addf36ee8f85.tar.bz2
refactoring: remove duplicated code
Diffstat (limited to 'main/src/cgeo/geocaching/settings')
-rw-r--r--main/src/cgeo/geocaching/settings/CheckECCredentialsPreference.java3
-rw-r--r--main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java2
-rw-r--r--main/src/cgeo/geocaching/settings/Settings.java40
-rw-r--r--main/src/cgeo/geocaching/settings/SettingsActivity.java2
4 files changed, 19 insertions, 28 deletions
diff --git a/main/src/cgeo/geocaching/settings/CheckECCredentialsPreference.java b/main/src/cgeo/geocaching/settings/CheckECCredentialsPreference.java
index a1497bb..46a3661 100644
--- a/main/src/cgeo/geocaching/settings/CheckECCredentialsPreference.java
+++ b/main/src/cgeo/geocaching/settings/CheckECCredentialsPreference.java
@@ -1,5 +1,6 @@
package cgeo.geocaching.settings;
+import cgeo.geocaching.connector.ec.ECConnector;
import cgeo.geocaching.connector.ec.ECLogin;
import cgeo.geocaching.enumerations.StatusCode;
@@ -24,7 +25,7 @@ public class CheckECCredentialsPreference extends AbstractCheckCredentialsPrefer
@Override
protected ImmutablePair<String, String> getCredentials() {
- return Settings.getECLogin();
+ return Settings.getCredentials(ECConnector.getInstance());
}
@Override
diff --git a/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java b/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java
index 400f898..12c8b24 100644
--- a/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java
+++ b/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java
@@ -24,7 +24,7 @@ public class CheckGcCredentialsPreference extends AbstractCheckCredentialsPrefer
@Override
protected ImmutablePair<String, String> getCredentials() {
- return Settings.getGcLogin();
+ return Settings.getGcCredentials();
}
@Override
diff --git a/main/src/cgeo/geocaching/settings/Settings.java b/main/src/cgeo/geocaching/settings/Settings.java
index ca2da78..186e5d9 100644
--- a/main/src/cgeo/geocaching/settings/Settings.java
+++ b/main/src/cgeo/geocaching/settings/Settings.java
@@ -3,6 +3,8 @@ package cgeo.geocaching.settings;
import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.R;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum;
+import cgeo.geocaching.connector.capability.ICredentials;
+import cgeo.geocaching.connector.gc.GCConnector;
import cgeo.geocaching.connector.gc.GCConstants;
import cgeo.geocaching.connector.gc.GCLogin;
import cgeo.geocaching.enumerations.CacheType;
@@ -24,6 +26,7 @@ import cgeo.geocaching.utils.Log;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import android.content.Context;
@@ -270,20 +273,12 @@ public class Settings {
}
/**
- * Get login and password information.
+ * Get login and password information of Geocaching.com.
*
* @return a pair either with (login, password) or (empty, empty) if no valid information is stored
*/
- public static ImmutablePair<String, String> getGcLogin() {
-
- final String username = getString(R.string.pref_username, null);
- final String password = getString(R.string.pref_password, null);
-
- if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
- return new ImmutablePair<String, String>(StringUtils.EMPTY, StringUtils.EMPTY);
- }
-
- return new ImmutablePair<String, String>(username, password);
+ public static ImmutablePair<String, String> getGcCredentials() {
+ return getCredentials(GCConnector.getInstance());
}
/**
@@ -291,10 +286,9 @@ public class Settings {
*
* @return a pair either with (login, password) or (empty, empty) if no valid information is stored
*/
- public static ImmutablePair<String, String> getECLogin() {
-
- final String username = getString(R.string.pref_ecusername, null);
- final String password = getString(R.string.pref_ecpassword, null);
+ public static ImmutablePair<String, String> getCredentials(final @NonNull ICredentials connector) {
+ final String username = getString(connector.getUsernamePreferenceKey(), null);
+ final String password = getString(connector.getPasswordPreferenceKey(), null);
if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
return new ImmutablePair<String, String>(StringUtils.EMPTY, StringUtils.EMPTY);
@@ -636,8 +630,6 @@ public class Settings {
* @return
*/
private static int getConvertedMapId() {
- // what the heck is happening here?? hashCodes of Strings?
- // why not strings?
final int id = Integer.parseInt(getString(R.string.pref_mapsource,
String.valueOf(MAP_SOURCE_DEFAULT)));
switch (id) {
@@ -950,18 +942,16 @@ public class Settings {
putBoolean(R.string.pref_excludemine, exclude);
}
- static boolean setLogin(final String username, final String password) {
-
+ static void setLogin(final String username, final String password) {
if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
// erase username and password
- boolean a = remove(R.string.pref_username);
- boolean b = remove(R.string.pref_password);
- return a && b;
+ remove(R.string.pref_username);
+ remove(R.string.pref_password);
+ return;
}
// save username and password
- boolean a = putString(R.string.pref_username, username);
- boolean b = putString(R.string.pref_password, password);
- return a && b;
+ putString(R.string.pref_username, username);
+ putString(R.string.pref_password, password);
}
public static long getFieldnoteExportDate() {
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java
index 46dacb2..2cb9547 100644
--- a/main/src/cgeo/geocaching/settings/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java
@@ -520,7 +520,7 @@ public class SettingsActivity extends PreferenceActivity {
// simple string representation.
preference.setSummary(stringValue);
}
- if ((isPreference(preference, R.string.pref_username) && !stringValue.equals(Settings.getUsername())) || (isPreference(preference, R.string.pref_password) && !stringValue.equals(Settings.getGcLogin().getRight()))) {
+ if ((isPreference(preference, R.string.pref_username) && !stringValue.equals(Settings.getUsername())) || (isPreference(preference, R.string.pref_password) && !stringValue.equals(Settings.getGcCredentials().getRight()))) {
// reset log-in if gc user or password is changed
if (GCLogin.getInstance().isActualLoginStatus()) {
GCLogin.getInstance().logout();