From ddc1c6416013141b28deb6b5a6a8cba6162a11f8 Mon Sep 17 00:00:00 2001 From: Dawid Wojtas Date: Tue, 29 Aug 2023 14:42:02 +0200 Subject: [PATCH] [BH-1761] Add a log when manual reset is performed If the user performs a manual reset there is no information in the logs. It can be treated as software resets. So the best solution is to add a log about incoming manual reset and dump all logs to the file. --- harmony_changelog.md | 1 + .../service-evtmgr/EventManagerCommon.hpp | 10 +++++----- products/BellHybrid/services/evtmgr/EventManager.cpp | 4 ++-- .../evtmgr/internal/key_sequences/ResetSequence.hpp | 4 ++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/harmony_changelog.md b/harmony_changelog.md index b68307ff808154b9128642b589316045ae324fe2..28ae43d5e1076b815a9685a1b9f91f601857caa1 100644 --- a/harmony_changelog.md +++ b/harmony_changelog.md @@ -35,6 +35,7 @@ * Added Harmony version information in about section * Added system shutdown if there is no user activity for 180 seconds on the language selection screen * Files not fully transferred via Center will be now removed when USB cable is unplugged +* Added a log when manual reset is performed ### Changed / Improved diff --git a/module-services/service-evtmgr/service-evtmgr/EventManagerCommon.hpp b/module-services/service-evtmgr/service-evtmgr/EventManagerCommon.hpp index d8854f45505cda6a083a06c14172a0956cbc7a9c..b6b0878b843df6505d19f935eb5fd3e345d9e19b 100644 --- a/module-services/service-evtmgr/service-evtmgr/EventManagerCommon.hpp +++ b/module-services/service-evtmgr/service-evtmgr/EventManagerCommon.hpp @@ -61,11 +61,6 @@ class EventManagerCommon : public sys::Service LogDumpFunction logDumpFunction; - /// @return: < 0 - error occured during log flush - /// @return: 0 - log flush did not happen - /// @return: 1 - log flush successflul - int dumpLogsToFile(); - protected: std::function onMinuteTick; virtual void handleKeyEvent(sys::Message *msg); @@ -83,4 +78,9 @@ class EventManagerCommon : public sys::Service // ID of alarm waiting to trigger uint32_t alarmID; const EventManagerParams eventManagerParams; + + /// @return: < 0 - error occured during log flush + /// @return: 0 - log flush did not happen + /// @return: 1 - log flush successflul + int dumpLogsToFile(); }; diff --git a/products/BellHybrid/services/evtmgr/EventManager.cpp b/products/BellHybrid/services/evtmgr/EventManager.cpp index 335304c589be1ccbae3fa05fdc2126e9f16016cf..3137b6737283535417fc3b05de670a03db3875de 100644 --- a/products/BellHybrid/services/evtmgr/EventManager.cpp +++ b/products/BellHybrid/services/evtmgr/EventManager.cpp @@ -173,8 +173,8 @@ void EventManager::buildKeySequences() auto resetSeq = std::make_unique(*this); resetSeq->onAction = [this]() { - app::manager::Controller::sendAction( - this, app::manager::actions::ShowPopup, std::make_unique()); + LOG_INFO("Incoming manual reset caused by user!"); + EventManagerCommon::dumpLogsToFile(); }; collection.emplace_back(std::move(resetSeq)); diff --git a/products/BellHybrid/services/evtmgr/internal/key_sequences/ResetSequence.hpp b/products/BellHybrid/services/evtmgr/internal/key_sequences/ResetSequence.hpp index 12f3b19c47ea67d09892807df4b69fd762f24e99..1687399d542f56883d4b153992aa31a25b2cbe51 100644 --- a/products/BellHybrid/services/evtmgr/internal/key_sequences/ResetSequence.hpp +++ b/products/BellHybrid/services/evtmgr/internal/key_sequences/ResetSequence.hpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once @@ -11,7 +11,7 @@ class ResetSequence : public GenericLongPressSequence{sys::TimerFactory::createSingleShotTimer( - &service, "rseq", std::chrono::milliseconds{10000}, [this](auto &) { handleTimer(); })} + &service, "rseq", std::chrono::milliseconds{5500}, [this](auto &) { handleTimer(); })} {} };