ScreenshotFragment: Pass artwork as array of parcel

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2023-07-13 21:45:03 +05:30
parent 4431054e9c
commit 67197fbd91
3 changed files with 7 additions and 11 deletions

View File

@@ -89,7 +89,7 @@ open class BaseFragment : Fragment {
findNavController().navigate( findNavController().navigate(
MobileNavigationDirections.actionGlobalScreenshotFragment( MobileNavigationDirections.actionGlobalScreenshotFragment(
position, position,
gson.toJson(app.screenshots) app.screenshots.toTypedArray()
) )
) )
} }

View File

@@ -22,6 +22,7 @@ package com.aurora.store.view.ui.details
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs import androidx.navigation.fragment.navArgs
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
@@ -31,10 +32,8 @@ import com.aurora.gplayapi.data.models.Artwork
import com.aurora.store.R import com.aurora.store.R
import com.aurora.store.databinding.FragmentScreenshotBinding import com.aurora.store.databinding.FragmentScreenshotBinding
import com.aurora.store.view.epoxy.views.details.LargeScreenshotViewModel_ import com.aurora.store.view.epoxy.views.details.LargeScreenshotViewModel_
import com.aurora.store.view.ui.commons.BaseFragment
import com.google.gson.reflect.TypeToken
class ScreenshotFragment : BaseFragment(R.layout.fragment_screenshot) { class ScreenshotFragment : Fragment(R.layout.fragment_screenshot) {
private var _binding: FragmentScreenshotBinding? = null private var _binding: FragmentScreenshotBinding? = null
private val binding: FragmentScreenshotBinding private val binding: FragmentScreenshotBinding
@@ -42,8 +41,6 @@ class ScreenshotFragment : BaseFragment(R.layout.fragment_screenshot) {
private val args: ScreenshotFragmentArgs by navArgs() private val args: ScreenshotFragmentArgs by navArgs()
private lateinit var artworks: MutableList<Artwork>
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
_binding = FragmentScreenshotBinding.bind(view) _binding = FragmentScreenshotBinding.bind(view)
@@ -61,8 +58,7 @@ class ScreenshotFragment : BaseFragment(R.layout.fragment_screenshot) {
PagerSnapHelper().attachToRecyclerView(this) PagerSnapHelper().attachToRecyclerView(this)
} }
artworks = gson.fromJson(args.rawArtWorks, object : TypeToken<List<Artwork?>?>() {}.type) updateController(args.arrayOfArtwork, args.position)
updateController(artworks, args.position)
} }
override fun onDestroyView() { override fun onDestroyView() {
@@ -70,7 +66,7 @@ class ScreenshotFragment : BaseFragment(R.layout.fragment_screenshot) {
_binding = null _binding = null
} }
private fun updateController(artworks: MutableList<Artwork>, position: Int) { private fun updateController(artworks: Array<Artwork>, position: Int) {
binding.recyclerView.withModels { binding.recyclerView.withModels {
artworks.forEach { artworks.forEach {
add( add(

View File

@@ -167,8 +167,8 @@
android:name="position" android:name="position"
app:argType="integer" /> app:argType="integer" />
<argument <argument
android:name="rawArtWorks" android:name="arrayOfArtwork"
app:argType="string" /> app:argType="com.aurora.gplayapi.data.models.Artwork[]" />
</fragment> </fragment>
<fragment <fragment
android:id="@+id/devProfileFragment" android:id="@+id/devProfileFragment"