diff --git a/Habitica/res/layout/fragment_inbox_message_list.xml b/Habitica/res/layout/fragment_inbox_message_list.xml index c22bfb474..1c2b18939 100644 --- a/Habitica/res/layout/fragment_inbox_message_list.xml +++ b/Habitica/res/layout/fragment_inbox_message_list.xml @@ -2,8 +2,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="match_parent" - android:fitsSystemWindows="true"> + android:layout_height="match_parent"> ?, autoUp if (messageWasSent()) { userLabel.tier = user?.contributor?.level ?: 0 userLabel.username = name + if (user?.username != null && releasedUsernames) { + sublineTextView.text = "@${user?.username} ∙ ${msg.getAgoString(res)}" + } else { + sublineTextView.text = msg.getAgoString(res) + } } else { userLabel.tier = msg.contributor?.level ?: 0 userLabel.username = msg.user + if (msg.username != null && releasedUsernames) { + sublineTextView.text = "${msg.formattedUsername} ∙ ${msg.getAgoString(res)}" + } else { + sublineTextView.text = msg.getAgoString(res) + } } when { userLabel.tier == 8 -> { @@ -216,12 +226,6 @@ class ChatRecyclerViewAdapter(data: OrderedRealmCollection?, autoUp } messageWrapper.setScaledPadding(context, 8, 8, 8, 8) - if (msg.username != null && releasedUsernames) { - sublineTextView.text = "${msg.formattedUsername} ∙ ${msg.getAgoString(res)}" - } else { - sublineTextView.text = msg.getAgoString(res) - } - if (expandedMessageId == msg.id) { buttonsWrapper.visibility = View.VISIBLE deleteButton.visibility = if (shouldShowDelete()) View.VISIBLE else View.GONE diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ChatMessageDeserializer.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ChatMessageDeserializer.kt index 01bd9a4aa..d7451f63f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ChatMessageDeserializer.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ChatMessageDeserializer.kt @@ -61,7 +61,7 @@ class ChatMessageDeserializer : JsonDeserializer { message.user = obj.get("user").asString } - if (obj.has("username")) { + if (obj.has("username") && obj.get("username").isJsonPrimitive) { message.username = obj.get("username").asString }