nit: combine temperatureMetrics and useFahrenheit
This commit is contained in:
parent
5e4972e93e
commit
af0d68d611
|
|
@ -1,7 +1,6 @@
|
|||
package com.example.llama.revamp.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.RowScope
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.SnackbarHost
|
||||
import androidx.compose.material3.SnackbarHostState
|
||||
|
|
@ -63,7 +62,7 @@ fun PerformanceAppScaffold(
|
|||
|
||||
// Collect performance metrics
|
||||
val memoryUsage by performanceViewModel.memoryUsage.collectAsState()
|
||||
val temperatureInfo by performanceViewModel.temperatureInfo.collectAsState()
|
||||
val temperatureInfo by performanceViewModel.temperatureMetrics.collectAsState()
|
||||
val useFahrenheit by performanceViewModel.useFahrenheitUnit.collectAsState()
|
||||
|
||||
Scaffold(
|
||||
|
|
@ -71,11 +70,9 @@ fun PerformanceAppScaffold(
|
|||
PerformanceTopBar(
|
||||
title = title,
|
||||
memoryMetrics = memoryUsage,
|
||||
temperatureMetrics = temperatureInfo,
|
||||
temperatureDisplay = if (showTemperature) Pair(temperatureInfo, useFahrenheit) else null,
|
||||
onNavigateBack = onNavigateBack,
|
||||
onMenuOpen = onMenuOpen,
|
||||
showTemperature = showTemperature,
|
||||
useFahrenheit = useFahrenheit,
|
||||
)
|
||||
},
|
||||
snackbarHost = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.example.llama.revamp.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.RowScope
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.width
|
||||
|
|
@ -10,7 +9,6 @@ import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
|||
import androidx.compose.material.icons.filled.Memory
|
||||
import androidx.compose.material.icons.filled.Menu
|
||||
import androidx.compose.material.icons.filled.SdStorage
|
||||
import androidx.compose.material.icons.filled.Storage
|
||||
import androidx.compose.material.icons.filled.Thermostat
|
||||
import androidx.compose.material.icons.filled.WarningAmber
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
|
|
@ -70,11 +68,9 @@ fun DefaultTopBar(
|
|||
fun PerformanceTopBar(
|
||||
title: String,
|
||||
memoryMetrics: MemoryMetrics,
|
||||
temperatureMetrics: TemperatureMetrics,
|
||||
temperatureDisplay: Pair<TemperatureMetrics, Boolean>?,
|
||||
onNavigateBack: (() -> Unit)? = null,
|
||||
onMenuOpen: (() -> Unit)? = null,
|
||||
showTemperature: Boolean = false,
|
||||
useFahrenheit: Boolean = false,
|
||||
) {
|
||||
TopAppBar(
|
||||
title = { Text(title) },
|
||||
|
|
@ -100,9 +96,9 @@ fun PerformanceTopBar(
|
|||
},
|
||||
actions = {
|
||||
// Temperature indicator (optional)
|
||||
if (showTemperature) {
|
||||
temperatureDisplay?.let { (temperatureMetrics, useFahrenheit) ->
|
||||
TemperatureIndicator(
|
||||
temperature = temperatureMetrics,
|
||||
temperatureMetrics = temperatureMetrics,
|
||||
useFahrenheit = useFahrenheit
|
||||
)
|
||||
|
||||
|
|
@ -174,15 +170,15 @@ fun MemoryIndicator(memoryUsage: MemoryMetrics) {
|
|||
}
|
||||
|
||||
@Composable
|
||||
fun TemperatureIndicator(temperature: TemperatureMetrics, useFahrenheit: Boolean) {
|
||||
fun TemperatureIndicator(temperatureMetrics: TemperatureMetrics, useFahrenheit: Boolean) {
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Icon(
|
||||
imageVector = when (temperature.warningLevel) {
|
||||
imageVector = when (temperatureMetrics.warningLevel) {
|
||||
TemperatureWarningLevel.HIGH -> Icons.Default.WarningAmber
|
||||
else -> Icons.Default.Thermostat
|
||||
},
|
||||
contentDescription = "Device temperature",
|
||||
tint = when (temperature.warningLevel) {
|
||||
tint = when (temperatureMetrics.warningLevel) {
|
||||
TemperatureWarningLevel.HIGH -> MaterialTheme.colorScheme.error
|
||||
TemperatureWarningLevel.MEDIUM -> MaterialTheme.colorScheme.tertiary
|
||||
else -> MaterialTheme.colorScheme.onSurface
|
||||
|
|
@ -191,12 +187,10 @@ fun TemperatureIndicator(temperature: TemperatureMetrics, useFahrenheit: Boolean
|
|||
|
||||
Spacer(modifier = Modifier.width(2.dp))
|
||||
|
||||
val tempDisplay = if (useFahrenheit) temperature.fahrenheitDisplay else temperature.celsiusDisplay
|
||||
|
||||
Text(
|
||||
text = tempDisplay,
|
||||
text = temperatureMetrics.getDisplay(useFahrenheit),
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = when (temperature.warningLevel) {
|
||||
color = when (temperatureMetrics.warningLevel) {
|
||||
TemperatureWarningLevel.HIGH -> MaterialTheme.colorScheme.error
|
||||
TemperatureWarningLevel.MEDIUM -> MaterialTheme.colorScheme.tertiary
|
||||
else -> MaterialTheme.colorScheme.onSurface
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ class PerformanceViewModel(
|
|||
val batteryInfo: StateFlow<BatteryMetrics> = _batteryInfo.asStateFlow()
|
||||
|
||||
// Temperature information
|
||||
private val _temperatureInfo = MutableStateFlow(TemperatureMetrics(0f, TemperatureWarningLevel.NORMAL))
|
||||
val temperatureInfo: StateFlow<TemperatureMetrics> = _temperatureInfo.asStateFlow()
|
||||
private val _temperatureMetrics = MutableStateFlow(TemperatureMetrics(0f, TemperatureWarningLevel.NORMAL))
|
||||
val temperatureMetrics: StateFlow<TemperatureMetrics> = _temperatureMetrics.asStateFlow()
|
||||
|
||||
// User preferences
|
||||
private val _isMonitoringEnabled = MutableStateFlow(true)
|
||||
|
|
@ -79,7 +79,7 @@ class PerformanceViewModel(
|
|||
|
||||
viewModelScope.launch {
|
||||
performanceMonitor.monitorTemperature(interval * 2).collect { metrics ->
|
||||
_temperatureInfo.value = metrics
|
||||
_temperatureMetrics.value = metrics
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue