From 079405c17e9ba7c429d5e988d7f9d4c3fbcbbb84 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Mon, 26 Oct 2020 17:13:00 -0400 Subject: [PATCH] More tweaks to delegated manga views --- .../adapters/EHentaiDescriptionAdapter.kt | 47 +++++----- .../adapters/EightMusesDescriptionAdapter.kt | 9 +- .../adapters/HBrowseDescriptionAdapter.kt | 17 ++-- .../adapters/HentaiCafeDescriptionAdapter.kt | 9 +- .../adapters/HitomiDescriptionAdapter.kt | 9 +- .../adapters/MangaDexDescriptionAdapter.kt | 21 +++-- .../adapters/NHentaiDescriptionAdapter.kt | 26 +++--- .../adapters/PervEdenDescriptionAdapter.kt | 14 ++- .../adapters/PururinDescriptionAdapter.kt | 33 ++++--- .../adapters/TsuminoDescriptionAdapter.kt | 34 ++++--- .../res/drawable/ic_outline_sd_card_24.xml | 10 ++ .../res/layout/description_adapter_eh.xml | 93 +++++++++---------- .../res/layout/description_adapter_hb.xml | 49 +++++----- .../res/layout/description_adapter_hc.xml | 49 +++++----- .../res/layout/description_adapter_hi.xml | 9 +- .../res/layout/description_adapter_nh.xml | 5 +- .../res/layout/description_adapter_pe.xml | 26 ++---- .../res/layout/description_adapter_pu.xml | 47 +++++----- .../res/layout/description_adapter_ts.xml | 51 +++++----- app/src/main/res/values/strings_sy.xml | 2 - 20 files changed, 291 insertions(+), 269 deletions(-) create mode 100644 app/src/main/res/drawable/ic_outline_sd_card_24.xml diff --git a/app/src/main/java/exh/ui/metadata/adapters/EHentaiDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/EHentaiDescriptionAdapter.kt index fdb91cff9..48af82a7f 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/EHentaiDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/EHentaiDescriptionAdapter.kt @@ -1,5 +1,6 @@ package exh.ui.metadata.adapters +import android.annotation.SuppressLint import android.graphics.Color import android.view.LayoutInflater import android.view.View @@ -13,7 +14,6 @@ import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.util.system.copyToClipboard import eu.kanade.tachiyomi.util.system.dpToPx import eu.kanade.tachiyomi.util.system.getResourceColor -import exh.metadata.EX_DATE_FORMAT import exh.metadata.humanReadableByteCount import exh.metadata.metadata.EHentaiSearchMetadata import exh.ui.metadata.MetadataViewController @@ -25,7 +25,6 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks import reactivecircus.flowbinding.android.view.longClicks -import java.util.Date import kotlin.math.roundToInt class EHentaiDescriptionAdapter( @@ -77,19 +76,27 @@ class EHentaiDescriptionAdapter( binding.visible.text = itemView.context.getString(R.string.is_visible, meta.visible ?: itemView.context.getString(R.string.unknown)) binding.favorites.text = (meta.favorites ?: 0).toString() - val drawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_book_24dp) - drawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - binding.favorites.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null) - - binding.whenPosted.text = EX_DATE_FORMAT.format(Date(meta.datePosted ?: 0)) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_book_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.favorites.setCompoundDrawables(this, null, null, null) + } binding.uploader.text = meta.uploader ?: itemView.context.getString(R.string.unknown) + binding.size.text = humanReadableByteCount(meta.size ?: 0, true) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_outline_sd_card_24)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.size.setCompoundDrawables(this, null, null, null) + } binding.pages.text = itemView.resources.getQuantityString(R.plurals.num_pages, meta.length ?: 0, meta.length ?: 0) - val pagesDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24) - pagesDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - binding.pages.setCompoundDrawablesWithIntrinsicBounds(pagesDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.pages.setCompoundDrawables(this, null, null, null) + } val language = meta.language ?: itemView.context.getString(R.string.unknown) binding.language.text = if (meta.translated == true) { @@ -114,16 +121,14 @@ class EHentaiDescriptionAdapter( else -> R.string.no_rating } binding.ratingBar.rating = ratingFloat ?: 0F - binding.rating.text = if (meta.ratingCount != null) { - itemView.context.getString(R.string.rating_view, itemView.context.getString(name), (ratingFloat ?: 0F).toString(), meta.ratingCount ?: 0) - } else { - itemView.context.getString(R.string.rating_view_no_count, itemView.context.getString(name), (ratingFloat ?: 0F).toString()) - } + @SuppressLint("SetTextI18n") + binding.rating.text = (ratingFloat ?: 0F).toString() + " - " + itemView.context.getString(name) - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) + } listOf( binding.favorites, @@ -131,10 +136,8 @@ class EHentaiDescriptionAdapter( binding.language, binding.pages, binding.rating, - binding.size, binding.uploader, - binding.visible, - binding.whenPosted + binding.visible ).forEach { textView -> textView.longClicks() .onEach { diff --git a/app/src/main/java/exh/ui/metadata/adapters/EightMusesDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/EightMusesDescriptionAdapter.kt index fc5acae34..72dde8c6e 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/EightMusesDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/EightMusesDescriptionAdapter.kt @@ -48,10 +48,11 @@ class EightMusesDescriptionAdapter( binding.title.text = meta.title ?: itemView.context.getString(R.string.unknown) - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) + } binding.title.longClicks() .onEach { diff --git a/app/src/main/java/exh/ui/metadata/adapters/HBrowseDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/HBrowseDescriptionAdapter.kt index 6f3fa93e1..565710c48 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/HBrowseDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/HBrowseDescriptionAdapter.kt @@ -47,14 +47,17 @@ class HBrowseDescriptionAdapter( if (meta == null || meta !is HBrowseSearchMetadata) return binding.pages.text = itemView.resources.getQuantityString(R.plurals.num_pages, meta.length ?: 0, meta.length ?: 0) - val pagesDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24) - pagesDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - binding.pages.setCompoundDrawablesWithIntrinsicBounds(pagesDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.pages.setCompoundDrawables(this, null, null, null) + } - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) + } binding.pages.longClicks() .onEach { diff --git a/app/src/main/java/exh/ui/metadata/adapters/HentaiCafeDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/HentaiCafeDescriptionAdapter.kt index 9304a1e31..fa23e6dff 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/HentaiCafeDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/HentaiCafeDescriptionAdapter.kt @@ -48,10 +48,11 @@ class HentaiCafeDescriptionAdapter( binding.artist.text = meta.artist ?: itemView.context.getString(R.string.unknown) - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) + } binding.artist.longClicks() .onEach { diff --git a/app/src/main/java/exh/ui/metadata/adapters/HitomiDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/HitomiDescriptionAdapter.kt index 04d95b173..e5516ca81 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/HitomiDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/HitomiDescriptionAdapter.kt @@ -76,10 +76,11 @@ class HitomiDescriptionAdapter( binding.group.text = meta.group ?: itemView.context.getString(R.string.unknown) binding.language.text = meta.language ?: itemView.context.getString(R.string.unknown) - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) + } listOf( binding.genre, diff --git a/app/src/main/java/exh/ui/metadata/adapters/MangaDexDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/MangaDexDescriptionAdapter.kt index 51856376c..ca418c1a2 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/MangaDexDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/MangaDexDescriptionAdapter.kt @@ -1,5 +1,6 @@ package exh.ui.metadata.adapters +import android.annotation.SuppressLint import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -21,6 +22,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks import reactivecircus.flowbinding.android.view.longClicks +import kotlin.math.round import kotlin.math.roundToInt class MangaDexDescriptionAdapter( @@ -63,17 +65,16 @@ class MangaDexDescriptionAdapter( 10 -> R.string.rating10 else -> R.string.no_rating } - binding.ratingBar.rating = ratingFloat ?: 0F - binding.rating.text = if (meta.users?.toIntOrNull() != null) { - itemView.context.getString(R.string.rating_view, itemView.context.getString(name), (meta.rating?.toFloatOrNull() ?: 0F).toString(), meta.users?.toIntOrNull() ?: 0) - } else { - itemView.context.getString(R.string.rating_view_no_count, itemView.context.getString(name), (meta.rating?.toFloatOrNull() ?: 0F).toString()) - } - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) + binding.ratingBar.rating = ratingFloat ?: 0F + @SuppressLint("SetTextI18n") + binding.rating.text = (round((meta.rating?.toFloatOrNull() ?: 0F) * 100.0) / 100.0).toString() + " - " + itemView.context.getString(name) + + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) + } binding.rating.longClicks() .onEach { diff --git a/app/src/main/java/exh/ui/metadata/adapters/NHentaiDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/NHentaiDescriptionAdapter.kt index 533536f53..d21f30f37 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/NHentaiDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/NHentaiDescriptionAdapter.kt @@ -82,26 +82,30 @@ class NHentaiDescriptionAdapter( if (it == 0L) return@let binding.favorites.text = it.toString() - val drawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_favorite_24dp) - drawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - - binding.favorites.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_book_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.favorites.setCompoundDrawables(this, null, null, null) + } } binding.whenPosted.text = EX_DATE_FORMAT.format(Date((meta.uploadDate ?: 0) * 1000)) binding.pages.text = itemView.resources.getQuantityString(R.plurals.num_pages, meta.pageImageTypes.size, meta.pageImageTypes.size) - val pagesDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24) - pagesDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - binding.pages.setCompoundDrawablesWithIntrinsicBounds(pagesDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.pages.setCompoundDrawables(this, null, null, null) + } @SuppressLint("SetTextI18n") binding.id.text = "#" + (meta.nhId ?: 0) - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) + } listOf( binding.favorites, diff --git a/app/src/main/java/exh/ui/metadata/adapters/PervEdenDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/PervEdenDescriptionAdapter.kt index 5bd1fdc6f..afc73cf8d 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/PervEdenDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/PervEdenDescriptionAdapter.kt @@ -1,5 +1,6 @@ package exh.ui.metadata.adapters +import android.annotation.SuppressLint import android.graphics.Color import android.view.LayoutInflater import android.view.View @@ -24,6 +25,7 @@ import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks import reactivecircus.flowbinding.android.view.longClicks import java.util.Locale +import kotlin.math.round import kotlin.math.roundToInt class PervEdenDescriptionAdapter( @@ -88,12 +90,14 @@ class PervEdenDescriptionAdapter( else -> R.string.no_rating } binding.ratingBar.rating = meta.rating ?: 0F - binding.rating.text = itemView.context.getString(R.string.rating_view_no_count, itemView.context.getString(name), (meta.rating ?: 0F).toString()) + @SuppressLint("SetTextI18n") + binding.rating.text = (round((meta.rating ?: 0F) * 100.0) / 100.0).toString() + " - " + itemView.context.getString(name) - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) + } listOf( binding.genre, diff --git a/app/src/main/java/exh/ui/metadata/adapters/PururinDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/PururinDescriptionAdapter.kt index 2ddfb349e..b2f3ba379 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/PururinDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/PururinDescriptionAdapter.kt @@ -1,5 +1,6 @@ package exh.ui.metadata.adapters +import android.annotation.SuppressLint import android.graphics.Color import android.view.LayoutInflater import android.view.View @@ -24,6 +25,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks import reactivecircus.flowbinding.android.view.longClicks +import kotlin.math.round import kotlin.math.roundToInt class PururinDescriptionAdapter( @@ -69,12 +71,20 @@ class PururinDescriptionAdapter( } else binding.genre.setText(R.string.unknown) binding.uploader.text = meta.uploaderDisp ?: meta.uploader ?: "" + binding.size.text = meta.fileSize ?: itemView.context.getString(R.string.unknown) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_outline_sd_card_24)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.size.setCompoundDrawables(this, null, null, null) + } binding.pages.text = itemView.resources.getQuantityString(R.plurals.num_pages, meta.pages ?: 0, meta.pages ?: 0) - val pagesDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24) - pagesDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - binding.pages.setCompoundDrawablesWithIntrinsicBounds(pagesDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.pages.setCompoundDrawables(this, null, null, null) + } val ratingFloat = meta.averageRating?.toFloat() val name = when (((ratingFloat ?: 100F) * 2).roundToInt()) { @@ -92,17 +102,14 @@ class PururinDescriptionAdapter( else -> R.string.no_rating } binding.ratingBar.rating = ratingFloat ?: 0F - binding.rating.text = if (meta.ratingCount != null) { - itemView.context.getString(R.string.rating_view, itemView.context.getString(name), (ratingFloat ?: 0F).toString(), meta.ratingCount ?: 0) - } else { - itemView.context.getString(R.string.rating_view_no_count, itemView.context.getString(name), (ratingFloat ?: 0F).toString()) + @SuppressLint("SetTextI18n") + binding.rating.text = (round((ratingFloat ?: 0F) * 100.0) / 100.0).toString() + " - " + itemView.context.getString(name) + + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) } - - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) - listOf( binding.genre, binding.pages, diff --git a/app/src/main/java/exh/ui/metadata/adapters/TsuminoDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/TsuminoDescriptionAdapter.kt index 6af98b2eb..30d75c353 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/TsuminoDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/TsuminoDescriptionAdapter.kt @@ -1,5 +1,6 @@ package exh.ui.metadata.adapters +import android.annotation.SuppressLint import android.graphics.Color import android.view.LayoutInflater import android.view.View @@ -24,6 +25,7 @@ import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks import reactivecircus.flowbinding.android.view.longClicks import java.util.Date +import kotlin.math.round import kotlin.math.roundToInt class TsuminoDescriptionAdapter( @@ -68,18 +70,22 @@ class TsuminoDescriptionAdapter( } else binding.genre.setText(R.string.unknown) binding.favorites.text = (meta.favorites ?: 0).toString() - val drawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_favorite_24dp) - drawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - binding.favorites.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_book_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.favorites.setCompoundDrawables(this, null, null, null) + } binding.whenPosted.text = TsuminoSearchMetadata.TSUMINO_DATE_FORMAT.format(Date(meta.uploadDate ?: 0)) binding.uploader.text = meta.uploader ?: itemView.context.getString(R.string.unknown) binding.pages.text = itemView.resources.getQuantityString(R.plurals.num_pages, meta.length ?: 0, meta.length ?: 0) - val pagesDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24) - pagesDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - binding.pages.setCompoundDrawablesWithIntrinsicBounds(pagesDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_baseline_menu_book_24)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.pages.setCompoundDrawables(this, null, null, null) + } val name = when (((meta.averageRating ?: 100F) * 2).roundToInt()) { 0 -> R.string.rating0 @@ -96,16 +102,14 @@ class TsuminoDescriptionAdapter( else -> R.string.no_rating } binding.ratingBar.rating = meta.averageRating ?: 0F - binding.rating.text = if (meta.userRatings != null) { - itemView.context.getString(R.string.rating_view, itemView.context.getString(name), (meta.averageRating ?: 0F).toString(), meta.userRatings ?: 0L) - } else { - itemView.context.getString(R.string.rating_view_no_count, itemView.context.getString(name), (meta.averageRating ?: 0F).toString()) - } + @SuppressLint("SetTextI18n") + binding.rating.text = (round((meta.averageRating ?: 0F) * 100.0) / 100.0).toString() + " - " + itemView.context.getString(name) - val infoDrawable = ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp) - infoDrawable?.setTint(itemView.context.getResourceColor(R.attr.colorAccent)) - infoDrawable?.setBounds(0, 0, 20.dpToPx, 20.dpToPx) - binding.moreInfo.setCompoundDrawables(infoDrawable, null, null, null) + ContextCompat.getDrawable(itemView.context, R.drawable.ic_info_24dp)?.apply { + setTint(itemView.context.getResourceColor(R.attr.colorAccent)) + setBounds(0, 0, 20.dpToPx, 20.dpToPx) + binding.moreInfo.setCompoundDrawables(this, null, null, null) + } listOf( binding.favorites, diff --git a/app/src/main/res/drawable/ic_outline_sd_card_24.xml b/app/src/main/res/drawable/ic_outline_sd_card_24.xml new file mode 100644 index 000000000..8481415f7 --- /dev/null +++ b/app/src/main/res/drawable/ic_outline_sd_card_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/description_adapter_eh.xml b/app/src/main/res/layout/description_adapter_eh.xml index 51e1dac23..6c18f100c 100644 --- a/app/src/main/res/layout/description_adapter_eh.xml +++ b/app/src/main/res/layout/description_adapter_eh.xml @@ -21,7 +21,7 @@ + + + + + + + + + app:layout_constraintTop_toBottomOf="@id/rating_layout" /> + app:layout_constraintTop_toTopOf="@+id/rating_layout" /> - - + app:layout_constraintTop_toTopOf="@+id/language" /> + app:layout_constraintTop_toBottomOf="@+id/language" /> + app:layout_constraintTop_toTopOf="@+id/visible" /> - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/description_adapter_hb.xml b/app/src/main/res/layout/description_adapter_hb.xml index 99938b4ae..c6484ba59 100644 --- a/app/src/main/res/layout/description_adapter_hb.xml +++ b/app/src/main/res/layout/description_adapter_hb.xml @@ -1,34 +1,27 @@ - + android:layout_height="wrap_content"> - + - +