aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/twitter
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-10-19 10:35:57 +0200
committerBananeweizen <bananeweizen@gmx.de>2013-10-19 10:35:57 +0200
commit2093ea462db4d8e56282de5871c58579a023d7cf (patch)
tree3324262eb4de7946b1a2b30d3f76e131bb584c13 /main/src/cgeo/geocaching/twitter
parent2a74f5c1f3c11ba217d6b8cb732ddc3ce4610d4b (diff)
downloadcgeo-2093ea462db4d8e56282de5871c58579a023d7cf.zip
cgeo-2093ea462db4d8e56282de5871c58579a023d7cf.tar.gz
cgeo-2093ea462db4d8e56282de5871c58579a023d7cf.tar.bz2
fix #3365: Twitter placeholder not working
Diffstat (limited to 'main/src/cgeo/geocaching/twitter')
-rw-r--r--main/src/cgeo/geocaching/twitter/Twitter.java25
1 files changed, 7 insertions, 18 deletions
diff --git a/main/src/cgeo/geocaching/twitter/Twitter.java b/main/src/cgeo/geocaching/twitter/Twitter.java
index c3f99fa..3dd1e17 100644
--- a/main/src/cgeo/geocaching/twitter/Twitter.java
+++ b/main/src/cgeo/geocaching/twitter/Twitter.java
@@ -12,6 +12,8 @@ import cgeo.geocaching.network.OAuth;
import cgeo.geocaching.network.Parameters;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.LogTemplateProvider;
+import cgeo.geocaching.utils.LogTemplateProvider.LogContext;
import ch.boye.httpclientandroidlib.HttpResponse;
@@ -64,35 +66,22 @@ public final class Twitter {
private static void appendHashTag(final StringBuilder status, final String tag) {
if (status.length() + HASH_PREFIX_WITH_BLANK.length() + tag.length() <= MAX_TWEET_SIZE) {
final String tagWithPrefix = HASH_PREFIX_WITH_BLANK + tag;
- if (status.indexOf(tagWithPrefix, 0) == -1) {
+ if (!StringUtils.contains(status, tagWithPrefix)) {
status.append(tagWithPrefix);
}
}
}
static String getStatusMessage(Geocache cache) {
- String name = cache.getName();
- if (name.length() > 100) {
- name = name.substring(0, 100) + '…';
- }
- final String url = StringUtils.defaultString(cache.getUrl());
- return fillTemplate(Settings.getCacheTwitterMessage(), name, url);
+ return appendHashTags(LogTemplateProvider.applyTemplates(Settings.getCacheTwitterMessage(), new LogContext(cache)));
}
static String getStatusMessage(Trackable trackable) {
- String name = trackable.getName();
- if (name.length() > 82) {
- name = name.substring(0, 81) + '…';
- }
- String url = StringUtils.defaultString(trackable.getUrl());
- String status = Settings.getTrackableTwitterMessage();
- return fillTemplate(status, name, url);
+ return appendHashTags(LogTemplateProvider.applyTemplates(Settings.getTrackableTwitterMessage(), new LogContext(trackable)));
}
- private static String fillTemplate(String template, String name, final String url) {
- String result = StringUtils.replace(template, "[NAME]", name);
- result = StringUtils.replace(result, "[URL]", url);
- StringBuilder builder = new StringBuilder(result);
+ private static String appendHashTags(final String status) {
+ StringBuilder builder = new StringBuilder(status);
appendHashTag(builder, "cgeo");
appendHashTag(builder, "geocaching");
return builder.toString();