1 | package net.sabi.pester;
|
---|
2 |
|
---|
3 | import danger.app.Application;
|
---|
4 | import danger.app.Event;
|
---|
5 | import danger.app.IPCMessage;
|
---|
6 | import danger.ui.Layout;
|
---|
7 | import danger.ui.TextField;
|
---|
8 | import danger.ui.TextInputAlertWindow;
|
---|
9 | import danger.ui.ScreenWindow;
|
---|
10 | import danger.ui.StaticText;
|
---|
11 | import danger.util.DEBUG;
|
---|
12 | import java.util.Stack;
|
---|
13 |
|
---|
14 | public class Pester extends Application implements Resources, Commands {
|
---|
15 | private static ScreenWindow sAlarmListWindow;
|
---|
16 | private static Stack sAlarmStack;
|
---|
17 |
|
---|
18 | public Pester() {
|
---|
19 | sAlarmListWindow = (ScreenWindow)getResources().getScreen(ID_ALARM_LIST_SCREEN);
|
---|
20 | sAlarmListWindow.show();
|
---|
21 | sAlarmStack = new Stack();
|
---|
22 | }
|
---|
23 |
|
---|
24 | public boolean receiveEvent(Event e) {
|
---|
25 | switch (e.type) {
|
---|
26 | case Event.EVENT_ALARM:
|
---|
27 | Alarm alarm = (Alarm)e.argument;
|
---|
28 | TextInputAlertWindow alert = getTextInputAlert(ID_ALARM_ALERT, this);
|
---|
29 | alert.setTitle(alarm.getDateTimeString());
|
---|
30 | alert.setMessage(alarm.getMessage());
|
---|
31 | alert.setShowTone(alarm.getAlert());
|
---|
32 | alert.disableButtonOnEmptyField(ID_SNOOZE_BUTTON, ID_SNOOZE_MINUTES);
|
---|
33 | alert.setShowCancel(false);
|
---|
34 | alert.show(TextInputAlertWindow.SYSTEM_ALERT_TYPE_ALARM);
|
---|
35 | sAlarmStack.push(alarm);
|
---|
36 | return true;
|
---|
37 | case EVENT_SET_ALARM:
|
---|
38 | AlarmSetDialog.getDialog().rescheduleAlarm((Alarm)sAlarmStack.pop());
|
---|
39 | return true;
|
---|
40 | case EVENT_SNOOZE_ALARM:
|
---|
41 | int snoozeMinutes =
|
---|
42 | Integer.parseInt(TextInputAlertWindow.
|
---|
43 | getTextFieldValue((IPCMessage)e.argument,
|
---|
44 | ID_SNOOZE_MINUTES));
|
---|
45 | ((Alarm)sAlarmStack.pop()).snoozeForMinutes(snoozeMinutes);
|
---|
46 | return true;
|
---|
47 | case EVENT_DISMISS_ALARM:
|
---|
48 | ((Alarm)sAlarmStack.pop()).dismiss();
|
---|
49 | return true;
|
---|
50 | }
|
---|
51 | return super.receiveEvent(e);
|
---|
52 | }
|
---|
53 | }
|
---|