From 0dfdb3e7c95b75ae130ee993c4a6df27a2e1e4c0 Mon Sep 17 00:00:00 2001 From: Old_cucumber Date: Sun, 5 May 2024 16:18:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E5=8A=A0=E6=B9=BF?= =?UTF-8?q?=E5=99=A8=E7=9A=84=E6=8C=89=E9=92=AE=E8=A7=86=E5=9B=BE=EF=BC=8C?= =?UTF-8?q?=E5=B1=8F=E8=94=BD=E4=BA=86=E6=9A=82=E6=97=B6=E4=B8=8D=E5=8F=AF?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E6=81=92=E6=B9=BF=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/github/miwu/miot/InitSpecAtt.kt | 2 ++ .../com/github/miwu/miot/widget/HumidifierBar.kt | 14 +++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/miwu/miot/InitSpecAtt.kt b/app/src/main/java/com/github/miwu/miot/InitSpecAtt.kt index f937546..76de192 100644 --- a/app/src/main/java/com/github/miwu/miot/InitSpecAtt.kt +++ b/app/src/main/java/com/github/miwu/miot/InitSpecAtt.kt @@ -50,6 +50,8 @@ fun initSpecAttFun( "fan" -> Fan(device, layout, manager) + "Humidifier" -> Humidifier(device, layout, manager) + "control-panel" -> ControlPanel(device, layout, manager) else -> { diff --git a/app/src/main/java/com/github/miwu/miot/widget/HumidifierBar.kt b/app/src/main/java/com/github/miwu/miot/widget/HumidifierBar.kt index e25ff62..49dc9ac 100644 --- a/app/src/main/java/com/github/miwu/miot/widget/HumidifierBar.kt +++ b/app/src/main/java/com/github/miwu/miot/widget/HumidifierBar.kt @@ -16,12 +16,14 @@ class HumidifierBar(context: Context) : MiotBaseWidget(context) { field = value refreshOn(value) } + + private val levelList get() = getProperty("fan-level").valueList!! + private var level = 1 set(value) { field = value setLevelDebug(value) } - private val levelList = getProperty("fan-level").valueList!! override fun init() { @@ -37,6 +39,16 @@ class HumidifierBar(context: Context) : MiotBaseWidget(context) { } else { index++ } + + // 如果当前索引对应的元素的值为 4,则再增加一次索引,跳过该元素 + if (index < levelList.size && levelList[index].value == 4) { + index++ + } + // 如果索引超出了列表范围,则重置为 0 + if (index >= levelList.size) { + index = 0 + }//该段为暂时屏蔽没有用的恒湿模式使用,后续如果上线恒湿可以删掉 + val obj = getPropertyWithSiid("fan-level") this.level = levelList[index].value putValue(level, obj.first, obj.second.iid)