From c4bd5f551c612c989a5dca43094cb41f9e3b273b Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Fri, 13 Jul 2018 23:44:02 +0200 Subject: [PATCH] Fix bugs ith layout & google apis Signed-off-by: Mario Danic --- .../nextcloud/talk/utils/ClosedInterfaceImpl.java | 6 +++--- .../MagicIncomingTextMessageViewHolder.java | 1 + .../MagicOutcomingTextMessageViewHolder.java | 1 + .../talk/utils/emoticons/EmoticonUtils.java | 15 ++++++++++++++- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/src/gplay/java/com/nextcloud/talk/utils/ClosedInterfaceImpl.java b/app/src/gplay/java/com/nextcloud/talk/utils/ClosedInterfaceImpl.java index 62baa68ef..18a5cfdc6 100644 --- a/app/src/gplay/java/com/nextcloud/talk/utils/ClosedInterfaceImpl.java +++ b/app/src/gplay/java/com/nextcloud/talk/utils/ClosedInterfaceImpl.java @@ -39,9 +39,9 @@ public class ClosedInterfaceImpl implements ClosedInterface, ProviderInstallList @Override public boolean isGooglePlayServicesAvailable() { - GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance(); - int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(context); - return resultCode == ConnectionResult.SUCCESS; + GoogleApiAvailability api = GoogleApiAvailability.getInstance(); + int code = api.isGooglePlayServicesAvailable(NextcloudTalkApplication.getSharedApplication().getApplicationContext()); + return code == ConnectionResult.SUCCESS; } @Override diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.java b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.java index 200193acd..27b8e66c7 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.java @@ -103,6 +103,7 @@ public class MagicIncomingTextMessageViewHolder Context context = NextcloudTalkApplication.getSharedApplication().getApplicationContext(); itemView.setSelected(false); + messageTimeView.setTextColor(context.getResources().getColor(R.color.warm_grey_four)); FlexboxLayout.LayoutParams layoutParams = (FlexboxLayout.LayoutParams) messageTimeView.getLayoutParams(); layoutParams.setWrapBefore(false); diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.java b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.java index 04d8e55ab..1a5a39ce5 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.java @@ -80,6 +80,7 @@ public class MagicOutcomingTextMessageViewHolder extends MessageHolders.Outcomin Context context = NextcloudTalkApplication.getSharedApplication().getApplicationContext(); itemView.setSelected(false); + messageTimeView.setTextColor(context.getResources().getColor(R.color.white60)); FlexboxLayout.LayoutParams layoutParams = (FlexboxLayout.LayoutParams) messageTimeView.getLayoutParams(); layoutParams.setWrapBefore(false); diff --git a/app/src/main/java/com/nextcloud/talk/utils/emoticons/EmoticonUtils.java b/app/src/main/java/com/nextcloud/talk/utils/emoticons/EmoticonUtils.java index 4c3936b85..8dbc1705d 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/emoticons/EmoticonUtils.java +++ b/app/src/main/java/com/nextcloud/talk/utils/emoticons/EmoticonUtils.java @@ -130,7 +130,20 @@ public final class EmoticonUtils { final List result = new ArrayList<>(); if (!TextUtils.isEmpty(text)) { - final Matcher matcher = getRegex(context).matcher(text); + + // Regexp acquired from https://gist.github.com/sergeychilingaryan/94902985a636658496cb69c300bba05f + String regexString = "(?:[\\u2700-\\u27bf]|" + + + "(?:[\\ud83c\\udde6-\\ud83c\\uddff]){2}|" + + "[\\ud800\\udc00-\\uDBFF\\uDFFF]|[\\u2600-\\u26FF])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|[\\ud83c\\udffb-\\ud83c\\udfff])?" + + + "(?:\\u200d(?:[^\\ud800-\\udfff]|" + + + "(?:[\\ud83c\\udde6-\\ud83c\\uddff]){2}|" + + "[\\ud800\\udc00-\\uDBFF\\uDFFF]|[\\u2600-\\u26FF])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|[\\ud83c\\udffb-\\ud83c\\udfff])?)*|" + + + "[\\u0023-\\u0039]\\ufe0f?\\u20e3|\\u3299|\\u3297|\\u303d|\\u3030|\\u24c2|[\\ud83c\\udd70-\\ud83c\\udd71]|[\\ud83c\\udd7e-\\ud83c\\udd7f]|\\ud83c\\udd8e|[\\ud83c\\udd91-\\ud83c\\udd9a]|[\\ud83c\\udde6-\\ud83c\\uddff]|[\\ud83c\\ude01-\\ud83c\\ude02]|\\ud83c\\ude1a|\\ud83c\\ude2f|[\\ud83c\\ude32-\\ud83c\\ude3a]|[\\ud83c\\ude50-\\ud83c\\ude51]|\\u203c|\\u2049|[\\u25aa-\\u25ab]|\\u25b6|\\u25c0|[\\u25fb-\\u25fe]|\\u00a9|\\u00ae|\\u2122|\\u2139|\\ud83c\\udc04|[\\u2600-\\u26FF]|\\u2b05|\\u2b06|\\u2b07|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u231a|\\u231b|\\u2328|\\u23cf|[\\u23e9-\\u23f3]|[\\u23f8-\\u23fa]|\\ud83c\\udccf|\\u2934|\\u2935|[\\u2190-\\u21ff]"; + final Matcher matcher = Pattern.compile(regexString, Pattern.UNICODE_CASE).matcher(text); while (matcher.find()) { String unicode = text.subSequence(matcher.start(), matcher.end()).toString(); // quick hack