From 47584b91664903f766e58ed478742f92da22ef5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Jo=C5=84ski?= Date: Wed, 9 Mar 2022 13:37:47 +0100 Subject: [PATCH] [BH-1405] Delay homescreen display to avoid blinking Delay homescreen display to avoid blinking on startup --- .../application-bell-main/windows/BellHomeScreenWindow.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/products/BellHybrid/apps/application-bell-main/windows/BellHomeScreenWindow.cpp b/products/BellHybrid/apps/application-bell-main/windows/BellHomeScreenWindow.cpp index 4b7556b1ce7d020fb297c32019e27c57a95bbbe4..ae1e4a2a8d35b79c9bdfde5ae7e7fe0a747754c6 100644 --- a/products/BellHybrid/apps/application-bell-main/windows/BellHomeScreenWindow.cpp +++ b/products/BellHybrid/apps/application-bell-main/windows/BellHomeScreenWindow.cpp @@ -99,7 +99,6 @@ namespace gui } currentLayout = layoutGenerator(); addWidget(static_cast(currentLayout->getLayout())); - presenter->onBeforeShow(); if (auto snoozeTimer = currentLayout->getSnoozeTimer()) { auto timer = std::make_unique( @@ -127,6 +126,7 @@ namespace gui { if (currentLayout) { currentLayout->setViewState(state); + currentLayout->getLayout()->setVisible(true); } } @@ -253,6 +253,9 @@ namespace gui void BellHomeScreenWindow::onBeforeShow(ShowMode, SwitchData *data) { presenter->onBeforeShow(); + // Show the screen only on state change + // to avoid inital state homescreen display on powerup + currentLayout->getLayout()->setVisible(false); const auto alarmRingingSwitchData = dynamic_cast(data); if (alarmRingingSwitchData != nullptr) {