mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-21 03:28:47 +00:00
Remove excess bottom padding in landscape when using gesture navigation.
This commit is contained in:
committed by
Michelle Tang
parent
c8e0ba8194
commit
6bf2efd96c
@@ -31,11 +31,17 @@ import androidx.compose.foundation.layout.BoxWithConstraintsScope
|
|||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.WindowInsets
|
import androidx.compose.foundation.layout.WindowInsets
|
||||||
|
import androidx.compose.foundation.layout.WindowInsetsSides
|
||||||
|
import androidx.compose.foundation.layout.add
|
||||||
|
import androidx.compose.foundation.layout.displayCutout
|
||||||
import androidx.compose.foundation.layout.displayCutoutPadding
|
import androidx.compose.foundation.layout.displayCutoutPadding
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
|
import androidx.compose.foundation.layout.navigationBars
|
||||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||||
|
import androidx.compose.foundation.layout.only
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.systemBarsPadding
|
import androidx.compose.foundation.layout.systemBarsPadding
|
||||||
|
import androidx.compose.foundation.layout.windowInsetsPadding
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.SnackbarDuration
|
import androidx.compose.material3.SnackbarDuration
|
||||||
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
|
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
|
||||||
@@ -719,12 +725,19 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner
|
|||||||
SignalTheme.colors.colorSurface1
|
SignalTheme.colors.colorSurface1
|
||||||
}
|
}
|
||||||
|
|
||||||
val modifier = if (windowSizeClass.isSplitPane()) {
|
val modifier = when {
|
||||||
|
windowSizeClass.isSplitPane() -> {
|
||||||
Modifier
|
Modifier
|
||||||
.systemBarsPadding()
|
.systemBarsPadding()
|
||||||
.displayCutoutPadding()
|
.displayCutoutPadding()
|
||||||
} else {
|
}
|
||||||
|
|
||||||
|
else ->
|
||||||
Modifier
|
Modifier
|
||||||
|
.windowInsetsPadding(
|
||||||
|
WindowInsets.navigationBars.only(WindowInsetsSides.Horizontal)
|
||||||
|
.add(WindowInsets.displayCutout.only(WindowInsetsSides.Horizontal))
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
BoxWithConstraints(
|
BoxWithConstraints(
|
||||||
|
|||||||
@@ -13,14 +13,13 @@ import androidx.compose.foundation.layout.Box
|
|||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.WindowInsets
|
import androidx.compose.foundation.layout.WindowInsets
|
||||||
import androidx.compose.foundation.layout.consumeWindowInsets
|
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
|
import androidx.compose.foundation.layout.systemBars
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
|
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
|
||||||
import androidx.compose.material3.Scaffold
|
import androidx.compose.material3.Scaffold
|
||||||
import androidx.compose.material3.ScaffoldDefaults
|
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
|
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
|
||||||
import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo
|
import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo
|
||||||
@@ -102,11 +101,10 @@ fun AppScaffold(
|
|||||||
paneExpansionState: PaneExpansionState = rememberPaneExpansionState(),
|
paneExpansionState: PaneExpansionState = rememberPaneExpansionState(),
|
||||||
paneExpansionDragHandle: (@Composable ThreePaneScaffoldScope.(PaneExpansionState) -> Unit)? = null,
|
paneExpansionDragHandle: (@Composable ThreePaneScaffoldScope.(PaneExpansionState) -> Unit)? = null,
|
||||||
snackbarHost: @Composable () -> Unit = {},
|
snackbarHost: @Composable () -> Unit = {},
|
||||||
contentWindowInsets: WindowInsets = ScaffoldDefaults.contentWindowInsets,
|
contentWindowInsets: WindowInsets = WindowInsets.systemBars,
|
||||||
animatorFactory: AppScaffoldAnimationStateFactory = AppScaffoldAnimationStateFactory.Default
|
animatorFactory: AppScaffoldAnimationStateFactory = AppScaffoldAnimationStateFactory.Default
|
||||||
) {
|
) {
|
||||||
val isForcedCompact = !LocalInspectionMode.current && !isLargeScreenSupportEnabled()
|
val isForcedCompact = !LocalInspectionMode.current && !isLargeScreenSupportEnabled()
|
||||||
val windowSizeClass = currentWindowAdaptiveInfo().windowSizeClass
|
|
||||||
|
|
||||||
if (isForcedCompact) {
|
if (isForcedCompact) {
|
||||||
ListAndNavigation(
|
ListAndNavigation(
|
||||||
@@ -229,9 +227,7 @@ fun AppScaffold(
|
|||||||
},
|
},
|
||||||
paneExpansionDragHandle = paneExpansionDragHandle,
|
paneExpansionDragHandle = paneExpansionDragHandle,
|
||||||
paneExpansionState = paneExpansionState,
|
paneExpansionState = paneExpansionState,
|
||||||
modifier = Modifier
|
modifier = Modifier.padding(paddingValues)
|
||||||
.padding(paddingValues)
|
|
||||||
.consumeWindowInsets(contentWindowInsets)
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user