diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2012-09-02 13:49:07 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2012-09-02 13:49:07 +0200 |
| commit | 83c2839a59e9928f105e35b4fcb5b14845f21abb (patch) | |
| tree | 44ca4f36e003fa98ca69c572b76c8030d37c505c | |
| parent | ea30aeba7778a0a9b847663b21b7bd1e0f24e123 (diff) | |
| download | cgeo-83c2839a59e9928f105e35b4fcb5b14845f21abb.zip cgeo-83c2839a59e9928f105e35b4fcb5b14845f21abb.tar.gz cgeo-83c2839a59e9928f105e35b4fcb5b14845f21abb.tar.bz2 | |
fix #915: Readability improvement for Cache Description
| -rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index 0c7febc..f9f9059 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -99,6 +99,8 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Map.Entry; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Activity to handle all single-cache-stuff. @@ -124,6 +126,8 @@ public class CacheDetailActivity extends AbstractActivity { private static final int CONTEXT_MENU_WAYPOINT_CACHES_AROUND = 1239; private static final int CONTEXT_MENU_WAYPOINT_DEFAULT_NAVIGATION = 1240; + private static final Pattern DARK_COLOR_PATTERN = Pattern.compile(Pattern.quote("color=\"#") + "(0[0-9]){3}" + "\""); + private cgCache cache; private final Progress progress = new Progress(); private SearchResult search; @@ -2058,14 +2062,20 @@ public class CacheDetailActivity extends AbstractActivity { * @param text */ private void fixBlackTextColor(final TextView view, final String text) { - if (!Settings.isLightSkin()) { - if (-1 != StringUtils.indexOfAny(text, new String[] { "color=\"#000000", "color=\"black" })) { - view.setBackgroundResource(color.darker_gray); - } - else { - view.setBackgroundResource(color.black); + if (Settings.isLightSkin()) { + return; + } + int backcolor = color.black; + if (-1 != StringUtils.indexOfAny(text, new String[] { "color=\"black", "color=\"#000080\"" })) { + backcolor = color.darker_gray; + } + else { + Matcher matcher = DARK_COLOR_PATTERN.matcher(text); + if (matcher.find()) { + backcolor = color.darker_gray; } } + view.setBackgroundResource(backcolor); } } |
