diff --git a/.idea/misc.xml b/.idea/misc.xml index 8a8f75b..703e5d4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,7 +5,7 @@ - + diff --git a/app/src/main/java/com/radityalabs/android/corona/extensions/ViewExt.kt b/app/src/main/java/com/radityalabs/android/corona/extensions/ViewExt.kt index 5029763..c0b90a0 100644 --- a/app/src/main/java/com/radityalabs/android/corona/extensions/ViewExt.kt +++ b/app/src/main/java/com/radityalabs/android/corona/extensions/ViewExt.kt @@ -3,8 +3,18 @@ package com.radityalabs.android.corona.extensions import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ImageView import androidx.annotation.LayoutRes +import com.squareup.picasso.Picasso fun ViewGroup.create(@LayoutRes resource: Int): View { return LayoutInflater.from(this.context).inflate(resource, this, false) } + +fun ImageView.load(url: String, centerCrop: Boolean = true, fit: Boolean = true) { + Picasso.get() + .load(url) + .also { if (centerCrop) it.centerCrop() } + .also { if (fit) it.fit() } + .into(this) +} diff --git a/app/src/main/java/com/radityalabs/android/corona/features/main/presentation/main/MainAdapter.kt b/app/src/main/java/com/radityalabs/android/corona/features/main/presentation/main/MainAdapter.kt index 5f0e42f..8e8d4f6 100644 --- a/app/src/main/java/com/radityalabs/android/corona/features/main/presentation/main/MainAdapter.kt +++ b/app/src/main/java/com/radityalabs/android/corona/features/main/presentation/main/MainAdapter.kt @@ -10,6 +10,7 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder import com.radityalabs.android.corona.R import com.radityalabs.android.corona.features.main.presentation.uimodel.FeedModel import com.radityalabs.android.corona.extensions.create +import com.radityalabs.android.corona.extensions.load import com.squareup.picasso.Picasso class MainAdapter : @@ -35,11 +36,7 @@ class MainAdapter : private val tvDescription by lazy { view.findViewById(R.id.tvDescription) } fun bind(feed: FeedModel) { - Picasso.get() - .load(feed.image) - .fit() - .tag(view.context) - .into(ivPhoto) + ivPhoto.load(feed.image, centerCrop = true, fit = true) tvDescription.text = feed.description } } diff --git a/app/src/main/java/com/radityalabs/android/corona/features/main/presentation/sheet/BottomSheetFragment.kt b/app/src/main/java/com/radityalabs/android/corona/features/main/presentation/sheet/BottomSheetFragment.kt index a0dfbd7..f7510b8 100644 --- a/app/src/main/java/com/radityalabs/android/corona/features/main/presentation/sheet/BottomSheetFragment.kt +++ b/app/src/main/java/com/radityalabs/android/corona/features/main/presentation/sheet/BottomSheetFragment.kt @@ -57,8 +57,10 @@ class BottomSheetFragment : Fragment(R.layout.fragment_bottom_sheet) { MainAdapter() rvFeeds = view.findViewById(R.id.feeds) - rvFeeds.adapter = rvAdapter - rvFeeds.layoutManager = LinearLayoutManager(context) + rvFeeds.apply { + adapter = rvAdapter + layoutManager = LinearLayoutManager(context) + } } companion object {