Moves the starting navigation to outside the compose element.

This commit is contained in:
Vitor Pamplona 2023-07-24 15:36:40 -04:00
parent fa79ddc573
commit bfe1e78e57

View File

@ -17,10 +17,7 @@ import androidx.appcompat.app.AppCompatDelegate
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface import androidx.compose.material.Surface
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.core.os.LocaleListCompat import androidx.core.os.LocaleListCompat
@ -64,9 +61,6 @@ class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
val uri = intent?.data?.toString()
val startingPage = uriToRoute(uri)
LocalPreferences.migrateSingleUserPrefs() LocalPreferences.migrateSingleUserPrefs()
val language = LocalPreferences.getPreferredLanguage() val language = LocalPreferences.getPreferredLanguage()
if (language.isNotBlank()) { if (language.isNotBlank()) {
@ -89,14 +83,6 @@ class MainActivity : AppCompatActivity() {
AccountScreen(accountStateViewModel, themeViewModel, navController) AccountScreen(accountStateViewModel, themeViewModel, navController)
} }
} }
var actionableNextPage by remember { mutableStateOf(startingPage) }
actionableNextPage?.let {
LaunchedEffect(it) {
navController.navigate(it)
}
actionableNextPage = null
}
} }
val networkRequest = NetworkRequest.Builder() val networkRequest = NetworkRequest.Builder()
@ -109,6 +95,12 @@ class MainActivity : AppCompatActivity() {
connectivityManager.requestNetwork(networkRequest, networkCallback) connectivityManager.requestNetwork(networkRequest, networkCallback)
Client.lenient = true Client.lenient = true
val uri = intent?.data?.toString()
val startingPage = uriToRoute(uri)
if (startingPage != null) {
navController.navigate(startingPage)
}
} }
@OptIn(DelicateCoroutinesApi::class) @OptIn(DelicateCoroutinesApi::class)