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 @@
+