@@ -15,6 +15,7 @@ import androidx.compose.material3.Text
1515import androidx.compose.runtime.Composable
1616import androidx.compose.runtime.CompositionLocalProvider
1717import androidx.compose.runtime.getValue
18+ import androidx.compose.runtime.livedata.observeAsState
1819import androidx.compose.runtime.remember
1920import androidx.compose.ui.Modifier
2021import androidx.compose.ui.res.stringResource
@@ -24,6 +25,7 @@ import com.google.accompanist.navigation.animation.rememberAnimatedNavController
2425import com.ramcosta.composedestinations.DestinationsNavHost
2526import com.ramcosta.composedestinations.navigation.popBackStack
2627import com.ramcosta.composedestinations.utils.isRouteOnBackStackAsState
28+ import me.bmax.apatch.APApplication
2729import me.bmax.apatch.ui.component.rememberDialogHostState
2830import me.bmax.apatch.ui.screen.BottomBarDestination
2931import me.bmax.apatch.ui.screen.NavGraphs
@@ -64,6 +66,14 @@ class MainActivity : AppCompatActivity() {
6466private fun BottomBar (navController : NavHostController ) {
6567 NavigationBar (tonalElevation = 8 .dp) {
6668 BottomBarDestination .values().forEach { destination ->
69+ val state by APApplication .apStateLiveData.observeAsState(APApplication .State .UNKNOWN_STATE )
70+ val kPatchReady = ! state.equals(APApplication .State .UNKNOWN_STATE )
71+ val aPatchReady = (state.equals(APApplication .State .ANDROIDPATCH_INSTALLING ) ||
72+ state.equals(APApplication .State .ANDROIDPATCH_INSTALLED ) ||
73+ state.equals(APApplication .State .ANDROIDPATCH_NEED_UPDATE ))
74+ val hideDestination = (destination.kPatchRequired && ! kPatchReady) ||
75+ (destination.aPatchRequired && ! aPatchReady)
76+ if (hideDestination) return @forEach
6777 val isCurrentDestOnBackStack by navController.isRouteOnBackStackAsState(destination.direction)
6878 NavigationBarItem (
6979 selected = isCurrentDestOnBackStack,
0 commit comments