Evas_Object *createSnoozeButton(Evas_Object *parent);
Eina_Bool onRotaryEvent(Evas_Object *obj, Eext_Rotary_Event_Info *eventInfo);
- void onCancel();
+ Eina_Bool onCancel();
void onDismissClicked(Evas_Object *button, void *eventInfo);
void onSnoozeClicked(Evas_Object *button, void *eventInfo);
static void onButtonPressed(const char *signal, Evas_Object *button, void *eventInfo);
Evas_Object *m_DismissButton;
Evas_Object *m_SnoozeButton;
+ Ecore_Timer *m_Timer;
Common::Model::Alarm m_Alarm;
};
}
#include "AlertLayout.h"
#define SNOOZE_MAX_COUNT 3
+#define ALERT_MAX_TIME 60
using namespace Alert;
using namespace Common;
using namespace Common::Model;
AlertView::AlertView(Common::Model::Alarm alarm)
- : m_DismissButton(nullptr), m_SnoozeButton(nullptr), m_Alarm(std::move(alarm))
+ : m_DismissButton(nullptr), m_SnoozeButton(nullptr), m_Timer(nullptr),
+ m_Alarm(std::move(alarm))
{
}
elm_object_color_class_color_set(layout, COLOR_CLASS_SNOOZE_HIDDEN,
COLOR_BUTTON_SNOOZE, 0);
+ m_Timer = ecore_timer_add(ALERT_MAX_TIME, makeCallback(&AlertView::onCancel), this);
return layout;
}
bool AlertView::onBackPressed()
{
- onCancel();
- return false;
+ return onCancel();
}
Evas_Object *AlertView::createButton(Evas_Object *parent, const char *iconPath, Elm_Color_RGBA color,
return EINA_TRUE;
}
-void AlertView::onCancel()
+Eina_Bool AlertView::onCancel()
{
if (m_Alarm.getSnoozeCount() < SNOOZE_MAX_COUNT) {
m_Alarm.snooze();
}
AlarmConsumer::getInstance().updateAlarm(m_Alarm, nullptr);
getPage()->close();
+
+ return EINA_FALSE;
}
void AlertView::onDismissClicked(Evas_Object *button, void *eventInfo)