aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-04-04 20:16:17 +0200
committerBananeweizen <bananeweizen@gmx.de>2013-04-04 20:16:17 +0200
commit10110e6b83850b449ae559d06220e1d1faab3745 (patch)
tree4e5a63f468a87ab8c53c369bb23e72802c75ed18 /main/src/cgeo/geocaching
parent05e241cd5741c5c5baec64c7c3fbdb7e2c07844d (diff)
downloadcgeo-10110e6b83850b449ae559d06220e1d1faab3745.zip
cgeo-10110e6b83850b449ae559d06220e1d1faab3745.tar.gz
cgeo-10110e6b83850b449ae559d06220e1d1faab3745.tar.bz2
#556: avoid duplicate tags when appending our tags
Diffstat (limited to 'main/src/cgeo/geocaching')
-rw-r--r--main/src/cgeo/geocaching/Settings.java15
-rw-r--r--main/src/cgeo/geocaching/twitter/Twitter.java10
2 files changed, 21 insertions, 4 deletions
diff --git a/main/src/cgeo/geocaching/Settings.java b/main/src/cgeo/geocaching/Settings.java
index 0c157e1..93bfa9b 100644
--- a/main/src/cgeo/geocaching/Settings.java
+++ b/main/src/cgeo/geocaching/Settings.java
@@ -149,6 +149,7 @@ public final class Settings {
// maps
private static MapProvider mapProvider = null;
+ private static String cacheTwitterMessage = "I found [NAME] ([URL])";
private Settings() {
// this class is not to be instantiated;
@@ -1424,4 +1425,18 @@ public final class Settings {
}
});
}
+
+ public static String getCacheTwitterMessage() {
+ // TODO make customizable from UI
+ return cacheTwitterMessage;
+ }
+
+ public static String getTrackableTwitterMessage() {
+ // TODO make customizable from UI
+ return "I touched [NAME] ([URL])!";
+ }
+
+ public static void setCacheTwitterMessage(final String message) {
+ cacheTwitterMessage = message;
+ }
}
diff --git a/main/src/cgeo/geocaching/twitter/Twitter.java b/main/src/cgeo/geocaching/twitter/Twitter.java
index 6b427e0..e3d3f77 100644
--- a/main/src/cgeo/geocaching/twitter/Twitter.java
+++ b/main/src/cgeo/geocaching/twitter/Twitter.java
@@ -52,7 +52,10 @@ public final class Twitter {
public static void appendHashTag(final StringBuilder status, final String tag) {
if (status.length() + HASH_PREFIX_WITH_BLANK.length() + tag.length() <= MAX_TWEET_SIZE) {
- status.append(HASH_PREFIX_WITH_BLANK).append(tag);
+ final String tagWithPrefix = HASH_PREFIX_WITH_BLANK + tag;
+ if (status.indexOf(tagWithPrefix, 0) == -1) {
+ status.append(tagWithPrefix);
+ }
}
}
@@ -73,8 +76,7 @@ public final class Twitter {
name = name.substring(0, 100) + '…';
}
final String url = StringUtils.defaultString(cache.getUrl());
- String status = "I found [NAME] ([URL])";
- return fillTemplate(status, name, url);
+ return fillTemplate(Settings.getCacheTwitterMessage(), name, url);
}
private static String fillTemplate(String template, String name, final String url) {
@@ -97,7 +99,7 @@ public final class Twitter {
name = name.substring(0, 81) + '…';
}
String url = StringUtils.defaultString(trackable.getUrl());
- String status = "I touched [NAME] ([URL])!";
+ String status = Settings.getTrackableTwitterMessage();
return fillTemplate(status, name, url);
}
}