From 089d05050e78ee0ccf17dfd766bd58f998364095 Mon Sep 17 00:00:00 2001 From: Isabel Lally Date: Tue, 9 Feb 2021 03:06:56 -0500 Subject: [PATCH] timestamp works slightly --- Habitica/res/layout/system_chat_message.xml | 11 +++++++++ .../adapter/social/ChatRecyclerViewAdapter.kt | 24 +++++++++++++++++-- habitica.properties.example | 18 -------------- habitica.resources.example | 3 --- 4 files changed, 33 insertions(+), 23 deletions(-) delete mode 100644 habitica.properties.example delete mode 100644 habitica.resources.example 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