From b5140ce8b4373e8a9723c6cd91733ea2cdfcb0b2 Mon Sep 17 00:00:00 2001 From: Philip Abbey Date: Thu, 29 Aug 2024 21:13:55 +0100 Subject: [PATCH] Added vibrate to confirm toggle items tapped --- source/HomeAssistantToggleMenuItem.mc | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/source/HomeAssistantToggleMenuItem.mc b/source/HomeAssistantToggleMenuItem.mc index dd89092..9ba37a8 100644 --- a/source/HomeAssistantToggleMenuItem.mc +++ b/source/HomeAssistantToggleMenuItem.mc @@ -25,9 +25,10 @@ using Toybox.Application.Properties; using Toybox.Timer; class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem { - private var mConfirm as Lang.Boolean; - private var mData as Lang.Dictionary; - private var mTemplate as Lang.String; + private var mConfirm as Lang.Boolean; + private var mData as Lang.Dictionary; + private var mTemplate as Lang.String; + private var mHasVibrate as Lang.Boolean = false; function initialize( label as Lang.String or Lang.Symbol, @@ -40,6 +41,9 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem { } or Null ) { WatchUi.ToggleMenuItem.initialize(label, null, null, false, options); + if (Attention has :vibrate) { + mHasVibrate = true; + } mConfirm = confirm; mData = data; mTemplate = template; @@ -198,6 +202,13 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem { }, method(:onReturnSetState) ); + if (mHasVibrate and Settings.getVibrate()) { + Attention.vibrate([ + new Attention.VibeProfile(50, 100), // On for 100ms + new Attention.VibeProfile( 0, 100), // Off for 100ms + new Attention.VibeProfile(50, 100) // On for 100ms + ]); + } } }