mirror of
https://github.com/house-of-abbey/GarminHomeAssistant.git
synced 2025-05-04 14:42:34 +00:00
Remove lists left around after initialisation
This commit is contained in:
@ -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
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user