Extract ImageLoader interface
This commit is contained in:
@@ -2,14 +2,7 @@ package gq.kirmanak.mealie.ui
|
||||
|
||||
import android.widget.ImageView
|
||||
import androidx.annotation.DrawableRes
|
||||
import com.bumptech.glide.Glide
|
||||
import javax.inject.Inject
|
||||
|
||||
class ImageLoader @Inject constructor() {
|
||||
fun loadImage(url: String?, @DrawableRes placeholderId: Int, imageView: ImageView) {
|
||||
with(Glide.with(imageView)) {
|
||||
if (url.isNullOrBlank()) clear(imageView)
|
||||
else load(url).placeholder(placeholderId).into(imageView)
|
||||
}
|
||||
}
|
||||
interface ImageLoader {
|
||||
fun loadImage(url: String?, @DrawableRes placeholderId: Int, imageView: ImageView)
|
||||
}
|
||||
15
app/src/main/java/gq/kirmanak/mealie/ui/ImageLoaderGlide.kt
Normal file
15
app/src/main/java/gq/kirmanak/mealie/ui/ImageLoaderGlide.kt
Normal file
@@ -0,0 +1,15 @@
|
||||
package gq.kirmanak.mealie.ui
|
||||
|
||||
import android.widget.ImageView
|
||||
import androidx.annotation.DrawableRes
|
||||
import com.bumptech.glide.Glide
|
||||
import javax.inject.Inject
|
||||
|
||||
class ImageLoaderGlide @Inject constructor() : ImageLoader {
|
||||
override fun loadImage(url: String?, @DrawableRes placeholderId: Int, imageView: ImageView) {
|
||||
with(Glide.with(imageView)) {
|
||||
if (url.isNullOrBlank()) clear(imageView)
|
||||
else load(url).placeholder(placeholderId).into(imageView)
|
||||
}
|
||||
}
|
||||
}
|
||||
13
app/src/main/java/gq/kirmanak/mealie/ui/UiModule.kt
Normal file
13
app/src/main/java/gq/kirmanak/mealie/ui/UiModule.kt
Normal file
@@ -0,0 +1,13 @@
|
||||
package gq.kirmanak.mealie.ui
|
||||
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
interface UiModule {
|
||||
@Binds
|
||||
fun bindImageLoader(imageLoaderGlide: ImageLoaderGlide): ImageLoader
|
||||
}
|
||||
Reference in New Issue
Block a user