diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2013-04-04 20:16:17 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2013-04-04 20:16:17 +0200 |
| commit | 10110e6b83850b449ae559d06220e1d1faab3745 (patch) | |
| tree | 4e5a63f468a87ab8c53c369bb23e72802c75ed18 /main/src/cgeo/geocaching | |
| parent | 05e241cd5741c5c5baec64c7c3fbdb7e2c07844d (diff) | |
| download | cgeo-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.java | 15 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/twitter/Twitter.java | 10 |
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); } } |
