From cf5ef1292fad170cf8622699d5ec32d83cdcb130 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sat, 21 Jan 2023 11:03:24 +0100 Subject: [PATCH] Use `isShort` to display the shorts label --- .../github/libretube/ui/adapters/PlaylistAdapter.kt | 2 +- .../github/libretube/ui/adapters/SearchAdapter.kt | 2 +- .../github/libretube/ui/adapters/VideosAdapter.kt | 2 +- .../libretube/ui/adapters/WatchHistoryAdapter.kt | 2 +- .../libretube/ui/extensions/SetFormattedDuration.kt | 13 +++++-------- 5 files changed, 9 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt index a39275984..5fba1f429 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt @@ -66,7 +66,7 @@ class PlaylistAdapter( videoInfo.text = streamItem.uploaderName channelImage.visibility = View.GONE - thumbnailDuration.setFormattedDuration(streamItem.duration!!) + thumbnailDuration.setFormattedDuration(streamItem.duration!!, streamItem.isShort) ImageHelper.loadImage(streamItem.thumbnail, thumbnail) root.setOnClickListener { NavigationHelper.navigateVideo(root.context, streamItem.url, playlistId) diff --git a/app/src/main/java/com/github/libretube/ui/adapters/SearchAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/SearchAdapter.kt index 30b0e44b9..6ffa9da7e 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/SearchAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/SearchAdapter.kt @@ -83,7 +83,7 @@ class SearchAdapter( private fun bindWatch(item: ContentItem, binding: VideoRowBinding) { binding.apply { ImageHelper.loadImage(item.thumbnail, thumbnail) - thumbnailDuration.setFormattedDuration(item.duration!!) + thumbnailDuration.setFormattedDuration(item.duration!!, item.isShort) ImageHelper.loadImage(item.uploaderAvatar, channelImage) videoTitle.text = item.title val viewsString = if (item.views?.toInt() != -1) item.views.formatShort() else "" diff --git a/app/src/main/java/com/github/libretube/ui/adapters/VideosAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/VideosAdapter.kt index 0e44dfd25..fccbcaa0a 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/VideosAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/VideosAdapter.kt @@ -133,7 +133,7 @@ class VideosAdapter( TextUtils.SEPARATOR + video.uploaded?.let { DateUtils.getRelativeTimeSpanString(it) } - video.duration?.let { thumbnailDuration.setFormattedDuration(it) } + video.duration?.let { thumbnailDuration.setFormattedDuration(it, video.isShort) } channelImage.setOnClickListener { NavigationHelper.navigateChannel(root.context, video.uploaderUrl) } diff --git a/app/src/main/java/com/github/libretube/ui/adapters/WatchHistoryAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/WatchHistoryAdapter.kt index c329996a2..1a8930306 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/WatchHistoryAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/WatchHistoryAdapter.kt @@ -43,7 +43,7 @@ class WatchHistoryAdapter( videoTitle.text = video.title channelName.text = video.uploader videoInfo.text = video.uploadDate - thumbnailDuration.setFormattedDuration(video.duration!!) + thumbnailDuration.setFormattedDuration(video.duration!!, null) ImageHelper.loadImage(video.thumbnailUrl, thumbnail) ImageHelper.loadImage(video.uploaderAvatar, channelImage) diff --git a/app/src/main/java/com/github/libretube/ui/extensions/SetFormattedDuration.kt b/app/src/main/java/com/github/libretube/ui/extensions/SetFormattedDuration.kt index a57e70b68..6817f4a5c 100644 --- a/app/src/main/java/com/github/libretube/ui/extensions/SetFormattedDuration.kt +++ b/app/src/main/java/com/github/libretube/ui/extensions/SetFormattedDuration.kt @@ -4,13 +4,10 @@ import android.text.format.DateUtils import android.widget.TextView import com.github.libretube.R -fun TextView.setFormattedDuration(duration: Long) { - val text = if (duration < 0L) { - this.context.getString(R.string.live) - } else if (duration in 0L..60L) { - this.context.getString(R.string.yt_shorts) - } else { - DateUtils.formatElapsedTime(duration) +fun TextView.setFormattedDuration(duration: Long, isShort: Boolean?) { + this.text = when { + isShort == true -> context.getString(R.string.yt_shorts) + duration < 0L -> context.getString(R.string.live) + else -> DateUtils.formatElapsedTime(duration) } - this.text = text }