~aleteoryx/muditaos

03a5cb6ab2b6efaa2529c7724ffc7fd229763e8e — Lukasz Skrzypczak 4 years ago 263497c
[BH-1028] Cyclic Deep Refresh

Added cyclic deep refresh on main screen every 30 minutes.
M products/BellHybrid/apps/application-bell-main/presenters/HomeScreenPresenter.cpp => products/BellHybrid/apps/application-bell-main/presenters/HomeScreenPresenter.cpp +14 -0
@@ 46,6 46,7 @@ namespace app::home_screen
    {
        getView()->setTime(timeModel->getCurrentTime());
        stateController->handleTimeUpdateEvent();
        handleCyclicDeepRefresh();
    }

    void HomeScreenPresenter::handleAlarmRingingEvent()


@@ 137,6 138,7 @@ namespace app::home_screen
    {
        return batteryModel->getLevelState().level;
    }

    bool HomeScreenPresenter::isBatteryCharging() const
    {
        return batteryModel->getLevelState().state == Store::Battery::State::Charging;


@@ 155,4 157,16 @@ namespace app::home_screen
            isStartup = false;
        }
    }

    void HomeScreenPresenter::handleCyclicDeepRefresh()
    {
        constexpr auto deepRefreshPeriod = 30;
        static auto refreshCount         = 0;

        if (refreshCount >= deepRefreshPeriod) {
            app->refreshWindow(gui::RefreshModes::GUI_REFRESH_DEEP);
            refreshCount = 0;
        }
        refreshCount++;
    }
} // namespace app::home_screen

M products/BellHybrid/apps/application-bell-main/presenters/HomeScreenPresenter.hpp => products/BellHybrid/apps/application-bell-main/presenters/HomeScreenPresenter.hpp +2 -0
@@ 151,6 151,8 @@ namespace app::home_screen

        void setStartupAlarmState();

        void handleCyclicDeepRefresh();

        static constexpr auto timerName = "HS_timer";
        static constexpr auto snoozeTick = std::chrono::seconds(1);
    };