This commit is contained in:
Koitharu
2022-07-09 08:51:52 +03:00
parent b519b53419
commit f5dd1c39ce
7 changed files with 22 additions and 35 deletions

View File

@@ -13,12 +13,8 @@ import android.provider.Settings
import android.view.ViewGroup
import android.view.ViewPropertyAnimator
import android.view.Window
import android.view.animation.Animation
import androidx.activity.result.ActivityResultLauncher
import androidx.annotation.DrawableRes
import androidx.constraintlayout.motion.widget.MotionScene
import androidx.core.app.ActivityOptionsCompat
import androidx.core.content.ContextCompat
import androidx.core.view.children
import androidx.core.view.descendants
import androidx.lifecycle.Lifecycle
@@ -124,8 +120,6 @@ fun Window.setNavigationBarTransparentCompat(context: Context, elevation: Float
val Context.animatorDurationScale: Float
get() = Settings.Global.getFloat(this.contentResolver, Settings.Global.ANIMATOR_DURATION_SCALE, 1f)
internal fun Context.getCompatDrawable(@DrawableRes drawableId: Int) = ContextCompat.getDrawable(this, drawableId)
fun ViewPropertyAnimator.applySystemAnimatorScale(context: Context): ViewPropertyAnimator = apply {
this.duration = (this.duration * context.animatorDurationScale).toLong()
}

View File

@@ -1,5 +1,6 @@
package org.koitharu.kotatsu.utils.ext
import android.content.Context
import android.widget.ImageView
import androidx.core.graphics.drawable.toBitmap
import coil.ImageLoader
@@ -13,7 +14,7 @@ import org.koitharu.kotatsu.utils.progress.ImageRequestIndicatorListener
fun ImageView.newImageRequest(url: String?) = ImageRequest.Builder(context)
.data(url)
.crossfade((300 * context.animatorDurationScale).toInt())
.crossfade(context)
.target(this)
fun ImageRequest.Builder.enqueueWith(loader: ImageLoader) = loader.enqueue(build())
@@ -38,4 +39,9 @@ fun ImageRequest.Builder.referer(referer: String): ImageRequest.Builder {
fun ImageRequest.Builder.indicator(indicator: BaseProgressIndicator<*>): ImageRequest.Builder {
return listener(ImageRequestIndicatorListener(indicator))
}
fun ImageRequest.Builder.crossfade(context: Context?): ImageRequest.Builder {
val scale = context?.animatorDurationScale ?: 1f
return crossfade((300 * scale).toInt())
}

View File

@@ -1,9 +0,0 @@
package org.koitharu.kotatsu.utils.ext
import android.graphics.drawable.Drawable
import androidx.annotation.ColorInt
import androidx.core.graphics.drawable.DrawableCompat
internal fun Drawable.setCompatTint(@ColorInt color: Int) = DrawableCompat.setTint(this, color)
internal fun Drawable.wrap(): Drawable = DrawableCompat.wrap(this)