diff options
Diffstat (limited to 'alarm-app/src/Alert/AlertView.cpp')
-rw-r--r-- | alarm-app/src/Alert/AlertView.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/alarm-app/src/Alert/AlertView.cpp b/alarm-app/src/Alert/AlertView.cpp index ea1ab57..c73c66d 100644 --- a/alarm-app/src/Alert/AlertView.cpp +++ b/alarm-app/src/Alert/AlertView.cpp @@ -25,8 +25,11 @@ #include "Utils/Logger.h" #include "AlertLayout.h" +#include <feedback.h> + #define SNOOZE_MAX_COUNT 3 #define ALERT_MAX_TIME 60 +#define FEEDBACK_TIME 1.0 #define DEFAULT_SOUND_PATH "/opt/share/settings/Alarms/Alarms_on_call.ogg" using namespace Alert; @@ -35,7 +38,7 @@ using namespace Common::Model; AlertView::AlertView(Common::Model::Alarm alarm) : m_DismissButton(nullptr), m_SnoozeButton(nullptr), - m_Timer(nullptr), m_Player(createPlayer()), + m_Timer(nullptr), m_Player(createPlayer()), m_FeedbackTimer(nullptr), m_Alarm(std::move(alarm)) { } @@ -83,6 +86,7 @@ Evas_Object *AlertView::onCreate(Evas_Object *parent) COLOR_BUTTON_SNOOZE, 0); m_Timer = ecore_timer_add(ALERT_MAX_TIME, makeCallback(&AlertView::onCancel), this); + return layout; } @@ -92,8 +96,11 @@ void AlertView::onNavigation(bool isCurrent) if (isCurrent) { player_start(m_Player); + m_FeedbackTimer = ecore_timer_add(FEEDBACK_TIME, onFeedbackTimer, this); } else { player_stop(m_Player); + ecore_timer_del(m_FeedbackTimer); + m_FeedbackTimer = nullptr;; if (!elm_win_focus_get(findParent<Ui::Window>()->getEvasObject())) { onCancel(); } @@ -240,3 +247,9 @@ Eina_Bool AlertView::onButtonActivated(Evas_Object *button, Evas_Object *obj, elm_layout_signal_emit(button, SIGNAL_BUTTON_PRESS, ""); return EINA_TRUE; } + +Eina_Bool AlertView::onFeedbackTimer(void *data) +{ + feedback_play(FEEDBACK_PATTERN_WAKEUP); + return ECORE_CALLBACK_RENEW; +} |