simplify delegate, toggle switch for empty response body

This commit is contained in:
Vincent Elger Zwanenburg
2025-07-11 22:44:26 +01:00
parent b45f02ef7b
commit ac899ff784
4 changed files with 17 additions and 32 deletions

View File

@ -218,12 +218,19 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
//! @param data An array of dictionaries, each representing a Home Assistant entity state.
//
function setToggleStateWithData(data as Lang.Array) {
for(var i = 0; i < data.size(); i++) {
if ((data[i].get("entity_id") as Lang.String).equals(mData.get("entity_id"))) {
var state = data[i].get("state") as Lang.String;
// System.println((d[i].get("attributes") as Lang.Dictionary).get("friendly_name") + " State=" + state);
setUiToggle(state);
WatchUi.requestUpdate();
// if there's no response body, let's assume that what we did, happened, and flip the toggle
if (data.size() == 0) {
setEnabled(!isEnabled());
}
else {
for(var i = 0; i < data.size(); i++) {
if ((data[i].get("entity_id") as Lang.String).equals(mData.get("entity_id"))) {
var state = data[i].get("state") as Lang.String;
// System.println((d[i].get("attributes") as Lang.Dictionary).get("friendly_name") + " State=" + state);
setUiToggle(state);
WatchUi.requestUpdate();
}
}
}
}
@ -268,9 +275,6 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
:data => mData,
:callback => method(:setToggleStateWithData),
:exit => mExit,
}, {
:confirmMethod => method(:onConfirm),
:state => !isEnabled(),
}),
WatchUi.SLIDE_LEFT
);