fix: Canvas reused issue.

This commit is contained in:
aminecmi 2023-03-03 20:39:20 +01:00
parent b9d69c3e64
commit f28cb759df
2 changed files with 10 additions and 24 deletions

View File

@ -145,8 +145,8 @@ dependencies {
implementation("com.amulyakhare:com.amulyakhare.textdrawable:1.0.1") implementation("com.amulyakhare:com.amulyakhare.textdrawable:1.0.1")
// glide // glide
kapt("com.github.bumptech.glide:compiler:4.14.2") kapt("com.github.bumptech.glide:compiler:4.15.0")
implementation("com.github.bumptech.glide:okhttp3-integration:4.14.2") implementation("com.github.bumptech.glide:okhttp3-integration:4.15.0")
// Themes // Themes
implementation("com.github.rubensousa:floatingtoolbar:1.5.1") implementation("com.github.rubensousa:floatingtoolbar:1.5.1")

View File

@ -20,10 +20,8 @@ import bou.amine.apps.readerforselfossv2.repository.Repository
import bou.amine.apps.readerforselfossv2.utils.getHtmlDecoded import bou.amine.apps.readerforselfossv2.utils.getHtmlDecoded
import bou.amine.apps.readerforselfossv2.utils.getIcon import bou.amine.apps.readerforselfossv2.utils.getIcon
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.load.DataSource import com.bumptech.glide.request.target.ViewTarget
import com.bumptech.glide.load.engine.GlideException import com.bumptech.glide.request.transition.Transition
import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.target.Target
import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.google.android.material.chip.Chip import com.google.android.material.chip.Chip
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
@ -90,31 +88,19 @@ class FilterSheetFragment : BottomSheetDialogFragment(), DIAware {
Glide.with(context) Glide.with(context)
.load(source.getIcon(repository.baseUrl)) .load(source.getIcon(repository.baseUrl))
.listener(object : RequestListener<Drawable?> { .into(object : ViewTarget<Chip?, Drawable?>(c) {
override fun onLoadFailed(
e: GlideException?,
model: Any?,
target: Target<Drawable?>?,
isFirstResource: Boolean
): Boolean {
return false
}
override fun onResourceReady( override fun onResourceReady(
resource: Drawable?, resource: Drawable,
model: Any?, transition: Transition<in Drawable?>?
target: Target<Drawable?>?, ) {
dataSource: DataSource?,
isFirstResource: Boolean
): Boolean {
try { try {
c.chipIcon = resource c.chipIcon = resource
} catch (e: Exception) { } catch (e: Exception) {
e.sendSilentlyWithAcraWithName("sources > onResourceReady") e.sendSilentlyWithAcraWithName("sources > onResourceReady")
} }
return false
} }
}).preload()
})
c.text = source.title.getHtmlDecoded() c.text = source.title.getHtmlDecoded()