diff --git a/Habitica/res/layout/system_chat_message.xml b/Habitica/res/layout/system_chat_message.xml
index 17c4fa78f..595f3647d 100644
--- a/Habitica/res/layout/system_chat_message.xml
+++ b/Habitica/res/layout/system_chat_message.xml
@@ -19,4 +19,15 @@
android:textColor="@color/text_brand_neon"
tools:text="System message"
style="@style/Body1"/>
+
\ No newline at end of file
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.kt
index 011a033c5..9958c1a90 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.kt
@@ -1,8 +1,10 @@
package com.habitrpg.android.habitica.ui.adapter.social
+import android.os.Build
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
+import androidx.annotation.RequiresApi
import androidx.recyclerview.widget.RecyclerView
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.extensions.inflate
@@ -14,6 +16,8 @@ import com.habitrpg.android.habitica.ui.viewHolders.ChatRecyclerMessageViewHolde
import io.reactivex.rxjava3.core.BackpressureStrategy
import io.reactivex.rxjava3.core.Flowable
import io.reactivex.rxjava3.subjects.PublishSubject
+import java.time.Instant
+import java.time.ZoneId
class ChatRecyclerViewAdapter(user: User?, private val isTavern: Boolean) : BaseRecyclerViewAdapter() {
internal var user = user
@@ -45,7 +49,10 @@ class ChatRecyclerViewAdapter(user: User?, private val isTavern: Boolean) : Base
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
if (data[position].isSystemMessage) {
- (holder as? SystemChatMessageViewHolder)?.bind(data[position])
+ val sysChatHolder = holder as? SystemChatMessageViewHolder ?: return
+ sysChatHolder.bind(data[position],
+ expandedMessageId == data[position].id)
+ sysChatHolder.onShouldExpand = { expandMessage(data[position].id, position)}
} else {
val chatHolder = holder as? ChatRecyclerMessageViewHolder ?: return
val message = data[position]
@@ -103,9 +110,22 @@ class ChatRecyclerViewAdapter(user: User?, private val isTavern: Boolean) : Base
class SystemChatMessageViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val textView: TextView = itemView.findViewById(R.id.text_view)
+ private val timestamp: TextView = itemView.findViewById(R.id.system_message_timestamp)
+ private val dateTime = java.text.SimpleDateFormat("MMM dd, hh:mm aaa")
- fun bind(chatMessage: ChatMessage?) {
+ var onShouldExpand: (() -> Unit)? = null
+
+ init{
+ textView.setOnClickListener {
+ onShouldExpand?.invoke()
+ }
+ }
+
+ fun bind(chatMessage: ChatMessage?, isExpanded: Boolean) {
textView.text = chatMessage?.text?.removePrefix("`")?.removeSuffix("`")
+ if(isExpanded) {
+ timestamp.text = dateTime.format(chatMessage?.timestamp?.let { java.util.Date(it) })
+ }
}
}
\ No newline at end of file
diff --git a/habitica.properties.example b/habitica.properties.example
deleted file mode 100644
index 0c783067a..000000000
--- a/habitica.properties.example
+++ /dev/null
@@ -1,18 +0,0 @@
-# Habitica Server Port
-# local instance
-# PORT=3000
-PORT=80
-
-# Genymotion
-# BASE_URL=http://10.0.3.2:3000
-
-# Android Emulator
-# see: http://developer.android.com/tools/help/emulator.html#networkaddresses
-# BASE_URL=http://10.0.2.2:3000
-
-# Production
-BASE_URL=https://habitica.com
-
-STAGING_KEY=
-ANDROID_TESTING_UUID=
-APPLE_AUTH_CLIENT_ID=
diff --git a/habitica.resources.example b/habitica.resources.example
deleted file mode 100644
index 989a5322f..000000000
--- a/habitica.resources.example
+++ /dev/null
@@ -1,3 +0,0 @@
-fabric_key=CHANGE_ME
-facebook_app_id=CHANGE_ME
-amplitude_app_id=CHANGE_ME