Improve screenshots ratio and quality
This commit is contained in:
@@ -72,8 +72,9 @@ class LargeScreenshotView : RelativeLayout {
|
|||||||
|
|
||||||
@ModelProp
|
@ModelProp
|
||||||
fun artwork(artwork: Artwork) {
|
fun artwork(artwork: Artwork) {
|
||||||
|
val displayMetrics = Resources.getSystem().displayMetrics
|
||||||
GlideApp.with(context)
|
GlideApp.with(context)
|
||||||
.load(artwork.url)
|
.load("${artwork.url}=rw-w${displayMetrics.widthPixels}-v1-e15")
|
||||||
.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
|
.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
|
||||||
.addListener(object : RequestListener<Drawable> {
|
.addListener(object : RequestListener<Drawable> {
|
||||||
override fun onLoadFailed(
|
override fun onLoadFailed(
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
package com.aurora.store.view.epoxy.views.details
|
package com.aurora.store.view.epoxy.views.details
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.content.res.Resources
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import android.widget.RelativeLayout
|
import android.widget.RelativeLayout
|
||||||
import com.airbnb.epoxy.CallbackProp
|
import com.airbnb.epoxy.CallbackProp
|
||||||
@@ -29,6 +30,7 @@ import com.airbnb.epoxy.OnViewRecycled
|
|||||||
import com.aurora.gplayapi.data.models.Artwork
|
import com.aurora.gplayapi.data.models.Artwork
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.databinding.ViewScreenshotBinding
|
import com.aurora.store.databinding.ViewScreenshotBinding
|
||||||
|
import com.aurora.store.util.Log
|
||||||
import com.aurora.store.util.extensions.clear
|
import com.aurora.store.util.extensions.clear
|
||||||
import com.aurora.store.util.extensions.load
|
import com.aurora.store.util.extensions.load
|
||||||
import com.aurora.store.util.extensions.px
|
import com.aurora.store.util.extensions.px
|
||||||
@@ -79,7 +81,7 @@ class ScreenshotView : RelativeLayout {
|
|||||||
@ModelProp
|
@ModelProp
|
||||||
fun artwork(artwork: Artwork) {
|
fun artwork(artwork: Artwork) {
|
||||||
normalizeSize(artwork)
|
normalizeSize(artwork)
|
||||||
B.img.load("${artwork.url}=rw-h480-v1-e15", DrawableTransitionOptions.withCrossFade()) {
|
B.img.load("${artwork.url}=rw-w480-v1-e15", DrawableTransitionOptions.withCrossFade()) {
|
||||||
placeholder(R.drawable.bg_rounded)
|
placeholder(R.drawable.bg_rounded)
|
||||||
transform(RoundedCorners(8.px.toInt()))
|
transform(RoundedCorners(8.px.toInt()))
|
||||||
}
|
}
|
||||||
@@ -88,22 +90,22 @@ class ScreenshotView : RelativeLayout {
|
|||||||
private fun normalizeSize(artwork: Artwork) {
|
private fun normalizeSize(artwork: Artwork) {
|
||||||
if (artwork.height != 0 && artwork.width != 0) {
|
if (artwork.height != 0 && artwork.width != 0) {
|
||||||
|
|
||||||
val viewHeight = artwork.height
|
val artworkHeight = artwork.height
|
||||||
val viewWidth = artwork.width
|
val artworkWidth = artwork.width
|
||||||
|
|
||||||
var normalizedHeight: Int = viewHeight
|
val normalizedHeight: Float
|
||||||
var normalizedWidth: Int = viewWidth
|
val normalizedWidth: Float
|
||||||
|
|
||||||
|
when {
|
||||||
if (viewHeight == viewWidth) {
|
artworkHeight == artworkWidth -> {
|
||||||
normalizedHeight = 240
|
normalizedHeight = 192f
|
||||||
normalizedWidth = 240
|
normalizedWidth = 192f
|
||||||
} else if (viewHeight > viewWidth) {
|
}
|
||||||
normalizedHeight = 240
|
else -> {
|
||||||
normalizedWidth = 135
|
val factor = artworkHeight / 192f
|
||||||
} else if (viewHeight < viewWidth) {
|
normalizedHeight = 192f
|
||||||
normalizedHeight = 240
|
normalizedWidth = (artworkWidth / factor)
|
||||||
normalizedWidth = 427
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
B.img.layoutParams.height = normalizedHeight.px.toInt()
|
B.img.layoutParams.height = normalizedHeight.px.toInt()
|
||||||
|
|||||||
@@ -44,8 +44,8 @@
|
|||||||
<dimen name="icon_size_avatar">108dp</dimen>
|
<dimen name="icon_size_avatar">108dp</dimen>
|
||||||
|
|
||||||
<!--Almost 16 : 9-->
|
<!--Almost 16 : 9-->
|
||||||
<dimen name="screenshot_height">240dp</dimen>
|
<dimen name="screenshot_height">192dp</dimen>
|
||||||
<dimen name="screenshot_width">135dp</dimen>
|
<dimen name="screenshot_width">108dp</dimen>
|
||||||
|
|
||||||
<dimen name="height_bottom_adj">64dp</dimen>
|
<dimen name="height_bottom_adj">64dp</dimen>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user