fix: main activity single task

This commit is contained in:
rhunk
2023-08-22 01:06:53 +02:00
parent ba2e4617d5
commit 68d8e0e9c4
2 changed files with 19 additions and 2 deletions

View File

@@ -40,6 +40,7 @@
<activity
android:name=".ui.manager.MainActivity"
android:theme="@style/AppTheme"
android:launchMode="singleTask"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

View File

@@ -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<EnumSection, Section>
private lateinit var sections: Map<EnumSection, Section>
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(