From 5c8b9c6d54f057371e93e44fc70cf153cf22a7c7 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Fri, 4 Aug 2023 18:12:41 +0800 Subject: [PATCH] AppPeekDialogSheet: Migrate to navigation components Signed-off-by: Aayush Gupta --- .../view/ui/commons/CategoryBrowseFragment.kt | 5 +- .../view/ui/sheets/AppPeekDialogSheet.kt | 52 ++++--------------- .../main/res/navigation/mobile_navigation.xml | 11 ++++ 3 files changed, 24 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/com/aurora/store/view/ui/commons/CategoryBrowseFragment.kt b/app/src/main/java/com/aurora/store/view/ui/commons/CategoryBrowseFragment.kt index 2e392b828..74ba487cf 100644 --- a/app/src/main/java/com/aurora/store/view/ui/commons/CategoryBrowseFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/commons/CategoryBrowseFragment.kt @@ -34,7 +34,6 @@ import com.aurora.store.databinding.ActivityGenericRecyclerBinding import com.aurora.store.view.custom.recycler.EndlessRecyclerOnScrollListener import com.aurora.store.view.epoxy.controller.CategoryCarouselController import com.aurora.store.view.epoxy.controller.GenericCarouselController -import com.aurora.store.view.ui.sheets.AppPeekDialogSheet import com.aurora.store.viewmodel.subcategory.SubCategoryClusterViewModel @@ -135,6 +134,8 @@ class CategoryBrowseFragment : BaseFragment(R.layout.activity_generic_recycler), } override fun onAppLongClick(app: App) { - AppPeekDialogSheet.newInstance(app).show(childFragmentManager, "APDS") + findNavController().navigate( + CategoryBrowseFragmentDirections.actionCategoryBrowseFragmentToAppPeekDialogSheet(app) + ) } } diff --git a/app/src/main/java/com/aurora/store/view/ui/sheets/AppPeekDialogSheet.kt b/app/src/main/java/com/aurora/store/view/ui/sheets/AppPeekDialogSheet.kt index 8617650d2..32b190e08 100644 --- a/app/src/main/java/com/aurora/store/view/ui/sheets/AppPeekDialogSheet.kt +++ b/app/src/main/java/com/aurora/store/view/ui/sheets/AppPeekDialogSheet.kt @@ -23,71 +23,39 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import com.aurora.Constants -import com.aurora.gplayapi.data.models.App +import androidx.navigation.fragment.navArgs +import com.aurora.extensions.load import com.aurora.store.R import com.aurora.store.databinding.SheetAppPeekBinding import com.aurora.store.util.CommonUtil -import com.aurora.extensions.load import com.bumptech.glide.load.resource.bitmap.RoundedCorners class AppPeekDialogSheet : BaseBottomSheet() { lateinit var B: SheetAppPeekBinding - lateinit var app: App - private var rawApp = String() - - companion object { - @JvmStatic - fun newInstance(app: App): AppPeekDialogSheet { - return AppPeekDialogSheet().apply { - arguments = Bundle().apply { - putString(Constants.STRING_EXTRA, gson.toJson(app)) - } - } - } - } + private val args: AppPeekDialogSheetArgs by navArgs() override fun onCreateContentView( inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle? - ): View? { + ): View { B = SheetAppPeekBinding.inflate(inflater, container, false) - val bundle = arguments - if (bundle != null) { - rawApp = bundle.getString(Constants.STRING_EXTRA, "") - if (rawApp.isNotEmpty()) { - app = gson.fromJson(rawApp, App::class.java) - if (app.packageName.isNotEmpty()) { - draw() - } else { - dismissAllowingStateLoss() - } - } else { - dismissAllowingStateLoss() - } - } - return B.root } override fun onContentViewCreated(view: View, savedInstanceState: Bundle?) { - - } - - private fun draw() { - B.txtLine1.text = app.displayName - B.imgIcon.load(app.iconArtwork.url) { + B.txtLine1.text = args.app.displayName + B.imgIcon.load(args.app.iconArtwork.url) { transform(RoundedCorners(25)) } - B.txtLine2.text = app.developerName + B.txtLine2.text = args.app.developerName B.txtLine3.text = String.format( requireContext().getString(R.string.app_list_rating), - CommonUtil.addSiPrefix(app.size), - app.labeledRating, - if (app.isFree) + CommonUtil.addSiPrefix(args.app.size), + args.app.labeledRating, + if (args.app.isFree) "Free" else "Paid" diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index c7789e19a..cf7c6ef38 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -197,6 +197,9 @@ + + + +