aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/connector/AbstractConnector.java
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-12-18 10:47:02 +0100
committerBananeweizen <bananeweizen@gmx.de>2013-12-18 10:47:02 +0100
commit32b0322d35cc42c989778b7fece66ec2d47be5c7 (patch)
tree9c365f85f130296b83f748af66723655cf1e87a0 /main/src/cgeo/geocaching/connector/AbstractConnector.java
parent542e63300e4f0d5f6a3dad4b3e69977d5db13eb6 (diff)
downloadcgeo-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.java34
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);
}
}