diff --git a/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListViewModel.kt index 539d68d77..8422232bd 100644 --- a/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListViewModel.kt @@ -20,7 +20,6 @@ import org.koitharu.kotatsu.utils.ext.daysDiff import org.koitharu.kotatsu.utils.ext.onFirst import java.util.* import java.util.concurrent.TimeUnit -import kotlin.collections.ArrayList class HistoryListViewModel( private val repository: HistoryRepository, @@ -81,8 +80,11 @@ class HistoryListViewModel( grouped: Boolean, mode: ListMode ): List { - val result = ArrayList(if (grouped) (list.size * 1.4).toInt() else list.size) + val result = ArrayList(if (grouped) (list.size * 1.4).toInt() else list.size + 1) var prevDate: DateTimeAgo? = null + if (!grouped) { + result += ListHeader(null, R.string.history) + } for ((manga, history) in list) { if (grouped) { val date = timeAgo(history.updatedAt) diff --git a/app/src/main/java/org/koitharu/kotatsu/list/ui/adapter/ListHeaderAD.kt b/app/src/main/java/org/koitharu/kotatsu/list/ui/adapter/ListHeaderAD.kt index 6b7c6297d..4d25060ac 100644 --- a/app/src/main/java/org/koitharu/kotatsu/list/ui/adapter/ListHeaderAD.kt +++ b/app/src/main/java/org/koitharu/kotatsu/list/ui/adapter/ListHeaderAD.kt @@ -9,6 +9,11 @@ import org.koitharu.kotatsu.list.ui.model.ListModel fun listHeaderAD() = adapterDelegate(R.layout.item_header) { bind { - (itemView as TextView).text = item.text + val textView = (itemView as TextView) + if (item.text != null) { + textView.text = item.text + } else { + textView.setText(item.textRes) + } } } \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/list/ui/model/ListHeader.kt b/app/src/main/java/org/koitharu/kotatsu/list/ui/model/ListHeader.kt index 5119954a8..209c7227f 100644 --- a/app/src/main/java/org/koitharu/kotatsu/list/ui/model/ListHeader.kt +++ b/app/src/main/java/org/koitharu/kotatsu/list/ui/model/ListHeader.kt @@ -1,5 +1,8 @@ package org.koitharu.kotatsu.list.ui.model +import androidx.annotation.StringRes + data class ListHeader( - val text: CharSequence, + val text: CharSequence?, + @StringRes val textRes: Int, ) : ListModel \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListViewModel.kt index c0e728c6f..42b2d570b 100644 --- a/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListViewModel.kt @@ -33,7 +33,7 @@ class LocalListViewModel( val onMangaRemoved = SingleLiveEvent() private val listError = MutableStateFlow(null) private val mangaList = MutableStateFlow?>(null) - private val headerModel = ListHeader(context.getString(R.string.local_storage)) + private val headerModel = ListHeader(null, R.string.local_storage) override val content = combine( mangaList, diff --git a/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListViewModel.kt index b5c86bf2b..b344b2bda 100644 --- a/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListViewModel.kt @@ -27,7 +27,7 @@ class RemoteListViewModel( private val listError = MutableStateFlow(null) private var appliedFilter: MangaFilter? = null private var loadingJob: Job? = null - private val headerModel = ListHeader((repository as RemoteMangaRepository).title) + private val headerModel = ListHeader((repository as RemoteMangaRepository).title, 0) override val content = combine( mangaList,