diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2013-12-18 10:47:02 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2013-12-18 10:47:02 +0100 |
| commit | 32b0322d35cc42c989778b7fece66ec2d47be5c7 (patch) | |
| tree | 9c365f85f130296b83f748af66723655cf1e87a0 /main/src/cgeo/geocaching/connector/AbstractConnector.java | |
| parent | 542e63300e4f0d5f6a3dad4b3e69977d5db13eb6 (diff) | |
| download | cgeo-32b0322d35cc42c989778b7fece66ec2d47be5c7.zip cgeo-32b0322d35cc42c989778b7fece66ec2d47be5c7.tar.gz cgeo-32b0322d35cc42c989778b7fece66ec2d47be5c7.tar.bz2 | |
refactoring: generalize GCConnector capabilities implementation
Diffstat (limited to 'main/src/cgeo/geocaching/connector/AbstractConnector.java')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/AbstractConnector.java | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/main/src/cgeo/geocaching/connector/AbstractConnector.java b/main/src/cgeo/geocaching/connector/AbstractConnector.java index 2989fb2..ffb1b1f 100644 --- a/main/src/cgeo/geocaching/connector/AbstractConnector.java +++ b/main/src/cgeo/geocaching/connector/AbstractConnector.java @@ -16,6 +16,7 @@ import org.apache.commons.lang3.StringUtils; import org.eclipse.jdt.annotation.NonNull; import java.util.ArrayList; +import java.util.Collection; import java.util.List; public abstract class AbstractConnector implements IConnector { @@ -142,9 +143,6 @@ public abstract class AbstractConnector implements IConnector { return getCacheUrl(cache); } - /** - * {@link IConnector} - */ @Override public boolean isActive() { return false; @@ -213,33 +211,31 @@ public abstract class AbstractConnector implements IConnector { } @Override - public final String getCapabilitiesMessage() { - StringBuilder builder = new StringBuilder("<p>" - + CgeoApplication.getInstance().getString(R.string.feature_description) + "<ul>"); - builder.append(capability(ISearchByViewPort.class, R.string.feature_search_live_map)); - builder.append(capability(ISearchByKeyword.class, R.string.feature_search_keyword)); - builder.append(capability(ISearchByCenter.class, R.string.feature_search_center)); - builder.append(capability(ISearchByGeocode.class, R.string.feature_search_geocode)); + public final Collection<String> getCapabilities() { + ArrayList<String> builder = new ArrayList<String>(); + builder.add(capability(ISearchByViewPort.class, R.string.feature_search_live_map)); + builder.add(capability(ISearchByKeyword.class, R.string.feature_search_keyword)); + builder.add(capability(ISearchByCenter.class, R.string.feature_search_center)); + builder.add(capability(ISearchByGeocode.class, R.string.feature_search_geocode)); if (supportsUserActions()) { - builder.append(feature(R.string.feature_search_user)); + builder.add(feature(R.string.feature_search_user)); } if (supportsLogging()) { - builder.append(feature(R.string.feature_online_logging)); + builder.add(feature(R.string.feature_online_logging)); } if (supportsLogImages()) { - builder.append(feature(R.string.feature_log_images)); + builder.add(feature(R.string.feature_log_images)); } if (supportsPersonalNote()) { - builder.append(feature(R.string.feature_personal_notes)); + builder.add(feature(R.string.feature_personal_notes)); } if (supportsOwnCoordinates()) { - builder.append(feature(R.string.feature_own_coordinates)); + builder.add(feature(R.string.feature_own_coordinates)); } if (supportsWatchList()) { - builder.append(feature(R.string.feature_watch_list)); + builder.add(feature(R.string.feature_watch_list)); } - builder.append("</ul></p>"); - return builder.toString(); + return builder; } private String capability(Class<? extends IConnector> clazz, final int featureResourceId) { @@ -250,6 +246,6 @@ public abstract class AbstractConnector implements IConnector { } private static String feature(int featureResourceId) { - return "<li>" + CgeoApplication.getInstance().getString(featureResourceId) + "</li>"; + return CgeoApplication.getInstance().getString(featureResourceId); } } |
