aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2016-03-08 23:21:44 +0100
committersteckbrief <steckbrief@chefmail.de>2016-03-08 23:22:36 +0100
commit9af0794911b7993b612d23b3851fc5f5754bb2a0 (patch)
tree68e8b00f6031e4c19ca4dbcbdbbb2101acabd499
parenta5243a8160bd9d939299a44db8e28331ac756911 (diff)
parent85bb3f537ae253d367c4be19305d4ad3c2bb8f76 (diff)
Merge remote branch 'master'
-rw-r--r--build.gradle2
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java37
-rw-r--r--src/main/res/layout/message_received.xml2
-rw-r--r--src/main/res/layout/message_sent.xml2
4 files changed, 21 insertions, 22 deletions
diff --git a/build.gradle b/build.gradle
index 66528611..877fe4b6 100644
--- a/build.gradle
+++ b/build.gradle
@@ -65,7 +65,7 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
- versionCode 6
+ versionCode 7
versionName "0.0.6"
archivesBaseName += "-$versionName"
}
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java b/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java
index 79f3412d..cc6ea18c 100644
--- a/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java
@@ -332,32 +332,22 @@ public class MessageAdapter extends ArrayAdapter<Message> {
}
int patternMatchCount = 0;
int oldAutoLinkMask = viewHolder.messageBody.getAutoLinkMask();
- Matcher matcher = null;
// first check if we have a match on XMPP_PATTERN so we do not have to check for EMAIL_ADDRESSES
- matcher = XMPP_PATTERN.matcher(body);
- if ((Linkify.EMAIL_ADDRESSES & oldAutoLinkMask) != 0 && matcher.find()) {
+ patternMatchCount += countMatches(XMPP_PATTERN, body);
+ if ((Linkify.EMAIL_ADDRESSES & oldAutoLinkMask) != 0 && patternMatchCount > 0) {
oldAutoLinkMask -= Linkify.EMAIL_ADDRESSES;
}
// count matches for all patterns
if ((Linkify.WEB_URLS & oldAutoLinkMask) != 0) {
- matcher = Patterns.WEB_URL.matcher(body);
- while (matcher.find()) {
- patternMatchCount++;
- }
+ patternMatchCount += countMatches(Patterns.WEB_URL, body);
}
if ((Linkify.EMAIL_ADDRESSES & oldAutoLinkMask) != 0) {
- matcher = Patterns.EMAIL_ADDRESS.matcher(body);
- while (matcher.find()) {
- patternMatchCount++;
- }
+ patternMatchCount += countMatches(Patterns.EMAIL_ADDRESS, body);
}
if ((Linkify.PHONE_NUMBERS & oldAutoLinkMask) != 0) {
- matcher = Patterns.PHONE.matcher(body);
- while (matcher.find()) {
- patternMatchCount++;
- }
+ patternMatchCount += countMatches(Patterns.PHONE, body);
}
viewHolder.messageBody.setTextIsSelectable(patternMatchCount <= 1);
@@ -369,12 +359,25 @@ public class MessageAdapter extends ArrayAdapter<Message> {
viewHolder.messageBody.setTextIsSelectable(false);
}
viewHolder.messageBody.setTextColor(this.getMessageTextColor(darkBackground, true));
- viewHolder.messageBody.setLinkTextColor(this.getMessageTextColor(darkBackground, true));
- viewHolder.messageBody.setHighlightColor(activity.getResources().getColor(darkBackground ? R.color.grey800 : R.color.grey500));
viewHolder.messageBody.setTypeface(null, Typeface.NORMAL);
viewHolder.messageBody.setOnLongClickListener(openContextMenu);
}
+ /**
+ * Counts the number of occurrences of the pattern in body.
+ * @param pattern the pattern to match
+ * @param body the body to find the pattern
+ * @return the number of occurrences
+ */
+ private int countMatches(Pattern pattern, String body) {
+ Matcher matcher = pattern.matcher(body);
+ int count = 0;
+ while (matcher.find()) {
+ count++;
+ }
+ return count;
+ }
+
private void displayDownloadableMessage(ViewHolder viewHolder,
final Message message, String text) {
viewHolder.image.setVisibility(View.GONE);
diff --git a/src/main/res/layout/message_received.xml b/src/main/res/layout/message_received.xml
index 93ab095b..fa690872 100644
--- a/src/main/res/layout/message_received.xml
+++ b/src/main/res/layout/message_received.xml
@@ -54,9 +54,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web|phone|email"
- android:textColorLink="@color/primaryText"
android:textColor="@color/primaryText"
- android:textColorHighlight="@color/grey500"
android:textSize="?attr/TextSizeBody"
app:emojiconSize="28sp" />
diff --git a/src/main/res/layout/message_sent.xml b/src/main/res/layout/message_sent.xml
index 909ae9c7..b74347d4 100644
--- a/src/main/res/layout/message_sent.xml
+++ b/src/main/res/layout/message_sent.xml
@@ -54,9 +54,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web|phone|email"
- android:textColorLink="@color/primaryText"
android:textColor="@color/primaryText"
- android:textColorHighlight="@color/grey500"
android:textSize="?attr/TextSizeBody"
app:emojiconSize="28sp"/>