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 e53d96402..b71f0dbc2 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 @@ -98,6 +98,7 @@ public class MagicOutcomingTextMessageViewHolder extends MessageHolders.Outcomin messageString, individualHashMap.get("id"), individualHashMap.get("name"), + individualHashMap.get("type"), userUtils.getUserById(message.getActiveUserId()), R.xml.chip_simple_background); } else { @@ -106,6 +107,7 @@ public class MagicOutcomingTextMessageViewHolder extends MessageHolders.Outcomin messageString, individualHashMap.get("id"), individualHashMap.get("name"), + individualHashMap.get("type"), userUtils.getUserById(message.getActiveUserId()), R.xml.chip_outgoing_own_mention); } diff --git a/app/src/main/java/com/nextcloud/talk/callbacks/MentionAutocompleteCallback.java b/app/src/main/java/com/nextcloud/talk/callbacks/MentionAutocompleteCallback.java index 230f582b4..31dc50ef8 100644 --- a/app/src/main/java/com/nextcloud/talk/callbacks/MentionAutocompleteCallback.java +++ b/app/src/main/java/com/nextcloud/talk/callbacks/MentionAutocompleteCallback.java @@ -51,7 +51,7 @@ public class MentionAutocompleteCallback implements AutocompleteCallback= Build.VERSION_CODES.M) { + Configuration config = context.getResources().getConfiguration(); + chip.setLayoutDirection(config.getLayoutDirection()); } - chip.setChipIcon(context.getDrawable(drawable)); + int drawable; + + if (!"call".equals(type)) { + if (chipResource == R.xml.chip_accent_background) { + drawable = R.drawable.white_circle; + } else { + drawable = R.drawable.accent_circle; + } + + chip.setChipIcon(context.getDrawable(drawable)); + } else { + chip.setChipIcon(getRoundedDrawable(context.getDrawable(R.drawable.ic_people_group_white_24px))); + } chip.setBounds(0, 0, chip.getIntrinsicWidth(), chip.getIntrinsicHeight()); - ImageRequest imageRequest = - getImageRequestForUrl(ApiUtils.getUrlForAvatarWithName(conversationUser.getBaseUrl(), id, R.dimen.avatar_size_big)); - ImagePipeline imagePipeline = Fresco.getImagePipeline(); - DataSource> dataSource = imagePipeline.fetchDecodedImage(imageRequest, context); + if (!"call".equals(type)) { + ImageRequest imageRequest = + getImageRequestForUrl(ApiUtils.getUrlForAvatarWithName(conversationUser.getBaseUrl(), id, R.dimen.avatar_size_big)); + ImagePipeline imagePipeline = Fresco.getImagePipeline(); + DataSource> dataSource = imagePipeline.fetchDecodedImage(imageRequest, context); - dataSource.subscribe( - new BaseBitmapDataSubscriber() { + dataSource.subscribe( + new BaseBitmapDataSubscriber() { - @Override - protected void onNewResultImpl(Bitmap bitmap) { - if (bitmap != null) { - chip.setChipIcon(getRoundedDrawable(new BitmapDrawable(bitmap))); - chip.invalidateSelf(); + @Override + protected void onNewResultImpl(Bitmap bitmap) { + if (bitmap != null) { + chip.setChipIcon(getRoundedDrawable(new BitmapDrawable(bitmap))); + chip.invalidateSelf(); + } } - } - @Override - protected void onFailureImpl(DataSource> dataSource) { - } - }, - UiThreadImmediateExecutorService.getInstance()); + @Override + protected void onFailureImpl(DataSource> dataSource) { + } + }, + UiThreadImmediateExecutorService.getInstance()); + } return chip; } public static Spannable searchAndReplaceWithMentionSpan(Context context, Spannable text, - String id, String label, + String id, String label, String type, UserEntity conversationUser, @XmlRes int chipXmlRes) { @@ -276,7 +289,7 @@ public class DisplayUtils { int end = start + m.group().length(); lastStartIndex = end; mentionChipSpan = new Spans.MentionChipSpan(DisplayUtils.getDrawableForMentionChipSpan(context, - id, label, conversationUser, chipXmlRes), + id, label, conversationUser, type, chipXmlRes), DynamicDrawableSpan.ALIGN_BASELINE, id, label); spannableString.setSpan(mentionChipSpan, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);