mirror of
https://github.com/home-assistant/android
synced 2024-10-01 13:53:53 +00:00
Show sensor state in secondary label in Wear OS sensor UI (#3959)
* Show sensor state in secondary label in Wear OS sensor UI * Review comments * Remove runBlocking in previews and invert label check to match phone
This commit is contained in:
parent
cda25479d6
commit
e10ec793d4
|
@ -21,6 +21,7 @@ import io.homeassistant.companion.android.database.sensor.Sensor
|
|||
import io.homeassistant.companion.android.theme.getToggleButtonColors
|
||||
import io.homeassistant.companion.android.util.ToggleSwitch
|
||||
import io.homeassistant.companion.android.util.batterySensorManager
|
||||
import io.homeassistant.companion.android.views.ThemeLazyColumn
|
||||
import kotlinx.coroutines.runBlocking
|
||||
|
||||
@SuppressLint("InlinedApi")
|
||||
|
@ -85,6 +86,13 @@ fun SensorUi(
|
|||
overflow = TextOverflow.Ellipsis
|
||||
)
|
||||
},
|
||||
secondaryLabel = {
|
||||
if (sensor?.enabled == true) {
|
||||
sensor.state.let {
|
||||
Text(if (basicSensor.unitOfMeasurement.isNullOrBlank() || sensor.state.toDoubleOrNull() == null) it else "$it ${sensor.unitOfMeasurement}")
|
||||
}
|
||||
}
|
||||
},
|
||||
selectionControl = { ToggleSwitch(isChecked) },
|
||||
colors = getToggleButtonColors()
|
||||
)
|
||||
|
@ -94,11 +102,43 @@ fun SensorUi(
|
|||
@Composable
|
||||
private fun PreviewSensorUI() {
|
||||
val context = LocalContext.current
|
||||
val batterySensors = runBlocking { batterySensorManager.getAvailableSensors(context) }
|
||||
CompositionLocalProvider {
|
||||
SensorUi(
|
||||
sensor = null,
|
||||
manager = batterySensorManager,
|
||||
basicSensor = runBlocking { batterySensorManager.getAvailableSensors(context).first() }
|
||||
) { _, _ -> }
|
||||
ThemeLazyColumn {
|
||||
item {
|
||||
SensorUi(
|
||||
sensor = Sensor(
|
||||
"battery_level",
|
||||
0,
|
||||
true,
|
||||
state = "80",
|
||||
unitOfMeasurement = "%"
|
||||
),
|
||||
manager = batterySensorManager,
|
||||
basicSensor = batterySensors.first { it.id == "battery_level" }
|
||||
) { _, _ -> }
|
||||
}
|
||||
|
||||
item {
|
||||
SensorUi(
|
||||
sensor = Sensor(
|
||||
"is_charging",
|
||||
0,
|
||||
true,
|
||||
state = "true"
|
||||
),
|
||||
manager = batterySensorManager,
|
||||
basicSensor = batterySensors.first { it.id == "is_charging" }
|
||||
) { _, _ -> }
|
||||
}
|
||||
|
||||
item {
|
||||
SensorUi(
|
||||
sensor = null,
|
||||
manager = batterySensorManager,
|
||||
basicSensor = batterySensors.first { it.id == "battery_power" }
|
||||
) { _, _ -> }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue