diff --git a/app/src/main/java/com/nextcloud/talk/adapters/items/MentionAutocompleteItem.java b/app/src/main/java/com/nextcloud/talk/adapters/items/MentionAutocompleteItem.java index fd107682e..77fb848e4 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/items/MentionAutocompleteItem.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/items/MentionAutocompleteItem.java @@ -31,6 +31,7 @@ import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.json.mention.Mention; import com.nextcloud.talk.models.json.status.StatusType; +import com.nextcloud.talk.ui.StatusDrawable; import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.DisplayUtils; @@ -38,7 +39,6 @@ import java.util.List; import java.util.Objects; import java.util.regex.Pattern; -import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import eu.davidea.flexibleadapter.FlexibleAdapter; import eu.davidea.flexibleadapter.items.AbstractFlexibleItem; @@ -49,8 +49,11 @@ import eu.davidea.flexibleadapter.utils.FlexibleUtils; public class MentionAutocompleteItem extends AbstractFlexibleItem implements IFilterable { + private static final float STATUS_SIZE_IN_DP = 9f; + private static final String NO_ICON = ""; public static final String SOURCE_CALLS = "calls"; public static final String SOURCE_GUESTS = "guests"; + private String source; private final String objectId; private final String displayName; @@ -171,7 +174,16 @@ public class MentionAutocompleteItem extends AbstractFlexibleItem implements ISectionable, IFilterable { + private static final float STATUS_SIZE_IN_DP = 9f; + private static final String NO_ICON = ""; + private Context context; private Participant participant; private UserEntity userEntity; @@ -131,7 +134,15 @@ public class UserItem extends AbstractFlexibleItem } } - if (holder.statusMessage != null && holder.participantEmoji != null && holder.participantOnlineStateImage != null) { + if (holder.statusMessage != null && holder.participantEmoji != null && holder.userStatusImage != null) { + float size = DisplayUtils.convertDpToPixel(STATUS_SIZE_IN_DP, context); + holder.userStatusImage.setImageDrawable(new StatusDrawable( + participant.status, + NO_ICON, + size, + context.getResources().getColor(R.color.bg_default), + context)); + if (participant.statusMessage != null) { holder.statusMessage.setText(participant.statusMessage); } else { @@ -145,22 +156,13 @@ public class UserItem extends AbstractFlexibleItem } if (participant.status != null && participant.status.equals(StatusType.DND.getString())) { - holder.participantOnlineStateImage.setImageDrawable( - ContextCompat.getDrawable(context, R.drawable.ic_user_status_dnd_with_border)); if (participant.statusMessage == null || participant.statusMessage.isEmpty()) { holder.statusMessage.setText(R.string.dnd); } } else if (participant.status != null && participant.status.equals(StatusType.AWAY.getString())) { - holder.participantOnlineStateImage.setImageDrawable( - ContextCompat.getDrawable(context, R.drawable.ic_user_status_away_with_border)); if (participant.statusMessage == null || participant.statusMessage.isEmpty()) { holder.statusMessage.setText(R.string.away); } - } else if (participant.status != null && participant.status.equals(StatusType.ONLINE.getString())) { - holder.participantOnlineStateImage.setImageDrawable( - ContextCompat.getDrawable(context, R.drawable.online_status_with_border)); - } else { - holder.participantOnlineStateImage.setVisibility(View.GONE); } } @@ -328,9 +330,8 @@ public class UserItem extends AbstractFlexibleItem @Nullable @BindView(R.id.participant_status_emoji) com.vanniktech.emoji.EmojiEditText participantEmoji; - @Nullable - @BindView(R.id.participant_online_state) - ImageView participantOnlineStateImage; + @BindView(R.id.user_status_image) + ImageView userStatusImage; @Nullable @BindView(R.id.conversation_info_status_message) EmojiTextView statusMessage; diff --git a/app/src/main/res/drawable/ic_user_status_away_with_border.xml b/app/src/main/res/drawable/ic_user_status_away_with_border.xml deleted file mode 100644 index 6de7c7bf7..000000000 --- a/app/src/main/res/drawable/ic_user_status_away_with_border.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_user_status_dnd_with_border.xml b/app/src/main/res/drawable/ic_user_status_dnd_with_border.xml deleted file mode 100644 index 69f952f05..000000000 --- a/app/src/main/res/drawable/ic_user_status_dnd_with_border.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - diff --git a/app/src/main/res/layout/rv_item_conversation_info_participant.xml b/app/src/main/res/layout/rv_item_conversation_info_participant.xml index ccf263663..6afc309de 100644 --- a/app/src/main/res/layout/rv_item_conversation_info_participant.xml +++ b/app/src/main/res/layout/rv_item_conversation_info_participant.xml @@ -51,14 +51,14 @@ app:layout_constraintTop_toBottomOf="@+id/name_text" /> - + app:layout_constraintEnd_toEndOf="@+id/avatar_drawee_view" + tools:src="@drawable/emoji_one_category_smileysandpeople"/> + android:contentDescription="@string/nc_account_chooser_active_user" + tools:src="@drawable/emoji_one_category_smileysandpeople"/>