SplashFragment: Remove from backstack when launching an intent

SplashFragment always removes itself from backstack in every other case, do same
when launching the app detail page to handle intents as well.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-02-22 18:20:20 +05:30
parent 57ddeff710
commit dd584b5b7b
2 changed files with 18 additions and 4 deletions

View File

@@ -22,6 +22,7 @@ package com.aurora.store.view.ui.splash
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import coil.load import coil.load
@@ -35,12 +36,11 @@ import com.aurora.store.databinding.FragmentSplashBinding
import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences
import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB
import com.aurora.store.util.Preferences.PREFERENCE_INTRO import com.aurora.store.util.Preferences.PREFERENCE_INTRO
import com.aurora.store.view.ui.commons.BaseFragment
import com.aurora.store.viewmodel.auth.AuthViewModel import com.aurora.store.viewmodel.auth.AuthViewModel
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint @AndroidEntryPoint
class SplashFragment : BaseFragment(R.layout.fragment_splash) { class SplashFragment : Fragment(R.layout.fragment_splash) {
private var _binding: FragmentSplashBinding? = null private var _binding: FragmentSplashBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
@@ -101,7 +101,11 @@ class SplashFragment : BaseFragment(R.layout.fragment_splash) {
navigateToDefaultTab() navigateToDefaultTab()
} else { } else {
requireArguments().remove("packageName") requireArguments().remove("packageName")
openDetailsFragment(packageName) findNavController().navigate(
SplashFragmentDirections.actionSplashFragmentToAppDetailsFragment(
packageName
)
)
} }
} }
@@ -121,7 +125,11 @@ class SplashFragment : BaseFragment(R.layout.fragment_splash) {
navigateToDefaultTab() navigateToDefaultTab()
} else { } else {
requireArguments().remove("packageName") requireArguments().remove("packageName")
openDetailsFragment(packageName) findNavController().navigate(
SplashFragmentDirections.actionSplashFragmentToAppDetailsFragment(
packageName
)
)
} }
} }

View File

@@ -355,6 +355,12 @@
<action <action
android:id="@+id/action_splashFragment_to_googleFragment" android:id="@+id/action_splashFragment_to_googleFragment"
app:destination="@id/googleFragment" /> app:destination="@id/googleFragment" />
<action
android:id="@+id/action_splashFragment_to_appDetailsFragment"
app:destination="@id/appDetailsFragment"
app:launchSingleTop="true"
app:popUpTo="@id/mobile_navigation"
app:popUpToInclusive="true" />
</fragment> </fragment>
<fragment <fragment
android:id="@+id/googleFragment" android:id="@+id/googleFragment"