Use relative time in ChapterHolder (#5719)

* Use relative time in ChapterHolder

Similar to how J2K does it

* Use custom implementation for relative time

* Changes based on review comments
This commit is contained in:
Andreas
2021-08-15 23:07:48 +02:00
committed by GitHub
parent 91fbccdbaa
commit 57a5862840
7 changed files with 56 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.databinding.ChaptersItemBinding
import eu.kanade.tachiyomi.source.LocalSource
import eu.kanade.tachiyomi.ui.manga.chapter.base.BaseChapterHolder
import eu.kanade.tachiyomi.util.lang.toRelativeString
import java.util.Date
class ChapterHolder(
@@ -56,7 +57,7 @@ class ChapterHolder(
val descriptions = mutableListOf<CharSequence>()
if (chapter.date_upload > 0) {
descriptions.add(adapter.dateFormat.format(Date(chapter.date_upload)))
descriptions.add(Date(chapter.date_upload).toRelativeString(itemView.context, adapter.relativeTime, adapter.dateFormat))
}
if (!chapter.read && chapter.last_page_read > 0) {
val lastPageRead = buildSpannedString {

View File

@@ -32,6 +32,7 @@ class ChaptersAdapter(
.apply { decimalSeparator = '.' }
)
val relativeTime: Int = preferences.relativeTime().get()
val dateFormat: DateFormat = preferences.dateFormat()
override fun updateDataSet(items: List<ChapterItem>?) {

View File

@@ -21,6 +21,7 @@ import kotlinx.coroutines.flow.launchIn
import java.util.Date
import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys
import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values
import androidx.preference.Preference
class SettingsGeneralController : SettingsController() {
@@ -78,6 +79,22 @@ class SettingsGeneralController : SettingsController() {
}
}
}
intListPreference {
key = Keys.relativeTime
titleRes = R.string.pref_relative_format
val values = arrayOf("0", "2", "7")
entryValues = values
entries = values.map {
when (it) {
"0" -> context.getString(R.string.off)
"2" -> context.getString(R.string.pref_relative_time_short)
else -> context.getString(R.string.pref_relative_time_long)
}
}.toTypedArray()
defaultValue = "7"
summary = "%s"
}
listPreference {
key = Keys.dateFormat
titleRes = R.string.pref_date_format