From f7c8c8d6cb8de970e490adf454a97336edc1e901 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Thu, 6 Jul 2023 10:56:51 +0530 Subject: [PATCH] Pass app as a parcel to AppDetailsFragment Signed-off-by: Aayush Gupta --- .../store/view/ui/commons/BaseFragment.kt | 2 +- .../view/ui/details/AppDetailsFragment.kt | 43 +++++-------------- .../main/res/navigation/mobile_navigation.xml | 5 +++ 3 files changed, 17 insertions(+), 33 deletions(-) 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 47937a5c5..dae6119ec 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 @@ -41,7 +41,7 @@ open class BaseFragment : Fragment { fun openDetailsFragment(app: App) { findNavController().navigate( - MobileNavigationDirections.actionGlobalAppDetailsFragment(app.packageName) + MobileNavigationDirections.actionGlobalAppDetailsFragment(app.packageName, app) ) } diff --git a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt index 399bbdc9b..286758caa 100644 --- a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt @@ -254,10 +254,17 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) { super.onViewCreated(view, savedInstanceState) _binding = FragmentDetailsBinding.bind(view) - // TODO: Parcel app class to better handle onNewIntent fun - isExternal = true - app = App(args.packageName) - fetchCompleteApp() + if (args.app != null) { + app = args.app!! + isInstalled = PackageUtil.isInstalled(requireContext(), app.packageName) + + inflatePartialApp() + fetchCompleteApp() + } else { + isExternal = true + app = App(args.packageName) + fetchCompleteApp() + } // Toolbar binding.layoutDetailsToolbar.toolbar.apply { @@ -312,34 +319,6 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) { super.onResume() } - private fun onNewIntent(intent: Intent) { - if (intent.scheme != null && (intent.scheme == "market" || intent.scheme == "http" || intent.scheme == "https")) { - val packageName = intent.data!!.getQueryParameter("id") - val packageVersion = intent.data!!.getQueryParameter("v") - if (packageName.isNullOrEmpty()) { - activity?.finishAfterTransition() - } else { - isExternal = true - app = App(packageName) - if (!packageVersion.isNullOrEmpty()) { - app.versionCode = packageVersion.toInt() - } - fetchCompleteApp() - } - } else { - val rawApp: String? = intent.getStringExtra(Constants.STRING_EXTRA) - if (rawApp != null) { - app = gson.fromJson(rawApp, App::class.java) - isInstalled = PackageUtil.isInstalled(requireContext(), app.packageName) - - inflatePartialApp() - fetchCompleteApp() - } else { - activity?.finishAfterTransition() - } - } - } - private fun attachActions() { flip(0) checkAndSetupInstall() diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index a46e4c0a6..a19165393 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -120,6 +120,11 @@ +