From 68d8e0e9c4498ad8265cb25edefcc4c38900c040 Mon Sep 17 00:00:00 2001 From: rhunk <101876869+rhunk@users.noreply.github.com> Date: Tue, 22 Aug 2023 01:06:53 +0200 Subject: [PATCH] fix: main activity single task --- app/src/main/AndroidManifest.xml | 1 + .../snapenhance/ui/manager/MainActivity.kt | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 68c2b2e8..86673540 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -40,6 +40,7 @@ diff --git a/app/src/main/kotlin/me/rhunk/snapenhance/ui/manager/MainActivity.kt b/app/src/main/kotlin/me/rhunk/snapenhance/ui/manager/MainActivity.kt index 80547ad9..9222502f 100644 --- a/app/src/main/kotlin/me/rhunk/snapenhance/ui/manager/MainActivity.kt +++ b/app/src/main/kotlin/me/rhunk/snapenhance/ui/manager/MainActivity.kt @@ -1,23 +1,39 @@ package me.rhunk.snapenhance.ui.manager +import android.content.Intent import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.runtime.remember +import androidx.navigation.NavGraph.Companion.findStartDestination +import androidx.navigation.NavHostController import androidx.navigation.compose.rememberNavController import me.rhunk.snapenhance.SharedContextHolder import me.rhunk.snapenhance.ui.AppMaterialTheme class MainActivity : ComponentActivity() { - lateinit var sections: Map + private lateinit var sections: Map + private lateinit var navController: NavHostController override fun onPostResume() { super.onPostResume() sections.values.forEach { it.onResumed() } } + override fun onNewIntent(intent: Intent?) { + super.onNewIntent(intent) + intent?.getStringExtra("route")?.let { route -> + navController.popBackStack() + navController.navigate(route) { + popUpTo(navController.graph.findStartDestination().id){ + inclusive = true + } + } + } + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -38,7 +54,7 @@ class MainActivity : ComponentActivity() { } setContent { - val navController = rememberNavController() + navController = rememberNavController() val navigation = remember { Navigation(managerContext, sections, navController) } AppMaterialTheme { Scaffold(