Fix medium sized devices using bar navigation instead of rail navigation.

This commit is contained in:
jeffrey-signal
2026-06-02 10:35:36 -04:00
committed by Alex Hart
parent c2f8261419
commit b02210c166
10 changed files with 66 additions and 54 deletions
@@ -16,6 +16,7 @@ import androidx.compose.ui.platform.LocalResources
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.window.core.layout.WindowSizeClass
import org.signal.core.ui.WindowBreakpoint
import org.signal.core.ui.getWindowBreakpoint
import org.signal.core.ui.rememberIsSplitPane
@@ -78,7 +79,7 @@ data class MainContentLayoutData(
val isSplitPane = resources.rememberIsSplitPane()
return remember(windowSizeClass, mode, breakpoint, isSplitPane) {
val isLargeWindowSize = breakpoint.isLargeWindow
val isLargeWindowSize = breakpoint is WindowBreakpoint.Large
MainContentLayoutData(
shape = when {
@@ -81,8 +81,9 @@ enum class NavigationType {
val windowBreakpoint = remember(config) { resources.getWindowBreakpoint() }
return when (windowBreakpoint) {
WindowBreakpoint.SMALL, WindowBreakpoint.MEDIUM -> BAR
WindowBreakpoint.LARGE_WIDTH, WindowBreakpoint.LARGE_HEIGHT -> RAIL
is WindowBreakpoint.Small -> BAR
is WindowBreakpoint.Medium -> if (windowBreakpoint.isWidthExpanded) RAIL else BAR
is WindowBreakpoint.Large -> RAIL
}
}
}