docs: Task 12 睡眠区块去掉恒真判空(ledger R33)
This commit is contained in:
@@ -4288,8 +4288,13 @@ private fun SleepStagesCard(points: List<MetricPoint>, modifier: Modifier = Modi
|
||||
// 这里改成以最后一个数据点为起床时刻、往前推 8 小时作为入睡时刻 —— 一张卡片讲「一晚」。
|
||||
// M3 接入真实睡眠数据后改为读取实际分期时段。
|
||||
val wakeUp = points.lastOrNull()?.timestamp
|
||||
val fallAsleep = wakeUp?.minus(DEMO_SLEEP_WINDOW_MILLIS)
|
||||
if (fallAsleep != null && wakeUp != null) {
|
||||
if (wakeUp != null) {
|
||||
// 只有拿到起床时刻才渲染这一行;入睡时刻由它推出,所以判空只需判 wakeUp。
|
||||
// 原稿写的是 `if (fallAsleep != null && wakeUp != null)`,其中 `wakeUp != null`
|
||||
// 恒真(fallAsleep 由 wakeUp 推出),Kotlin 会报 "Condition is always 'true'" 告警
|
||||
// (ledger Ruling R33)。语义与上式完全等价:wakeUp 为 null 时两者皆 null,跳过;
|
||||
// 否则 fallAsleep 必然非空,渲染。
|
||||
val fallAsleep = wakeUp - DEMO_SLEEP_WINDOW_MILLIS
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth().padding(top = 12.dp),
|
||||
horizontalArrangement = Arrangement.SpaceBetween,
|
||||
|
||||
Reference in New Issue
Block a user