From 5938869e7af22d2e511052e177eff809f029b175 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Wed, 26 Aug 2020 14:26:59 -0600 Subject: [PATCH] fix show & hide methods --- .../UIDrivers/ScreenSaverController.cs | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/PepperDashEssentials/UIDrivers/ScreenSaverController.cs b/PepperDashEssentials/UIDrivers/ScreenSaverController.cs index 1e3f6d22..55d9ac2b 100644 --- a/PepperDashEssentials/UIDrivers/ScreenSaverController.cs +++ b/PepperDashEssentials/UIDrivers/ScreenSaverController.cs @@ -18,7 +18,7 @@ namespace PepperDash.Essentials /// /// The parent driver for this /// - EssentialsPanelMainInterfaceDriver Parent; + private readonly EssentialsPanelMainInterfaceDriver _parent; CTimer PositionTimer; @@ -32,34 +32,38 @@ namespace PepperDash.Essentials public ScreenSaverController(EssentialsPanelMainInterfaceDriver parent, CrestronTouchpanelPropertiesConfig config) : base(parent.TriList) { - Parent = parent; + _parent = parent; PositionTimeoutMs = config.ScreenSaverMovePositionIntervalMs; - TriList.SetSigFalseAction(UIBoolJoin.MCScreenSaverClosePress, () => this.Hide()); + TriList.SetSigFalseAction(UIBoolJoin.MCScreenSaverClosePress, Hide); } public override void Show() { - TriList.SetBool(UIBoolJoin.MCScreenSaverVisible, true); - Parent.AvDriver.PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.MCScreenSaverVisible); - //TriList.SetBool(UIBoolJoin.MCScreenSaverVisible, true); + _parent.AvDriver.PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.MCScreenSaverVisible); CurrentPositionIndex = 0; SetCurrentPosition(); + StartPositionTimer(); + + base.Show(); + } + + public override void Hide() + { + PositionTimer.Stop(); + PositionTimer.Dispose(); + PositionTimer = null; ClearAllPositions(); - TriList.SetBool(UIBoolJoin.MCScreenSaverVisible, false); - Parent.AvDriver.PopupInterlock.HideAndClear(); - //TriList.SetBool(UIBoolJoin.MCScreenSaverVisible, false); + _parent.AvDriver.PopupInterlock.HideAndClear(); base.Hide(); } - - void StartPositionTimer() { if (PositionTimer == null)