diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
index 2bcffe02b1..b1b81df851 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
@@ -146,7 +146,7 @@ class LibraryCategoryAdapter(val controller: LibraryController) :
if (last != null && last.last_read > 100) {
recyclerView.context.getString(
R.string.read_,
- last.last_read.timeSpanFromNow
+ last.last_read.timeSpanFromNow(preferences.context)
)
} else {
"N/A"
@@ -173,7 +173,7 @@ class LibraryCategoryAdapter(val controller: LibraryController) :
if (lastUpdate > 0) {
recyclerView.context.getString(
R.string.updated_,
- lastUpdate.timeSpanFromNow
+ lastUpdate.timeSpanFromNow(preferences.context)
)
} else {
"N/A"
@@ -182,7 +182,7 @@ class LibraryCategoryAdapter(val controller: LibraryController) :
LibrarySort.DATE_ADDED -> {
val added = item.manga.date_added
if (added > 0) {
- recyclerView.context.getString(R.string.added_, added.timeSpanFromNow)
+ recyclerView.context.getString(R.string.added_, added.timeSpanFromNow(preferences.context))
} else {
"N/A"
}
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentMangaHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentMangaHolder.kt
index 2e1fad3de5..40631b85fe 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentMangaHolder.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentMangaHolder.kt
@@ -86,12 +86,12 @@ class RecentMangaHolder(
binding.body.text = when {
item.mch.chapter.id == null -> binding.body.context.getString(
R.string.added_,
- item.mch.manga.date_added.timeSpanFromNow
+ item.mch.manga.date_added.timeSpanFromNow(itemView.context)
)
adapter.viewType == RecentsPresenter.VIEW_TYPE_ONLY_UPDATES -> ""
item.mch.history.id == null -> binding.body.context.getString(
R.string.updated_,
- item.chapter.date_upload.timeSpanFromNow
+ item.chapter.date_upload.timeSpanFromNow(itemView.context)
)
item.chapter.id != item.mch.chapter.id ->
binding.body.context.getString(
@@ -104,7 +104,7 @@ class RecentMangaHolder(
item.chapter.pages_left > 0 && !item.chapter.read ->
binding.body.context.getString(
R.string.read_,
- item.mch.history.last_read.timeSpanFromNow
+ item.mch.history.last_read.timeSpanFromNow(itemView.context)
) + "\n" + itemView.resources.getQuantityString(
R.plurals.pages_left,
item.chapter.pages_left,
@@ -112,7 +112,7 @@ class RecentMangaHolder(
)
else -> binding.body.context.getString(
R.string.read_,
- item.mch.history.last_read.timeSpanFromNow
+ item.mch.history.last_read.timeSpanFromNow(itemView.context)
)
}
if ((itemView.context as? Activity)?.isDestroyed != true) {
diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/DateExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/DateExtensions.kt
index 7869a8bb6a..1dc1fe50bd 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/util/system/DateExtensions.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/DateExtensions.kt
@@ -1,6 +1,17 @@
package eu.kanade.tachiyomi.util.system
+import android.content.Context
import android.text.format.DateUtils
+import eu.kanade.tachiyomi.R
+import java.util.Locale
val Long.timeSpanFromNow: String
get() = DateUtils.getRelativeTimeSpanString(this).toString()
+
+fun Long.timeSpanFromNow(context: Context): String {
+ return if (this == 0L) {
+ context.getString(R.string.a_while_ago).lowercase(Locale.ROOT)
+ } else {
+ DateUtils.getRelativeTimeSpanString(this).toString()
+ }
+}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2b19e0dbeb..ae679ceda1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -229,6 +229,7 @@
Show reset history button
Show read in all
Show title first
+ A while ago
Search filters