Initial solution

For optional confirmation dialogue box.
This commit is contained in:
Philip Abbey
2023-12-01 09:15:59 +00:00
parent 3fe48be756
commit 0ab9cb800a
41 changed files with 148 additions and 21 deletions

View File

@ -21,17 +21,18 @@
using Toybox.Lang;
using Toybox.WatchUi;
using Toybox.Graphics;
using Toybox.Application.Properties;
class HomeAssistantIconMenuItem extends WatchUi.IconMenuItem {
private var mHomeAssistantService as HomeAssistantService;
private var mService as Lang.String;
private var mConfirm as Lang.Boolean;
function initialize(
label as Lang.String or Lang.Symbol,
subLabel as Lang.String or Lang.Symbol or Null,
identifier as Lang.Object or Null,
service as Lang.String or Null,
confirm as Lang.Boolean,
icon as Graphics.BitmapType or WatchUi.Drawable,
options as {
:alignment as WatchUi.MenuItem.Alignment
@ -49,9 +50,22 @@ class HomeAssistantIconMenuItem extends WatchUi.IconMenuItem {
mHomeAssistantService = haService;
mIdentifier = identifier;
mService = service;
mConfirm = confirm;
}
function callService() as Void {
if (mConfirm) {
WatchUi.pushView(
new HomeAssistantConfirmation(),
new HomeAssistantConfirmationDelegate(method(:onConfirm)),
WatchUi.SLIDE_IMMEDIATE
);
} else {
onConfirm();
}
}
function onConfirm() as Void {
mHomeAssistantService.call(mIdentifier as Lang.String, mService);
}