~aleteoryx/muditaos

a6d7721cd5ef07b0f3f6061f96d64dffdf7e1ab3 — Tigran Soghbatyan 4 years ago d0d8471
[BH-1176] Fix prewakeup-alarm interaction

Remove prewakeup chime audio playback timeout,
it was interacting and disabling alarm chime
M products/BellHybrid/alarms/src/actions/PlayAudioActions.cpp => products/BellHybrid/alarms/src/actions/PlayAudioActions.cpp +2 -2
@@ 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<service::AudioStartPlaybackRequest>(path, playbackType),


@@ 67,7 67,7 @@ namespace alarms
            return std::make_unique<PlayAudioAction>(service,
                                                     paths::getPreWakeUpChimesDir(),
                                                     bell::settings::PrewakeUp::tone,
                                                     bell::settings::PrewakeUp::duration,
                                                     NoPlaybackTimeout,
                                                     audio::PlaybackType::PreWakeUp);
        }


M products/BellHybrid/alarms/src/actions/PlayAudioActions.hpp => products/BellHybrid/alarms/src/actions/PlayAudioActions.hpp +3 -0
@@ 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<PlayAudioAction> createAlarmToneAction(sys::Service &service);
        std::unique_ptr<PlayAudioAction> createPreWakeUpChimeAction(sys::Service &service);
        std::unique_ptr<PlayAudioAction> createSnoozeChimeAction(sys::Service &service);