From a6d7721cd5ef07b0f3f6061f96d64dffdf7e1ab3 Mon Sep 17 00:00:00 2001 From: Tigran Soghbatyan Date: Thu, 18 Nov 2021 15:33:29 +0100 Subject: [PATCH] [BH-1176] Fix prewakeup-alarm interaction Remove prewakeup chime audio playback timeout, it was interacting and disabling alarm chime --- products/BellHybrid/alarms/src/actions/PlayAudioActions.cpp | 4 ++-- products/BellHybrid/alarms/src/actions/PlayAudioActions.hpp | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/products/BellHybrid/alarms/src/actions/PlayAudioActions.cpp b/products/BellHybrid/alarms/src/actions/PlayAudioActions.cpp index 117b95ae79fed0f12e2a5be11df084d3e0ef2950..548006978d8724af72c3f16de230a6b39c80709e 100644 --- a/products/BellHybrid/alarms/src/actions/PlayAudioActions.cpp +++ b/products/BellHybrid/alarms/src/actions/PlayAudioActions.cpp @@ -21,7 +21,7 @@ namespace alarms bool PlayAudioAction::play(const std::filesystem::path &path, std::chrono::minutes duration) { - if (duration != InfiniteDuration) { + if (duration != InfiniteDuration && duration != NoDuration) { spawnTimer(duration); } return service.bus.sendUnicast(std::make_shared(path, playbackType), @@ -67,7 +67,7 @@ namespace alarms return std::make_unique(service, paths::getPreWakeUpChimesDir(), bell::settings::PrewakeUp::tone, - bell::settings::PrewakeUp::duration, + NoPlaybackTimeout, audio::PlaybackType::PreWakeUp); } diff --git a/products/BellHybrid/alarms/src/actions/PlayAudioActions.hpp b/products/BellHybrid/alarms/src/actions/PlayAudioActions.hpp index b34260dbe5d4b87da8fa607564776a1edd57c490..3ad6bf03f0a1a84439718608be2d0edff75970d4 100644 --- a/products/BellHybrid/alarms/src/actions/PlayAudioActions.hpp +++ b/products/BellHybrid/alarms/src/actions/PlayAudioActions.hpp @@ -28,6 +28,8 @@ namespace alarms private: static constexpr auto InfiniteDuration = std::chrono::minutes::max(); + static constexpr auto NoDuration = std::chrono::minutes::zero(); + bool play(const std::filesystem::path &path, std::chrono::minutes duration = InfiniteDuration); void spawnTimer(std::chrono::minutes timeout); void detachTimer(); @@ -43,6 +45,7 @@ namespace alarms namespace factory { + static constexpr auto NoPlaybackTimeout = "0"; std::unique_ptr createAlarmToneAction(sys::Service &service); std::unique_ptr createPreWakeUpChimeAction(sys::Service &service); std::unique_ptr createSnoozeChimeAction(sys::Service &service);