From 2ab9bbeb86bded6174cd8a401cb60e8d8a243167 Mon Sep 17 00:00:00 2001 From: Sarah <39919229+santansarah@users.noreply.github.com> Date: Thu, 6 Apr 2023 12:18:58 -0700 Subject: [PATCH] fix: Launch (fragment-ktx), Product Photos, Contributions bug fixes. (#4961) --- .../view/contributors/ContributorsFragment.kt | 17 +++++++++-------- .../view/photos/ProductPhotoViewHolder.kt | 4 +--- .../product/view/photos/ProductPhotosAdapter.kt | 4 +++- .../view/photos/ProductPhotosFragment.kt | 3 ++- gradle/libs.versions.toml | 2 +- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/contributors/ContributorsFragment.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/contributors/ContributorsFragment.kt index 4fe9b6bda937..6efa832adb98 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/contributors/ContributorsFragment.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/contributors/ContributorsFragment.kt @@ -47,14 +47,8 @@ class ContributorsFragment : BaseFragment() { lateinit var localeManager: LocaleManager private lateinit var productState: ProductState - - private val dateFormat = DateFormat.getDateFormat(requireContext()).apply { - timeZone = TimeZone.getTimeZone("CET") - } - private val timeFormatter = DateFormat.getTimeFormat(requireContext()).apply { - timeZone = TimeZone.getTimeZone("CET") - } - + private lateinit var dateFormat: java.text.DateFormat + private lateinit var timeFormatter: java.text.DateFormat override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { _binding = FragmentContributorsBinding.inflate(inflater) @@ -64,6 +58,13 @@ class ContributorsFragment : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + dateFormat = DateFormat.getDateFormat(requireContext()).apply { + timeZone = TimeZone.getTimeZone("CET") + } + timeFormatter = DateFormat.getTimeFormat(requireContext()).apply { + timeZone = TimeZone.getTimeZone("CET") + } + binding.incompleteStates.setOnClickListener { toggleIncompleteStatesVisibility() } binding.completeStates.setOnClickListener { toggleCompleteStatesVisibility() } diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotoViewHolder.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotoViewHolder.kt index c8e242a7d24f..d1f2b17ec63c 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotoViewHolder.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotoViewHolder.kt @@ -13,11 +13,9 @@ import javax.inject.Inject class ProductPhotoViewHolder( private val binding: ImagesItemBinding, + private val picasso: Picasso ) : RecyclerView.ViewHolder(binding.root) { - @Inject - lateinit var picasso: Picasso - fun setImage(barcode: Barcode, imageName: String) { val imageUrl = getImageUrl(barcode, imageName, IMAGE_EDIT_SIZE) logcat(LogPriority.DEBUG) { "Loading image $imageUrl..." } diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotosAdapter.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotosAdapter.kt index 9d4f69f006ee..ca1e4962dc07 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotosAdapter.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotosAdapter.kt @@ -4,6 +4,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView +import com.squareup.picasso.Picasso import openfoodfacts.github.scrachx.openfood.databinding.ImagesItemBinding import openfoodfacts.github.scrachx.openfood.models.Product @@ -15,6 +16,7 @@ class ProductPhotosAdapter( private val imageNames: List, private val onImageTap: (Int) -> Unit, private val onLoginNeeded: (View, Int) -> Unit, + private val picasso: Picasso ) : RecyclerView.Adapter() { override fun getItemCount() = imageNames.count() @@ -22,7 +24,7 @@ class ProductPhotosAdapter( override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ProductPhotoViewHolder { val inflater = LayoutInflater.from(parent.context) val itemView = ImagesItemBinding.inflate(inflater, parent, false) - return ProductPhotoViewHolder(itemView) + return ProductPhotoViewHolder(itemView, picasso) } override fun onBindViewHolder(holder: ProductPhotoViewHolder, position: Int) { diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotosFragment.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotosFragment.kt index b3a10cb7dc63..f7a4797a38d7 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotosFragment.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/view/photos/ProductPhotosFragment.kt @@ -106,7 +106,8 @@ class ProductPhotosFragment : BaseFragment() { } else { showEditPopup(view, imageNames, position, product) } - } + }, + picasso ) binding.progress.hide() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 63dbc1ad2ebd..7ca60f022b9a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ kotlin-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-co kotlin-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlin-coroutines" } test-kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlin-coroutines" } # Android KTX -android-ktx-fragment = "androidx.fragment:fragment-ktx:1.4.1" +android-ktx-fragment = "androidx.fragment:fragment-ktx:1.5.6" android-ktx-activity = "androidx.activity:activity-ktx:1.7.0" android-ktx-preference = "androidx.preference:preference-ktx:1.2.0" android-ktx-core = "androidx.core:core-ktx:1.8.0"