diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2013-12-18 16:34:33 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2013-12-18 16:34:33 +0100 |
| commit | 4ea99458fa7cc6acc7fc023f6d63addf36ee8f85 (patch) | |
| tree | 91451f36dfeb0c905868b632f425bf41a542370e /main/src/cgeo/geocaching/settings | |
| parent | cdc560f4208fc77ce7e3ebe85a8e3baad0870dcd (diff) | |
| download | cgeo-4ea99458fa7cc6acc7fc023f6d63addf36ee8f85.zip cgeo-4ea99458fa7cc6acc7fc023f6d63addf36ee8f85.tar.gz cgeo-4ea99458fa7cc6acc7fc023f6d63addf36ee8f85.tar.bz2 | |
refactoring: remove duplicated code
Diffstat (limited to 'main/src/cgeo/geocaching/settings')
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(); |
