diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 974132309..dfd2cf477 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -115,7 +115,6 @@ - diff --git a/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt b/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt index 3d852608e..27a6910f4 100644 --- a/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/commons/BaseFragment.kt @@ -72,9 +72,8 @@ open class BaseFragment : Fragment { } fun openEditorStreamBrowseActivity(browseUrl: String, title: String = "") { - val intent = Intent(requireContext(), EditorStreamBrowseActivity::class.java) - intent.putExtra(Constants.BROWSE_EXTRA, browseUrl) - intent.putExtra(Constants.STRING_EXTRA, title) - startActivity(intent, requireContext().getEmptyActivityBundle()) + findNavController().navigate( + MobileNavigationDirections.actionGlobalEditorStreamBrowseFragment(title, browseUrl) + ) } } diff --git a/app/src/main/java/com/aurora/store/view/ui/commons/EditorStreamBrowseActivity.kt b/app/src/main/java/com/aurora/store/view/ui/commons/EditorStreamBrowseFragment.kt similarity index 78% rename from app/src/main/java/com/aurora/store/view/ui/commons/EditorStreamBrowseActivity.kt rename to app/src/main/java/com/aurora/store/view/ui/commons/EditorStreamBrowseFragment.kt index 031277201..817b838cc 100644 --- a/app/src/main/java/com/aurora/store/view/ui/commons/EditorStreamBrowseActivity.kt +++ b/app/src/main/java/com/aurora/store/view/ui/commons/EditorStreamBrowseFragment.kt @@ -20,10 +20,14 @@ package com.aurora.store.view.ui.commons import android.os.Bundle +import android.view.View import androidx.lifecycle.ViewModelProvider +import androidx.navigation.fragment.findNavController +import androidx.navigation.fragment.navArgs import com.airbnb.epoxy.EpoxyModel -import com.aurora.Constants import com.aurora.gplayapi.data.models.App +import com.aurora.store.MainActivity +import com.aurora.store.R import com.aurora.store.databinding.ActivityGenericRecyclerBinding import com.aurora.store.view.epoxy.groups.CarouselHorizontalModel_ import com.aurora.store.view.epoxy.views.EditorHeadViewModel_ @@ -35,58 +39,46 @@ import com.aurora.store.view.epoxy.views.shimmer.AppListViewShimmerModel_ import com.aurora.store.viewmodel.editorschoice.EditorBrowseViewModel -class EditorStreamBrowseActivity : BaseActivity() { +class EditorStreamBrowseFragment : BaseFragment(R.layout.activity_generic_recycler) { + + private var _binding: ActivityGenericRecyclerBinding? = null + private val binding: ActivityGenericRecyclerBinding + get() = _binding!! + + private val args: EditorStreamBrowseFragmentArgs by navArgs() - lateinit var B: ActivityGenericRecyclerBinding lateinit var VM: EditorBrowseViewModel lateinit var title: String - override fun onConnected() { - hideNetworkConnectivitySheet() - } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) - override fun onDisconnected() { - showNetworkConnectivitySheet() - } - - override fun onReconnected() { - - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - - B = ActivityGenericRecyclerBinding.inflate(layoutInflater) + _binding = ActivityGenericRecyclerBinding.bind(view) VM = ViewModelProvider(this)[EditorBrowseViewModel::class.java] - setContentView(B.root) + // Toolbar + binding.layoutToolbarAction.apply { + txtTitle.text = args.title + imgActionPrimary.setOnClickListener { + findNavController().navigateUp() + } + } - attachToolbar() - - VM.liveData.observe(this) { + VM.liveData.observe(viewLifecycleOwner) { updateController(it) } - intent.apply { - getStringExtra(Constants.BROWSE_EXTRA)?.let { - VM.getEditorStreamBundle(it) - } - getStringExtra(Constants.STRING_EXTRA)?.let { - B.layoutToolbarAction.txtTitle.text = it - } - } - + VM.getEditorStreamBundle(args.browseUrl) updateController(null) } - private fun attachToolbar() { - B.layoutToolbarAction.imgActionPrimary.setOnClickListener { - finishAfterTransition() - } + override fun onDestroyView() { + super.onDestroyView() + _binding = null } private fun updateController(appList: MutableList?) { - B.recycler.withModels { + binding.recycler.withModels { setFilterDuplicates(true) if (appList == null) { for (i in 1..6) { @@ -107,7 +99,10 @@ class EditorStreamBrowseActivity : BaseActivity() { .artwork(artwork) .callback(object : MiniScreenshotView.ScreenshotCallback { override fun onClick(position: Int) { - openScreenshotActivity(app, position) + (activity as MainActivity).openScreenshotActivity( + app, + position + ) } }) ) diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index 7b75e9881..9bc73ef98 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -120,10 +120,23 @@ android:name="browseUrl" app:argType="string" /> + + + + +