From a9ba3ada0c47ffacb3cc38d9254ca9dad958200a Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 3 Apr 2020 23:18:53 +0200 Subject: [PATCH] improving the UI of section date time --- .../smsmessenger/adapters/MessagesAdapter.kt | 12 +----------- .../smsmessenger/adapters/ThreadAdapter.kt | 7 ++++++- .../simplemobiletools/smsmessenger/extensions/Int.kt | 12 +++++------- .../smsmessenger/models/ThreadDateTime.kt | 2 +- app/src/main/res/layout/item_thread_date_time.xml | 3 ++- 5 files changed, 15 insertions(+), 21 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/MessagesAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/MessagesAdapter.kt index f1309562..b01ad2cf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/MessagesAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/MessagesAdapter.kt @@ -1,28 +1,18 @@ package com.simplemobiletools.smsmessenger.adapters -import android.content.Context import android.graphics.Typeface -import android.text.format.DateFormat -import android.text.format.DateUtils -import android.util.Log import android.view.Menu import android.view.View import android.view.ViewGroup import android.widget.TextView import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter -import com.simplemobiletools.commons.extensions.baseConfig -import com.simplemobiletools.commons.extensions.formatDate -import com.simplemobiletools.commons.extensions.getTimeFormat import com.simplemobiletools.commons.views.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.activities.SimpleActivity import com.simplemobiletools.smsmessenger.extensions.formatDateOrTime -import com.simplemobiletools.smsmessenger.extensions.formatTime import com.simplemobiletools.smsmessenger.models.Message import kotlinx.android.synthetic.main.item_message.view.* -import java.util.* -import kotlin.collections.ArrayList class MessagesAdapter( activity: SimpleActivity, var messages: ArrayList, @@ -83,7 +73,7 @@ class MessagesAdapter( message_address.text = message.address message_body_short.text = message.body - message_date.text = message.date.formatDateOrTime(context) + message_date.text = message.date.formatDateOrTime(context, true) if (message.read) { message_address.setTypeface(null, Typeface.NORMAL) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt index 7d19a948..f8ac9f2e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt @@ -11,6 +11,7 @@ import com.simplemobiletools.commons.views.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.activities.SimpleActivity +import com.simplemobiletools.smsmessenger.extensions.formatDateOrTime import com.simplemobiletools.smsmessenger.helpers.THREAD_DATE_TIME import com.simplemobiletools.smsmessenger.helpers.THREAD_RECEIVED_MESSAGE import com.simplemobiletools.smsmessenger.helpers.THREAD_SENT_MESSAGE @@ -18,6 +19,7 @@ import com.simplemobiletools.smsmessenger.models.Message import com.simplemobiletools.smsmessenger.models.ThreadDateTime import com.simplemobiletools.smsmessenger.models.ThreadItem import kotlinx.android.synthetic.main.item_received_message.view.* +import kotlinx.android.synthetic.main.item_thread_date_time.view.* class ThreadAdapter( activity: SimpleActivity, var messages: ArrayList, @@ -104,6 +106,9 @@ class ThreadAdapter( } private fun setupDateTime(view: View, dateTime: ThreadDateTime) { - + view.apply { + thread_date_time.text = dateTime.date.formatDateOrTime(context, false) + thread_date_time.setTextColor(textColor) + } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Int.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Int.kt index 7ce87fe1..9e6258c7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Int.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Int.kt @@ -7,14 +7,8 @@ import android.text.format.Time import com.simplemobiletools.commons.extensions.getTimeFormat import java.util.* -fun Int.formatTime(context: Context): String { - val cal = Calendar.getInstance(Locale.ENGLISH) - cal.timeInMillis = this * 1000L - return DateFormat.format("${context.getTimeFormat()}", cal).toString() -} - // if the given date is today, we show only the time. Else we show only the date -fun Int.formatDateOrTime(context: Context): String { +fun Int.formatDateOrTime(context: Context, hideTimeAtOtherDays: Boolean): String { val cal = Calendar.getInstance(Locale.ENGLISH) cal.timeInMillis = this * 1000L @@ -26,6 +20,10 @@ fun Int.formatDateOrTime(context: Context): String { format = format.replace("y", "").trim().trim('-').trim('.').trim('/') } + if (!hideTimeAtOtherDays) { + format += ", ${context.getTimeFormat()}" + } + DateFormat.format(format, cal).toString() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/ThreadDateTime.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/ThreadDateTime.kt index ee042f89..7b2d9293 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/ThreadDateTime.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/ThreadDateTime.kt @@ -1,3 +1,3 @@ package com.simplemobiletools.smsmessenger.models -open class ThreadDateTime(val date: Int) +open class ThreadDateTime(val date: Int) : ThreadItem() diff --git a/app/src/main/res/layout/item_thread_date_time.xml b/app/src/main/res/layout/item_thread_date_time.xml index ebb33bf8..98e3ffe7 100644 --- a/app/src/main/res/layout/item_thread_date_time.xml +++ b/app/src/main/res/layout/item_thread_date_time.xml @@ -2,7 +2,8 @@