Remove lists left around after initialisation

This commit is contained in:
Joseph Abbey
2024-01-14 14:20:27 +00:00
parent d35c6be074
commit 2cf087ed23
2 changed files with 12 additions and 17 deletions

View File

@ -32,7 +32,7 @@ class HomeAssistantApp extends Application.AppBase {
private var mHaMenu as HomeAssistantView or Null; private var mHaMenu as HomeAssistantView or Null;
private var mQuitTimer as QuitTimer or Null; private var mQuitTimer as QuitTimer or Null;
private var mTimer as Timer.Timer or Null; private var mTimer as Timer.Timer or Null;
private var mItemsToUpdate as Lang.Array<HomeAssistantToggleMenuItem> or Null; // Array initialised by onReturnFetchMenuConfig() private var mItemsToUpdate as Lang.Array<HomeAssistantToggleMenuItem or HomeAssistantTemplateMenuItem> or Null; // Array initialised by onReturnFetchMenuConfig()
private var mNextItemToUpdate as Lang.Number = 0; // Index into the above array private var mNextItemToUpdate as Lang.Number = 0; // Index into the above array
private var mIsGlance as Lang.Boolean = false; private var mIsGlance as Lang.Boolean = false;
private var mIsApp as Lang.Boolean = false; // Or Widget private var mIsApp as Lang.Boolean = false; // Or Widget

View File

@ -25,9 +25,6 @@ using Toybox.System;
using Toybox.WatchUi; using Toybox.WatchUi;
class HomeAssistantView extends WatchUi.Menu2 { class HomeAssistantView extends WatchUi.Menu2 {
// List of items that need to have their status updated periodically
private var mListToggleItems = [];
private var mListMenuItems = [];
function initialize( function initialize(
definition as Lang.Dictionary, definition as Lang.Dictionary,
@ -65,36 +62,34 @@ class HomeAssistantView extends WatchUi.Menu2 {
} }
if (type != null && name != null) { if (type != null && name != null) {
if (type.equals("toggle") && entity != null) { if (type.equals("toggle") && entity != null) {
var item = HomeAssistantMenuItemFactory.create().toggle(name, entity); addItem(HomeAssistantMenuItemFactory.create().toggle(name, entity));
addItem(item);
mListToggleItems.add(item);
} else if (type.equals("template") && content != null) { } else if (type.equals("template") && content != null) {
var item = HomeAssistantMenuItemFactory.create().template(name, entity, content, service, confirm); addItem(HomeAssistantMenuItemFactory.create().template(name, entity, content, service, confirm));
addItem(item);
mListToggleItems.add(item);
} else if (type.equals("tap") && entity != null && service != null) { } else if (type.equals("tap") && entity != null && service != null) {
addItem(HomeAssistantMenuItemFactory.create().tap(name, entity, service, confirm)); addItem(HomeAssistantMenuItemFactory.create().tap(name, entity, service, confirm));
} else if (type.equals("group")) { } else if (type.equals("group")) {
var item = HomeAssistantMenuItemFactory.create().group(items[i]); addItem(HomeAssistantMenuItemFactory.create().group(items[i]));
addItem(item);
mListMenuItems.add(item);
} }
} }
} }
} }
function getItemsToUpdate() as Lang.Array<HomeAssistantToggleMenuItem> { function getItemsToUpdate() as Lang.Array<HomeAssistantToggleMenuItem or HomeAssistantTemplateMenuItem> {
var fullList = []; var fullList = [];
var lmi = mListMenuItems as Lang.Array<WatchUi.MenuItem>; var lmi = mItems as Lang.Array<WatchUi.MenuItem>;
for(var i = 0; i < mListMenuItems.size(); i++) { for(var i = 0; i < mItems.size(); i++) {
var item = lmi[i]; var item = lmi[i];
if (item instanceof HomeAssistantViewMenuItem) { if (item instanceof HomeAssistantViewMenuItem) {
fullList.addAll(item.getMenuView().getItemsToUpdate()); fullList.addAll(item.getMenuView().getItemsToUpdate());
} else if (item instanceof HomeAssistantToggleMenuItem) {
fullList.add(item);
} else if (item instanceof HomeAssistantTemplateMenuItem) {
fullList.add(item);
} }
} }
return fullList.addAll(mListToggleItems); return fullList;
} }
// Called when this View is brought to the foreground. Restore // Called when this View is brought to the foreground. Restore