Skip to content

Commit

Permalink
NTV-429: Gifs on last row on campaign tab not loading on first try (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
Arkariang committed Mar 16, 2022
1 parent c344fb2 commit fca5e55
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 12 deletions.
Expand Up @@ -31,7 +31,6 @@ import com.kickstarter.ui.fragments.DiscoveryFragment
import com.kickstarter.ui.fragments.DiscoveryFragment.Companion.newInstance
import com.kickstarter.viewmodels.DiscoveryViewModel
import rx.android.schedulers.AndroidSchedulers
import java.util.Arrays
import kotlin.collections.ArrayList

@RequiresActivityViewModel(DiscoveryViewModel.ViewModel::class)
Expand All @@ -55,7 +54,7 @@ class DiscoveryActivity : BaseActivity<DiscoveryViewModel.ViewModel>() {
drawerAdapter = DiscoveryDrawerAdapter(viewModel.inputs)
binding.discoveryDrawerRecyclerView.adapter = drawerAdapter

val viewPagerTitles = Arrays.asList(
val viewPagerTitles = listOf(
getString(R.string.discovery_sort_types_magic),
getString(R.string.Popular),
getString(R.string.discovery_sort_types_newest),
Expand Down Expand Up @@ -249,7 +248,7 @@ class DiscoveryActivity : BaseActivity<DiscoveryViewModel.ViewModel>() {
.putExtra(IntentKey.INTERNAL_BUILD_ENVELOPE, envelope)
startActivity(intent)
}
.setNegativeButton(android.R.string.cancel) { dialog: DialogInterface?, which: Int -> }
.setNegativeButton(android.R.string.cancel) { _: DialogInterface?, _: Int -> }
.setIcon(android.R.drawable.ic_dialog_alert)
.show()
}
Expand Down
26 changes: 17 additions & 9 deletions app/src/main/java/com/kickstarter/ui/extensions/ImageViewExt.kt
@@ -1,6 +1,8 @@
package com.kickstarter.ui.extensions

import android.content.Context
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.widget.ImageView
import androidx.appcompat.widget.AppCompatImageView
import com.bumptech.glide.Glide
Expand All @@ -22,17 +24,22 @@ fun ImageView.loadCircleImage(url: String?) {
fun ImageView.loadImage(url: String?, context: Context, imageViewPlaceholder: AppCompatImageView? = null) {
val target = this
if (context.applicationContext.isKSApplication()) {
Picasso.get().load(url).into(
this,
object : Callback {
override fun onSuccess() {
imageViewPlaceholder?.setImageDrawable(target.drawable)
}
Picasso
.get()
.load(url)
.into(
this,
object : Callback {
override fun onSuccess() {
imageViewPlaceholder?.setImageDrawable(target.drawable)
}

override fun onError(e: Exception?) {
override fun onError(e: Exception?) {
target.setImageDrawable(null)
imageViewPlaceholder?.setImageDrawable(null)
}
}
}
)
)
} else {
this.setImageResource(R.drawable.image_placeholder)
}
Expand All @@ -42,6 +49,7 @@ fun ImageView.loadGifImage(url: String?, context: Context) {
if (context.applicationContext.isKSApplication()) {
Glide.with(context)
.asGif()
.placeholder(ColorDrawable(Color.TRANSPARENT))
.diskCacheStrategy(DiskCacheStrategy.ALL)
.load(url)
.into(this)
Expand Down
Expand Up @@ -33,6 +33,7 @@ class ImageWithCaptionView @JvmOverloads constructor(
fun setImage(src: String) {
if (src.isEmpty() || src.isBlank()) {
binding.imageView.setImageDrawable(null)
binding.imageViewPlaceholder.setImageDrawable(null)
} else {
if (src.isGif()) {
binding.imageView.loadGifImage(src, context)
Expand Down

0 comments on commit fca5e55

Please sign in to comment.