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