From ad78dc6cc194d4f98bde6da4c23975e7c5deebe6 Mon Sep 17 00:00:00 2001 From: suryamudti-tiket Date: Tue, 17 Mar 2020 06:49:35 +0700 Subject: [PATCH 1/2] update BottomSheetFragment init RecyclerView using apply --- .idea/misc.xml | 2 +- .../features/main/presentation/sheet/BottomSheetFragment.kt | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) 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/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 { From 125b26b3241d7324be25d7d0ea61ef763152ca22 Mon Sep 17 00:00:00 2001 From: suryamudti-tiket Date: Tue, 17 Mar 2020 06:59:50 +0700 Subject: [PATCH 2/2] add extension function for load image with picasso --- .../radityalabs/android/corona/extensions/ViewExt.kt | 10 ++++++++++ .../features/main/presentation/main/MainAdapter.kt | 7 ++----- 2 files changed, 12 insertions(+), 5 deletions(-) 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 } }