aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2012-09-02 13:49:07 +0200
committerBananeweizen <bananeweizen@gmx.de>2012-09-02 13:49:07 +0200
commit83c2839a59e9928f105e35b4fcb5b14845f21abb (patch)
tree44ca4f36e003fa98ca69c572b76c8030d37c505c
parentea30aeba7778a0a9b847663b21b7bd1e0f24e123 (diff)
downloadcgeo-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.java22
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);
}
}