android: fix system navigation bar overlapping call control buttons during call (#6885)

The active-call action button row (mute, speaker, hang up, flip/toggle camera)
was rendered with only a fixed 20.dp bottom padding. Under edge-to-edge layout
on devices with 3-button navigation, the system nav bar (~48.dp) drew on top
of these buttons, hiding part of them.

Add `.navigationBarsPadding()` to the BoxWithConstraints holding the buttons
so the row floats above the system nav bar inset. No effect on devices using
gesture nav (the inset there is small enough to not collide).
This commit is contained in:
Narasimha-sc
2026-04-29 07:05:45 +00:00
committed by GitHub
parent aac6dfe0d5
commit b13711ddbc
@@ -394,7 +394,7 @@ private fun ActiveCallOverlayLayout(
DisabledBackgroundCallsButton()
}
BoxWithConstraints(Modifier.padding(start = 6.dp, end = 6.dp, bottom = DEFAULT_PADDING).align(Alignment.CenterHorizontally)) {
BoxWithConstraints(Modifier.navigationBarsPadding().padding(start = 6.dp, end = 6.dp, bottom = DEFAULT_PADDING).align(Alignment.CenterHorizontally)) {
val size = ((maxWidth - DEFAULT_PADDING_HALF * 4) / 5).coerceIn(0.dp, 60.dp)
// limiting max width for tablets/wide screens, will be displayed in the center
val padding = ((min(420.dp, maxWidth) - size * 5) / 4).coerceAtLeast(0.dp)