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 mQuitTimer as QuitTimer 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 mIsGlance as Lang.Boolean = false;
private var mIsApp as Lang.Boolean = false; // Or Widget

View File

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