mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-27 03:27:51 +02:00
Lighter weight method of rounding cover art and removed rounded covers option
(cherry picked from commit dabca5f09e
)
This commit is contained in:
@ -221,7 +221,5 @@ object PreferenceKeys {
|
|||||||
|
|
||||||
const val eh_hl_useHighQualityThumbs = "eh_hl_hq_thumbs"
|
const val eh_hl_useHighQualityThumbs = "eh_hl_hq_thumbs"
|
||||||
|
|
||||||
const val eh_library_rounded_corners = "eh_library_corners"
|
|
||||||
|
|
||||||
const val eh_preload_size = "eh_preload_size"
|
const val eh_preload_size = "eh_preload_size"
|
||||||
}
|
}
|
||||||
|
@ -356,7 +356,5 @@ class PreferencesHelper(val context: Context) {
|
|||||||
|
|
||||||
fun eh_hl_useHighQualityThumbs() = rxPrefs.getBoolean(Keys.eh_hl_useHighQualityThumbs, false)
|
fun eh_hl_useHighQualityThumbs() = rxPrefs.getBoolean(Keys.eh_hl_useHighQualityThumbs, false)
|
||||||
|
|
||||||
fun eh_library_corner_radius() = rxPrefs.getInteger(Keys.eh_library_rounded_corners, 4)
|
|
||||||
|
|
||||||
fun eh_preload_size() = rxPrefs.getInteger(Keys.eh_preload_size, 4)
|
fun eh_preload_size() = rxPrefs.getInteger(Keys.eh_preload_size, 4)
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package eu.kanade.tachiyomi.ui.browse.source.browse
|
package eu.kanade.tachiyomi.ui.browse.source.browse
|
||||||
|
|
||||||
import android.util.TypedValue
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||||
@ -8,9 +7,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga
|
|||||||
import eu.kanade.tachiyomi.data.glide.GlideApp
|
import eu.kanade.tachiyomi.data.glide.GlideApp
|
||||||
import eu.kanade.tachiyomi.data.glide.toMangaThumbnail
|
import eu.kanade.tachiyomi.data.glide.toMangaThumbnail
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import eu.kanade.tachiyomi.data.preference.getOrDefault
|
|
||||||
import eu.kanade.tachiyomi.widget.StateImageViewTarget
|
import eu.kanade.tachiyomi.widget.StateImageViewTarget
|
||||||
import kotlinx.android.synthetic.main.source_grid_item.card
|
|
||||||
import kotlinx.android.synthetic.main.source_grid_item.progress
|
import kotlinx.android.synthetic.main.source_grid_item.progress
|
||||||
import kotlinx.android.synthetic.main.source_grid_item.thumbnail
|
import kotlinx.android.synthetic.main.source_grid_item.thumbnail
|
||||||
import kotlinx.android.synthetic.main.source_grid_item.title
|
import kotlinx.android.synthetic.main.source_grid_item.title
|
||||||
@ -47,12 +44,6 @@ class SourceGridHolder(private val view: View, private val adapter: FlexibleAdap
|
|||||||
// Set manga title
|
// Set manga title
|
||||||
title.text = manga.title
|
title.text = manga.title
|
||||||
|
|
||||||
card.radius = TypedValue.applyDimension(
|
|
||||||
TypedValue.COMPLEX_UNIT_DIP,
|
|
||||||
preferences.eh_library_corner_radius().getOrDefault().toFloat(),
|
|
||||||
view.context.resources.displayMetrics
|
|
||||||
)
|
|
||||||
|
|
||||||
GlideApp.with(view.context).clear(thumbnail)
|
GlideApp.with(view.context).clear(thumbnail)
|
||||||
if (!manga.thumbnail_url.isNullOrEmpty()) {
|
if (!manga.thumbnail_url.isNullOrEmpty()) {
|
||||||
GlideApp.with(view.context)
|
GlideApp.with(view.context)
|
||||||
|
@ -34,6 +34,9 @@ class SourceItem(val manga: Manga, private val catalogueAsList: Preference<Boole
|
|||||||
val parent = adapter.recyclerView
|
val parent = adapter.recyclerView
|
||||||
return if (parent is AutofitRecyclerView) {
|
return if (parent is AutofitRecyclerView) {
|
||||||
view.apply {
|
view.apply {
|
||||||
|
// Setting this via XML doesn't work
|
||||||
|
card.clipToOutline = true
|
||||||
|
|
||||||
card.layoutParams = FrameLayout.LayoutParams(
|
card.layoutParams = FrameLayout.LayoutParams(
|
||||||
MATCH_PARENT, parent.itemWidth / 3 * 4
|
MATCH_PARENT, parent.itemWidth / 3 * 4
|
||||||
)
|
)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package eu.kanade.tachiyomi.ui.library
|
package eu.kanade.tachiyomi.ui.library
|
||||||
|
|
||||||
import android.util.TypedValue
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||||
@ -9,10 +8,8 @@ import eu.davidea.flexibleadapter.items.IFlexible
|
|||||||
import eu.kanade.tachiyomi.data.glide.GlideApp
|
import eu.kanade.tachiyomi.data.glide.GlideApp
|
||||||
import eu.kanade.tachiyomi.data.glide.toMangaThumbnail
|
import eu.kanade.tachiyomi.data.glide.toMangaThumbnail
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import eu.kanade.tachiyomi.data.preference.getOrDefault
|
|
||||||
import eu.kanade.tachiyomi.source.LocalSource
|
import eu.kanade.tachiyomi.source.LocalSource
|
||||||
import eu.kanade.tachiyomi.util.view.visibleIf
|
import eu.kanade.tachiyomi.util.view.visibleIf
|
||||||
import kotlinx.android.synthetic.main.source_grid_item.card
|
|
||||||
import kotlinx.android.synthetic.main.source_grid_item.download_text
|
import kotlinx.android.synthetic.main.source_grid_item.download_text
|
||||||
import kotlinx.android.synthetic.main.source_grid_item.local_text
|
import kotlinx.android.synthetic.main.source_grid_item.local_text
|
||||||
import kotlinx.android.synthetic.main.source_grid_item.thumbnail
|
import kotlinx.android.synthetic.main.source_grid_item.thumbnail
|
||||||
@ -58,12 +55,6 @@ class LibraryGridHolder(
|
|||||||
// set local visibility if its local manga
|
// set local visibility if its local manga
|
||||||
local_text.visibleIf { item.manga.source == LocalSource.ID }
|
local_text.visibleIf { item.manga.source == LocalSource.ID }
|
||||||
|
|
||||||
card.radius = TypedValue.applyDimension(
|
|
||||||
TypedValue.COMPLEX_UNIT_DIP,
|
|
||||||
preferences.eh_library_corner_radius().getOrDefault().toFloat(),
|
|
||||||
view.context.resources.displayMetrics
|
|
||||||
)
|
|
||||||
|
|
||||||
// Update the cover.
|
// Update the cover.
|
||||||
GlideApp.with(view.context).clear(thumbnail)
|
GlideApp.with(view.context).clear(thumbnail)
|
||||||
GlideApp.with(view.context)
|
GlideApp.with(view.context)
|
||||||
|
@ -38,6 +38,9 @@ class LibraryItem(val manga: LibraryManga, private val libraryAsList: Preference
|
|||||||
val parent = adapter.recyclerView
|
val parent = adapter.recyclerView
|
||||||
return if (parent is AutofitRecyclerView) {
|
return if (parent is AutofitRecyclerView) {
|
||||||
view.apply {
|
view.apply {
|
||||||
|
// Setting this via XML doesn't work
|
||||||
|
card.clipToOutline = true
|
||||||
|
|
||||||
val coverHeight = parent.itemWidth / 3 * 4
|
val coverHeight = parent.itemWidth / 3 * 4
|
||||||
card.layoutParams = FrameLayout.LayoutParams(MATCH_PARENT, coverHeight)
|
card.layoutParams = FrameLayout.LayoutParams(MATCH_PARENT, coverHeight)
|
||||||
gradient.layoutParams = FrameLayout.LayoutParams(
|
gradient.layoutParams = FrameLayout.LayoutParams(
|
||||||
|
@ -4,7 +4,6 @@ import android.content.Context
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.util.TypedValue
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
@ -115,6 +114,9 @@ class MangaInfoController(private val fromSource: Boolean = false) :
|
|||||||
override fun onViewCreated(view: View) {
|
override fun onViewCreated(view: View) {
|
||||||
super.onViewCreated(view)
|
super.onViewCreated(view)
|
||||||
|
|
||||||
|
// Setting this via XML doesn't work
|
||||||
|
binding.mangaCover.clipToOutline = true
|
||||||
|
|
||||||
binding.btnFavorite.clicks()
|
binding.btnFavorite.clicks()
|
||||||
.onEach { onFavoriteClick() }
|
.onEach { onFavoriteClick() }
|
||||||
.launchIn(scope)
|
.launchIn(scope)
|
||||||
@ -364,12 +366,6 @@ class MangaInfoController(private val fromSource: Boolean = false) :
|
|||||||
thumbnailUrl = manga.thumbnail_url
|
thumbnailUrl = manga.thumbnail_url
|
||||||
val mangaThumbnail = manga.toMangaThumbnail()
|
val mangaThumbnail = manga.toMangaThumbnail()
|
||||||
|
|
||||||
binding.mangaCoverCard.radius = TypedValue.applyDimension(
|
|
||||||
TypedValue.COMPLEX_UNIT_DIP,
|
|
||||||
preferences.eh_library_corner_radius().getOrDefault().toFloat(),
|
|
||||||
view.context.resources.displayMetrics
|
|
||||||
)
|
|
||||||
|
|
||||||
GlideApp.with(view.context)
|
GlideApp.with(view.context)
|
||||||
.load(mangaThumbnail)
|
.load(mangaThumbnail)
|
||||||
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
||||||
|
@ -72,19 +72,6 @@ class SettingsLibraryController : SettingsController() {
|
|||||||
"${context.getString(R.string.landscape)}: $landscape"
|
"${context.getString(R.string.landscape)}: $landscape"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
intListPreference {
|
|
||||||
key = Keys.eh_library_rounded_corners
|
|
||||||
title = "Rounded Corner Radius"
|
|
||||||
entriesRes = arrayOf(
|
|
||||||
R.string.eh_rounded_corner_0, R.string.eh_rounded_corner_1,
|
|
||||||
R.string.eh_rounded_corner_2, R.string.eh_rounded_corner_3, R.string.eh_rounded_corner_4,
|
|
||||||
R.string.eh_rounded_corner_5, R.string.eh_rounded_corner_6, R.string.eh_rounded_corner_7,
|
|
||||||
R.string.eh_rounded_corner_8, R.string.eh_rounded_corner_9, R.string.eh_rounded_corner_10
|
|
||||||
)
|
|
||||||
entryValues = arrayOf("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
|
|
||||||
defaultValue = "4"
|
|
||||||
summaryRes = R.string.eh_rounded_corners_desc
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val dbCategories = db.getCategories().executeAsBlocking()
|
val dbCategories = db.getCategories().executeAsBlocking()
|
||||||
|
6
app/src/main/res/drawable/rounded_rectangle.xml
Normal file
6
app/src/main/res/drawable/rounded_rectangle.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/card_radius" />
|
||||||
|
<solid android:color="?attr/colorSurface" />
|
||||||
|
</shape>
|
@ -11,45 +11,32 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<ImageView
|
||||||
android:id="@+id/manga_cover_card"
|
android:id="@+id/manga_cover"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_margin="16dp"
|
||||||
android:layout_marginTop="16dp"
|
android:background="@drawable/rounded_rectangle"
|
||||||
android:layout_marginBottom="16dp"
|
android:contentDescription="@string/description_cover"
|
||||||
app:cardCornerRadius="@dimen/card_radius"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintDimensionRatio="h,3:2"
|
app:layout_constraintDimensionRatio="h,3:2"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintVertical_bias="0.0">
|
app:layout_constraintVertical_bias="0.0" />
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/manga_cover"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:contentDescription="@string/description_cover"
|
|
||||||
tools:background="@color/material_grey_700" />
|
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
android:id="@+id/info_scrollview"
|
android:id="@+id/info_scrollview"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginTop="16dp"
|
|
||||||
android:layout_marginEnd="16dp"
|
|
||||||
android:layout_marginBottom="16dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/manga_cover_card"
|
app:layout_constraintStart_toEndOf="@+id/manga_cover"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
android:padding="16dp">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/manga_full_title"
|
android:id="@+id/manga_full_title"
|
||||||
|
@ -38,29 +38,18 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:background="@color/material_grey_700" />
|
tools:background="@color/material_grey_700" />
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
|
||||||
android:id="@+id/manga_cover_card"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginTop="16dp"
|
|
||||||
android:layout_marginEnd="16dp"
|
|
||||||
android:layout_marginBottom="16dp"
|
|
||||||
app:cardCornerRadius="@dimen/card_radius"
|
|
||||||
app:layout_constraintDimensionRatio="h,2:3"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/guideline2"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/manga_cover"
|
android:id="@+id/manga_cover"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="0dp"
|
||||||
|
android:layout_margin="16dp"
|
||||||
|
android:background="@drawable/rounded_rectangle"
|
||||||
android:contentDescription="@string/description_cover"
|
android:contentDescription="@string/description_cover"
|
||||||
tools:background="@color/material_grey_700" />
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintDimensionRatio="h,2:3"
|
||||||
</androidx.cardview.widget.CardView>
|
app:layout_constraintEnd_toStartOf="@+id/guideline2"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/manga_info_section"
|
android:id="@+id/manga_info_section"
|
||||||
|
@ -7,18 +7,17 @@
|
|||||||
android:background="@drawable/library_item_selector"
|
android:background="@drawable/library_item_selector"
|
||||||
android:padding="4dp">
|
android:padding="4dp">
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<FrameLayout
|
||||||
android:id="@+id/card"
|
android:id="@+id/card"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="220dp"
|
android:layout_height="220dp"
|
||||||
app:cardCornerRadius="@dimen/card_radius">
|
android:background="@drawable/rounded_rectangle">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/thumbnail"
|
android:id="@+id/thumbnail"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface"
|
android:background="?attr/colorSurface"
|
||||||
tools:background="?attr/colorSurface"
|
|
||||||
tools:ignore="ContentDescription"
|
tools:ignore="ContentDescription"
|
||||||
tools:src="@mipmap/ic_launcher" />
|
tools:src="@mipmap/ic_launcher" />
|
||||||
|
|
||||||
@ -120,6 +119,6 @@
|
|||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
</FrameLayout>
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
@ -84,18 +84,6 @@
|
|||||||
<string name="eh_autoscroll">Autoscroll</string>
|
<string name="eh_autoscroll">Autoscroll</string>
|
||||||
<string name="eh_retry_all">Retry all</string>
|
<string name="eh_retry_all">Retry all</string>
|
||||||
<string name="eh_boost_page">Boost page</string>
|
<string name="eh_boost_page">Boost page</string>
|
||||||
<string name="eh_rounded_corner_0">No Rounded Corners</string>
|
|
||||||
<string name="eh_rounded_corner_1">Radius of 1</string>
|
|
||||||
<string name="eh_rounded_corner_2">Radius of 2</string>
|
|
||||||
<string name="eh_rounded_corner_3">Radius of 3</string>
|
|
||||||
<string name="eh_rounded_corner_4">Radius of 4</string>
|
|
||||||
<string name="eh_rounded_corner_5">Radius of 5</string>
|
|
||||||
<string name="eh_rounded_corner_6">Radius of 6</string>
|
|
||||||
<string name="eh_rounded_corner_7">Radius of 7</string>
|
|
||||||
<string name="eh_rounded_corner_8">Radius of 8</string>
|
|
||||||
<string name="eh_rounded_corner_9">Radius of 9</string>
|
|
||||||
<string name="eh_rounded_corner_10">Radius of 10</string>
|
|
||||||
<string name="eh_rounded_corners_desc">The level of radius that the corners are rounded to. Current value is: %s</string>
|
|
||||||
<string name="merge">Merge with current</string>
|
<string name="merge">Merge with current</string>
|
||||||
<string name="eh_merge_with_another_source">Merge With Another</string>
|
<string name="eh_merge_with_another_source">Merge With Another</string>
|
||||||
<string name="eh_autoscroll_help">Autoscroll help</string>
|
<string name="eh_autoscroll_help">Autoscroll help</string>
|
||||||
|
Reference in New Issue
Block a user