Update Global search layout to match Library and Browse (#3892)

* Update Global Search card item to be comfortable with rounded corners

* Remove card background

(cherry picked from commit a2b1acd70f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchCardHolder.kt
#	app/src/main/res/layout/global_search_controller_card.xml
#	app/src/main/res/layout/global_search_controller_comfortable_card_item.xml
This commit is contained in:
Andreas E
2020-10-24 19:07:06 +02:00
committed by Jobobby04
parent 4937c7fff2
commit b9bddd264b
14 changed files with 112 additions and 216 deletions
@@ -7,9 +7,10 @@ import eu.kanade.tachiyomi.data.glide.GlideApp
import eu.kanade.tachiyomi.data.glide.toMangaThumbnail
import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder
import eu.kanade.tachiyomi.widget.StateImageViewTarget
import kotlinx.android.synthetic.main.global_search_controller_comfortable_card_item.itemImage
import kotlinx.android.synthetic.main.global_search_controller_comfortable_card_item.progress
import kotlinx.android.synthetic.main.global_search_controller_comfortable_card_item.tvTitle
import kotlinx.android.synthetic.main.global_search_controller_card_item.card
import kotlinx.android.synthetic.main.global_search_controller_card_item.itemImage
import kotlinx.android.synthetic.main.global_search_controller_card_item.progress
import kotlinx.android.synthetic.main.global_search_controller_card_item.tvTitle
class LatestCardHolder(view: View, adapter: LatestCardAdapter) :
BaseFlexibleViewHolder(view, adapter) {
@@ -32,6 +33,8 @@ class LatestCardHolder(view: View, adapter: LatestCardAdapter) :
}
fun bind(manga: Manga) {
card.clipToOutline = true
tvTitle.text = manga.title
// Set alpha of thumbnail.
itemImage.alpha = if (manga.favorite) 0.3f else 1.0f
@@ -7,18 +7,12 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
import eu.davidea.flexibleadapter.items.IFlexible
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.preference.PreferenceValues
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class LatestCardItem(val manga: Manga) : AbstractFlexibleItem<LatestCardHolder>() {
override fun getLayoutRes(): Int {
return when (Injekt.get<PreferencesHelper>().sourceDisplayMode().get()) {
PreferenceValues.DisplayMode.COMPACT_GRID -> R.layout.global_search_controller_compact_card_item
else -> R.layout.global_search_controller_comfortable_card_item
}
return R.layout.global_search_controller_card_item
}
override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): LatestCardHolder {
@@ -9,7 +9,6 @@ import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder
import kotlinx.android.synthetic.main.latest_controller_card.no_results_found
import kotlinx.android.synthetic.main.latest_controller_card.progress
import kotlinx.android.synthetic.main.latest_controller_card.recycler
import kotlinx.android.synthetic.main.latest_controller_card.source_card
import kotlinx.android.synthetic.main.latest_controller_card.title
import kotlinx.android.synthetic.main.latest_controller_card.title_wrapper
import uy.kohesive.injekt.Injekt
@@ -106,11 +105,9 @@ class LatestHolder(view: View, val adapter: LatestAdapter) :
private fun showResultsHolder() {
no_results_found.isVisible = false
source_card.isVisible = true
}
private fun showNoResults() {
no_results_found.isVisible = true
source_card.isVisible = false
}
}
@@ -7,9 +7,10 @@ import eu.kanade.tachiyomi.data.glide.GlideApp
import eu.kanade.tachiyomi.data.glide.toMangaThumbnail
import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder
import eu.kanade.tachiyomi.widget.StateImageViewTarget
import kotlinx.android.synthetic.main.global_search_controller_comfortable_card_item.itemImage
import kotlinx.android.synthetic.main.global_search_controller_comfortable_card_item.progress
import kotlinx.android.synthetic.main.global_search_controller_comfortable_card_item.tvTitle
import kotlinx.android.synthetic.main.global_search_controller_card_item.card
import kotlinx.android.synthetic.main.global_search_controller_card_item.itemImage
import kotlinx.android.synthetic.main.global_search_controller_card_item.progress
import kotlinx.android.synthetic.main.global_search_controller_card_item.tvTitle
class GlobalSearchCardHolder(view: View, adapter: GlobalSearchCardAdapter) :
BaseFlexibleViewHolder(view, adapter) {
@@ -32,6 +33,8 @@ class GlobalSearchCardHolder(view: View, adapter: GlobalSearchCardAdapter) :
}
fun bind(manga: Manga) {
card.clipToOutline = true
tvTitle.text = manga.title
// Set alpha of thumbnail.
itemImage.alpha = if (manga.favorite) 0.3f else 1.0f
@@ -7,20 +7,12 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
import eu.davidea.flexibleadapter.items.IFlexible
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.preference.PreferenceValues
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class GlobalSearchCardItem(val manga: Manga) : AbstractFlexibleItem<GlobalSearchCardHolder>() {
override fun getLayoutRes(): Int {
// SY -->
return when (Injekt.get<PreferencesHelper>().sourceDisplayMode().get()) {
PreferenceValues.DisplayMode.COMPACT_GRID -> R.layout.global_search_controller_compact_card_item
else -> R.layout.global_search_controller_comfortable_card_item
}
// SY <--
return R.layout.global_search_controller_card_item
}
override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): GlobalSearchCardHolder {
@@ -8,7 +8,6 @@ import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder
import kotlinx.android.synthetic.main.global_search_controller_card.no_results_found
import kotlinx.android.synthetic.main.global_search_controller_card.progress
import kotlinx.android.synthetic.main.global_search_controller_card.recycler
import kotlinx.android.synthetic.main.global_search_controller_card.source_card
import kotlinx.android.synthetic.main.global_search_controller_card.title
import kotlinx.android.synthetic.main.global_search_controller_card.title_wrapper
@@ -103,11 +102,9 @@ class GlobalSearchHolder(view: View, val adapter: GlobalSearchAdapter) :
private fun showResultsHolder() {
no_results_found.isVisible = false
source_card.isVisible = true
}
private fun showNoResults() {
no_results_found.isVisible = true
source_card.isVisible = false
}
}
@@ -7,9 +7,10 @@ import eu.kanade.tachiyomi.data.glide.GlideApp
import eu.kanade.tachiyomi.data.glide.toMangaThumbnail
import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder
import eu.kanade.tachiyomi.widget.StateImageViewTarget
import kotlinx.android.synthetic.main.global_search_controller_comfortable_card_item.itemImage
import kotlinx.android.synthetic.main.global_search_controller_comfortable_card_item.progress
import kotlinx.android.synthetic.main.global_search_controller_comfortable_card_item.tvTitle
import kotlinx.android.synthetic.main.global_search_controller_card_item.card
import kotlinx.android.synthetic.main.global_search_controller_card_item.itemImage
import kotlinx.android.synthetic.main.global_search_controller_card_item.progress
import kotlinx.android.synthetic.main.global_search_controller_card_item.tvTitle
class IndexCardHolder(view: View, adapter: IndexCardAdapter) :
BaseFlexibleViewHolder(view, adapter) {
@@ -32,6 +33,8 @@ class IndexCardHolder(view: View, adapter: IndexCardAdapter) :
}
fun bind(manga: Manga) {
card.clipToOutline = true
tvTitle.text = manga.title
// Set alpha of thumbnail.
itemImage.alpha = if (manga.favorite) 0.3f else 1.0f
@@ -7,19 +7,12 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
import eu.davidea.flexibleadapter.items.IFlexible
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.preference.PreferenceValues
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.ui.browse.latest.LatestCardItem
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class IndexCardItem(val manga: Manga) : AbstractFlexibleItem<IndexCardHolder>() {
override fun getLayoutRes(): Int {
return when (Injekt.get<PreferencesHelper>().sourceDisplayMode().get()) {
PreferenceValues.DisplayMode.COMPACT_GRID -> R.layout.global_search_controller_compact_card_item
else -> R.layout.global_search_controller_comfortable_card_item
}
return R.layout.global_search_controller_card_item
}
override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): IndexCardHolder {