Respect card opacity in search background

This commit is contained in:
MM20 2024-06-14 13:07:30 +02:00
parent 991f0c88d8
commit 892e4971a3
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
3 changed files with 23 additions and 5 deletions

View File

@ -1,6 +1,7 @@
package de.mm20.launcher2.ui.assistant package de.mm20.launcher2.ui.assistant
import androidx.compose.animation.core.animateDpAsState import androidx.compose.animation.core.animateDpAsState
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.grid.rememberLazyGridState import androidx.compose.foundation.lazy.grid.rememberLazyGridState
import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.lazy.rememberLazyListState
@ -26,6 +27,7 @@ import de.mm20.launcher2.ui.launcher.gestures.LauncherGestureHandler
import de.mm20.launcher2.ui.launcher.search.SearchColumn import de.mm20.launcher2.ui.launcher.search.SearchColumn
import de.mm20.launcher2.ui.launcher.search.SearchVM import de.mm20.launcher2.ui.launcher.search.SearchVM
import de.mm20.launcher2.ui.launcher.searchbar.LauncherSearchBar import de.mm20.launcher2.ui.launcher.searchbar.LauncherSearchBar
import de.mm20.launcher2.ui.locals.LocalCardStyle
import de.mm20.launcher2.ui.locals.LocalDarkTheme import de.mm20.launcher2.ui.locals.LocalDarkTheme
import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
@ -162,9 +164,13 @@ fun AssistantScaffold(
if (actions.isEmpty()) 0.dp else 48.dp if (actions.isEmpty()) 0.dp else 48.dp
) )
val windowInsets = WindowInsets.safeDrawing.asPaddingValues() val windowInsets = WindowInsets.safeDrawing.asPaddingValues()
val cardStyle = LocalCardStyle.current
Box( Box(
modifier = modifier modifier = modifier
.fillMaxSize() .fillMaxSize()
.background(
MaterialTheme.colorScheme.surfaceContainer.copy(alpha = 0.85f * cardStyle.opacity)
)
.nestedScroll(nestedScrollConnection) .nestedScroll(nestedScrollConnection)
) { ) {
SearchColumn( SearchColumn(

View File

@ -30,7 +30,6 @@ import androidx.compose.foundation.layout.requiredWidth
import androidx.compose.foundation.layout.safeDrawing import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.foundation.layout.systemBarsPadding import androidx.compose.foundation.layout.systemBarsPadding
import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.lazy.grid.rememberLazyGridState
import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.PagerDefaults import androidx.compose.foundation.pager.PagerDefaults
@ -75,7 +74,6 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.platform.LocalHapticFeedback
import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.platform.LocalViewConfiguration import androidx.compose.ui.platform.LocalViewConfiguration
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.IntOffset
@ -98,6 +96,7 @@ import de.mm20.launcher2.ui.launcher.search.SearchVM
import de.mm20.launcher2.ui.launcher.searchbar.LauncherSearchBar import de.mm20.launcher2.ui.launcher.searchbar.LauncherSearchBar
import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn
import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget
import de.mm20.launcher2.ui.locals.LocalCardStyle
import de.mm20.launcher2.ui.locals.LocalDarkTheme import de.mm20.launcher2.ui.locals.LocalDarkTheme
import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -196,7 +195,13 @@ fun PagerScaffold(
val colorSurface = MaterialTheme.colorScheme.surface val colorSurface = MaterialTheme.colorScheme.surface
val isDarkTheme = LocalDarkTheme.current val isDarkTheme = LocalDarkTheme.current
LaunchedEffect(isWidgetEditMode, darkStatusBarIcons, colorSurface, showStatusBarScrim, isSearchOpen) { LaunchedEffect(
isWidgetEditMode,
darkStatusBarIcons,
colorSurface,
showStatusBarScrim,
isSearchOpen
) {
if (isWidgetEditMode) { if (isWidgetEditMode) {
systemUiController.setStatusBarColor( systemUiController.setStatusBarColor(
colorSurface colorSurface
@ -403,13 +408,18 @@ fun PagerScaffold(
val minFlingVelocity = 1000.dp.toPixels() val minFlingVelocity = 1000.dp.toPixels()
val colorSurfaceContainer = MaterialTheme.colorScheme.surfaceContainer val colorSurfaceContainer = MaterialTheme.colorScheme.surfaceContainer
val cardStyle = LocalCardStyle.current
HorizontalPager( HorizontalPager(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.drawBehind { .drawBehind {
drawRect( drawRect(
color = colorSurfaceContainer.copy(alpha = -pagerState.getOffsetDistanceInPages(0) * 0.85f), color = colorSurfaceContainer.copy(
alpha = -pagerState.getOffsetDistanceInPages(
0
) * 0.85f * cardStyle.opacity
),
) )
} }
.nestedScroll(pagerNestedScrollConnection), .nestedScroll(pagerNestedScrollConnection),

View File

@ -83,6 +83,7 @@ import de.mm20.launcher2.ui.launcher.search.SearchVM
import de.mm20.launcher2.ui.launcher.searchbar.LauncherSearchBar import de.mm20.launcher2.ui.launcher.searchbar.LauncherSearchBar
import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn
import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget
import de.mm20.launcher2.ui.locals.LocalCardStyle
import de.mm20.launcher2.ui.locals.LocalDarkTheme import de.mm20.launcher2.ui.locals.LocalDarkTheme
import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -387,11 +388,12 @@ fun PullDownScaffold(
val insets = WindowInsets.safeDrawing.asPaddingValues() val insets = WindowInsets.safeDrawing.asPaddingValues()
val colorSurfaceContainer = MaterialTheme.colorScheme.surfaceContainer val colorSurfaceContainer = MaterialTheme.colorScheme.surfaceContainer
val cardStyle = LocalCardStyle.current
Box( Box(
modifier = modifier modifier = modifier
.drawBehind { .drawBehind {
drawRect( drawRect(
color = colorSurfaceContainer.copy(alpha = -pagerState.getOffsetDistanceInPages(0) * 0.85f), color = colorSurfaceContainer.copy(alpha = -pagerState.getOffsetDistanceInPages(0) * 0.85f * cardStyle.opacity),
) )
} }
.pointerInput(Unit) { .pointerInput(Unit) {