android: update haze uses

This commit is contained in:
Kavish Devar
2025-05-11 19:38:55 +05:30
parent 364a6f4b64
commit 9baa3c9b60
2 changed files with 30 additions and 42 deletions

View File

@@ -78,9 +78,11 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import androidx.navigation.NavController import androidx.navigation.NavController
import androidx.navigation.compose.rememberNavController import androidx.navigation.compose.rememberNavController
import dev.chrisbanes.haze.HazeEffectScope
import dev.chrisbanes.haze.HazeState import dev.chrisbanes.haze.HazeState
import dev.chrisbanes.haze.haze import dev.chrisbanes.haze.haze
import dev.chrisbanes.haze.hazeChild import dev.chrisbanes.haze.hazeEffect
import dev.chrisbanes.haze.hazeSource
import dev.chrisbanes.haze.materials.CupertinoMaterials import dev.chrisbanes.haze.materials.CupertinoMaterials
import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -232,14 +234,13 @@ fun AirPodsSettingsScreen(dev: BluetoothDevice?, service: AirPodsService,
) )
}, },
modifier = Modifier modifier = Modifier
.hazeChild( .hazeEffect(
state = hazeState, state = hazeState,
style = CupertinoMaterials.thick(), style = CupertinoMaterials.thick(),
block = { block = fun HazeEffectScope.() {
alpha = alpha =
if (verticalScrollState.value > 60.dp.value * mDensity.floatValue) 1f else 0f if (verticalScrollState.value > 60.dp.value * mDensity.floatValue) 1f else 0f
} })
)
.drawBehind { .drawBehind {
mDensity.floatValue = density mDensity.floatValue = density
val strokeWidth = 0.7.dp.value * density val strokeWidth = 0.7.dp.value * density
@@ -295,7 +296,7 @@ fun AirPodsSettingsScreen(dev: BluetoothDevice?, service: AirPodsService,
if (isLocallyConnected || isRemotelyConnected) { if (isLocallyConnected || isRemotelyConnected) {
Column( Column(
modifier = Modifier modifier = Modifier
.haze(hazeState) .hazeSource(hazeState)
.fillMaxSize() .fillMaxSize()
.padding(horizontal = 16.dp) .padding(horizontal = 16.dp)
.verticalScroll( .verticalScroll(

View File

@@ -40,6 +40,7 @@ import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.navigationBarsPadding
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.width import androidx.compose.foundation.layout.width
@@ -49,6 +50,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.KeyboardArrowLeft import androidx.compose.material.icons.automirrored.filled.KeyboardArrowLeft
import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
import androidx.compose.material.icons.filled.Check
import androidx.compose.material.icons.filled.Delete import androidx.compose.material.icons.filled.Delete
import androidx.compose.material.icons.filled.MoreVert import androidx.compose.material.icons.filled.MoreVert
import androidx.compose.material.icons.filled.Send import androidx.compose.material.icons.filled.Send
@@ -89,33 +91,18 @@ import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import androidx.navigation.NavController import androidx.navigation.NavController
import dev.chrisbanes.haze.HazeEffectScope
import dev.chrisbanes.haze.HazeState import dev.chrisbanes.haze.HazeState
import dev.chrisbanes.haze.haze import dev.chrisbanes.haze.hazeEffect
import dev.chrisbanes.haze.hazeChild import dev.chrisbanes.haze.hazeSource
import dev.chrisbanes.haze.materials.CupertinoMaterials import dev.chrisbanes.haze.materials.CupertinoMaterials
import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.CoroutineScope
import me.kavishdevar.librepods.R import me.kavishdevar.librepods.R
import me.kavishdevar.librepods.services.ServiceManager import me.kavishdevar.librepods.services.ServiceManager
import me.kavishdevar.librepods.utils.BatteryStatus import me.kavishdevar.librepods.utils.BatteryStatus
import me.kavishdevar.librepods.utils.isHeadTrackingData import me.kavishdevar.librepods.utils.isHeadTrackingData
import me.kavishdevar.librepods.composables.StyledSwitch
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.imePadding
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.layout.positionInRoot
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.gestures.detectDragGestures
import androidx.compose.material.icons.filled.Check
import androidx.compose.ui.input.pointer.PointerInputChange
data class PacketInfo( data class PacketInfo(
val type: String, val type: String,
@@ -487,13 +474,12 @@ fun DebugScreen(navController: NavController) {
} }
} }
}, },
modifier = Modifier.hazeChild( modifier = Modifier.hazeEffect(
state = hazeState, state = hazeState,
style = CupertinoMaterials.thick(), style = CupertinoMaterials.thick(),
block = { block = fun HazeEffectScope.() {
alpha = if (scrollOffset > 0) 1f else 0f alpha = if (scrollOffset > 0) 1f else 0f
} }),
),
colors = TopAppBarDefaults.topAppBarColors(containerColor = Color.Transparent), colors = TopAppBarDefaults.topAppBarColors(containerColor = Color.Transparent),
) )
}, },
@@ -502,7 +488,7 @@ fun DebugScreen(navController: NavController) {
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.haze(hazeState) .hazeSource(hazeState)
.padding(top = paddingValues.calculateTopPadding()) .padding(top = paddingValues.calculateTopPadding())
.navigationBarsPadding() .navigationBarsPadding()
) { ) {
@@ -643,6 +629,7 @@ fun DebugScreen(navController: NavController) {
scrollOffset = 0 scrollOffset = 0
) )
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace()
listState.scrollToItem( listState.scrollToItem(
index = (packetLogs.size - 1).coerceAtLeast(0) index = (packetLogs.size - 1).coerceAtLeast(0)
) )