From e35f716e14f8388cc3a07358566954f8afeefcbc Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Thu, 14 Nov 2024 12:15:09 +0300 Subject: [PATCH] NotificationUtil: Navigate through splash fragment for updates notification AuthData can get expired by the time a user clicks on the update notification. Navigating through splash fragment will ensure required checks being ran. Signed-off-by: Aayush Gupta --- .../main/java/com/aurora/store/util/NotificationUtil.kt | 3 ++- .../com/aurora/store/view/ui/splash/SplashFragment.kt | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/aurora/store/util/NotificationUtil.kt b/app/src/main/java/com/aurora/store/util/NotificationUtil.kt index 6d2db444d..e37ac9655 100644 --- a/app/src/main/java/com/aurora/store/util/NotificationUtil.kt +++ b/app/src/main/java/com/aurora/store/util/NotificationUtil.kt @@ -201,8 +201,9 @@ object NotificationUtil { fun getUpdateNotification(context: Context, updatesList: List): Notification { val contentIntent = NavDeepLinkBuilder(context) .setGraph(R.navigation.mobile_navigation) - .setDestination(R.id.updatesFragment) + .setDestination(R.id.splashFragment) .setComponentName(MainActivity::class.java) + .setArguments(bundleOf("destinationId" to R.id.updatesFragment)) .createPendingIntent() return NotificationCompat.Builder(context, Constants.NOTIFICATION_CHANNEL_UPDATES) 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 e17113c91..5ed9e279f 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 @@ -194,8 +194,14 @@ class SplashFragment : BaseFragment() { } private fun navigateToDefaultTab() { + val defaultDestination = Preferences.getInteger(requireContext(), PREFERENCE_DEFAULT_SELECTED_TAB) val directions = - when (Preferences.getInteger(requireContext(), PREFERENCE_DEFAULT_SELECTED_TAB)) { + when (requireArguments().getInt("destinationId", defaultDestination)) { + R.id.updatesFragment -> { + requireArguments().remove("destinationId") + SplashFragmentDirections.actionSplashFragmentToUpdatesFragment() + } + 1 -> SplashFragmentDirections.actionSplashFragmentToGamesContainerFragment() 2 -> SplashFragmentDirections.actionSplashFragmentToUpdatesFragment() else -> SplashFragmentDirections.actionSplashFragmentToNavigationApps()