improving the UI of section date time

This commit is contained in:
tibbi 2020-04-03 23:18:53 +02:00
parent 59c5d16f62
commit a9ba3ada0c
5 changed files with 15 additions and 21 deletions

View File

@ -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<Message>,
@ -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)

View File

@ -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<ThreadItem>,
@ -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)
}
}
}

View File

@ -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()
}
}

View File

@ -1,3 +1,3 @@
package com.simplemobiletools.smsmessenger.models
open class ThreadDateTime(val date: Int)
open class ThreadDateTime(val date: Int) : ThreadItem()

View File

@ -2,7 +2,8 @@
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/thread_date_time"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textSize="@dimen/normal_text_size"
tools:text="13 March, 13:30" />