Loading packages/SettingsLib/Spa/gallery/AndroidManifest.xml +2 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,8 @@ <application android:icon="@mipmap/ic_launcher" android:label="@string/app_label" android:supportsRtl="true"> android:supportsRtl="true" android:enableOnBackInvokedCallback="true"> <activity android:name=".MainActivity" android:exported="true"> Loading packages/SettingsLib/Spa/spa/build.gradle +1 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ android { } dependencies { api "androidx.appcompat:appcompat:1.6.0-rc01" api "androidx.compose.material3:material3:$jetpack_compose_material3_version" api "androidx.compose.material:material-icons-extended:$jetpack_compose_version" api "androidx.compose.runtime:runtime-livedata:$jetpack_compose_version" Loading packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/BrowseActivity.kt +18 −8 Original line number Diff line number Diff line Loading @@ -22,7 +22,10 @@ import androidx.activity.compose.setContent import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.navigation.NavGraph.Companion.findStartDestination import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController Loading Loading @@ -50,9 +53,6 @@ open class BrowseActivity( @Composable private fun MainContent() { val destination = intent?.getStringExtra(KEY_DESTINATION) ?: sppRepository.getDefaultStartPageName() val navController = rememberNavController() CompositionLocalProvider(navController.localNavController()) { NavHost(navController, ROOT_PAGE_NAME) { Loading @@ -70,9 +70,20 @@ open class BrowseActivity( } } } } if (destination.isNotEmpty()) { InitialDestinationNavigator(navController) } @Composable private fun InitialDestinationNavigator(navController: NavHostController) { val destinationNavigated = rememberSaveable { mutableStateOf(false) } if (destinationNavigated.value) return destinationNavigated.value = true LaunchedEffect(Unit) { val destination = intent?.getStringExtra(KEY_DESTINATION) ?: sppRepository.getDefaultStartPageName() if (destination.isNotEmpty()) { navController.navigate(destination) { popUpTo(navController.graph.findStartDestination().id) { inclusive = true Loading @@ -81,7 +92,6 @@ open class BrowseActivity( } } } } companion object { const val KEY_DESTINATION = "spa:SpaActivity:destination" Loading Loading
packages/SettingsLib/Spa/gallery/AndroidManifest.xml +2 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,8 @@ <application android:icon="@mipmap/ic_launcher" android:label="@string/app_label" android:supportsRtl="true"> android:supportsRtl="true" android:enableOnBackInvokedCallback="true"> <activity android:name=".MainActivity" android:exported="true"> Loading
packages/SettingsLib/Spa/spa/build.gradle +1 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ android { } dependencies { api "androidx.appcompat:appcompat:1.6.0-rc01" api "androidx.compose.material3:material3:$jetpack_compose_material3_version" api "androidx.compose.material:material-icons-extended:$jetpack_compose_version" api "androidx.compose.runtime:runtime-livedata:$jetpack_compose_version" Loading
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/BrowseActivity.kt +18 −8 Original line number Diff line number Diff line Loading @@ -22,7 +22,10 @@ import androidx.activity.compose.setContent import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.navigation.NavGraph.Companion.findStartDestination import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController Loading Loading @@ -50,9 +53,6 @@ open class BrowseActivity( @Composable private fun MainContent() { val destination = intent?.getStringExtra(KEY_DESTINATION) ?: sppRepository.getDefaultStartPageName() val navController = rememberNavController() CompositionLocalProvider(navController.localNavController()) { NavHost(navController, ROOT_PAGE_NAME) { Loading @@ -70,9 +70,20 @@ open class BrowseActivity( } } } } if (destination.isNotEmpty()) { InitialDestinationNavigator(navController) } @Composable private fun InitialDestinationNavigator(navController: NavHostController) { val destinationNavigated = rememberSaveable { mutableStateOf(false) } if (destinationNavigated.value) return destinationNavigated.value = true LaunchedEffect(Unit) { val destination = intent?.getStringExtra(KEY_DESTINATION) ?: sppRepository.getDefaultStartPageName() if (destination.isNotEmpty()) { navController.navigate(destination) { popUpTo(navController.graph.findStartDestination().id) { inclusive = true Loading @@ -81,7 +92,6 @@ open class BrowseActivity( } } } } companion object { const val KEY_DESTINATION = "spa:SpaActivity:destination" Loading