Prevent scaffold from being used if we do not have flag enabled.

This commit is contained in:
Alex Hart
2025-04-10 10:00:58 -03:00
parent 40b9a60f6c
commit f1ed2156e3

View File

@@ -84,11 +84,20 @@ enum class WindowSizeClass(
return getSizeClassForOrientationAndSystemSizeClass(orientation, windowSizeClass)
}
fun isForcedCompact(): Boolean {
return !RemoteConfig.largeScreenUi
}
@Composable
fun rememberWindowSizeClass(): WindowSizeClass {
fun checkForcedCompact(): Boolean {
return !LocalInspectionMode.current && isForcedCompact()
}
@Composable
fun rememberWindowSizeClass(forceCompact: Boolean = checkForcedCompact()): WindowSizeClass {
val orientation = LocalConfiguration.current.orientation
if (!LocalInspectionMode.current && !RemoteConfig.largeScreenUi) {
if (forceCompact) {
return getCompactSizeClassForOrientation(orientation)
}
@@ -149,8 +158,20 @@ fun AppScaffold(
bottomNavContent: @Composable () -> Unit = {},
listContent: @Composable () -> Unit
) {
val isForcedCompact = WindowSizeClass.checkForcedCompact()
val windowSizeClass = WindowSizeClass.rememberWindowSizeClass()
if (isForcedCompact) {
ListAndNavigation(
listContent = listContent,
navRailContent = navRailContent,
bottomNavContent = bottomNavContent,
windowSizeClass = windowSizeClass
)
return
}
if (windowSizeClass.isMedium()) {
Row {
Box(modifier = Modifier.weight(1f)) {