From d54bc62810e483997ab3176b7b5ed9b4fb4ba2e9 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Mon, 4 Sep 2023 14:30:04 +0530 Subject: [PATCH] SplashFragment: Switch deeplink from AppDetailsFragment to SplashFragment Ensure every session is a valid one before trying to access the app details Signed-off-by: Aayush Gupta --- .../store/view/ui/splash/SplashFragment.kt | 18 ++++++++++++++---- .../main/res/navigation/mobile_navigation.xml | 10 +++++++--- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt b/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt index b4763de36..c14749fee 100644 --- a/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt @@ -21,9 +21,9 @@ package com.aurora.store.view.ui.splash import android.os.Bundle import android.view.View -import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController +import androidx.navigation.fragment.navArgs import coil.load import coil.transform.RoundedCornersTransformation import com.aurora.extensions.hide @@ -34,15 +34,17 @@ import com.aurora.store.databinding.FragmentSplashBinding import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB import com.aurora.store.util.Preferences.PREFERENCE_INTRO +import com.aurora.store.view.ui.commons.BaseFragment import com.aurora.store.viewmodel.auth.AuthViewModel -class SplashFragment : Fragment(R.layout.fragment_splash) { +class SplashFragment : BaseFragment(R.layout.fragment_splash) { private var _binding: FragmentSplashBinding? = null private val binding: FragmentSplashBinding get() = _binding!! private val viewModel: AuthViewModel by activityViewModels() + private val args: SplashFragmentArgs by navArgs() override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -90,7 +92,11 @@ class SplashFragment : Fragment(R.layout.fragment_splash) { } AuthState.Valid -> { - navigateToDefaultTab() + if (args.packageName.isBlank()) { + navigateToDefaultTab() + } else { + openDetailsFragment(args.packageName) + } } AuthState.Available -> { @@ -104,7 +110,11 @@ class SplashFragment : Fragment(R.layout.fragment_splash) { } AuthState.SignedIn -> { - navigateToDefaultTab() + if (args.packageName.isBlank()) { + navigateToDefaultTab() + } else { + openDetailsFragment(args.packageName) + } } AuthState.SignedOut -> { diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index c737244ac..a305cf0c6 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -170,9 +170,6 @@ - @@ -311,6 +308,13 @@ android:id="@+id/splashFragment" android:name="com.aurora.store.view.ui.splash.SplashFragment" tools:layout="@layout/fragment_splash" > + +