source: trunk/hiptop/pester/net/sabi/pester/Pester.java@ 287

Last change on this file since 287 was 287, checked in by Nicholas Riley, 18 years ago

First pass at alarm snooze/reschedule; still pretty ugly.

File size: 1.8 KB
RevLine 
[237]1package net.sabi.pester;
2
3import danger.app.Application;
[242]4import danger.app.Event;
[287]5import danger.app.IPCMessage;
6import danger.ui.Layout;
7import danger.ui.TextField;
8import danger.ui.TextInputAlertWindow;
[237]9import danger.ui.ScreenWindow;
[287]10import danger.ui.StaticText;
[242]11import danger.util.DEBUG;
12import java.util.Stack;
[237]13
14public 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:
38 AlarmSetDialog alarmSetDialog = AlarmSetDialog.getDialog();
39 alarmSetDialog.setWindowStyle(AlarmSetDialog.SYSTEM_DIALOG_STYLE);
40 alarmSetDialog.editAlarm((Alarm)sAlarmStack.pop(),false);
41 return true;
42 case EVENT_SNOOZE_ALARM:
43 String snoozeMinutesString =
44 TextInputAlertWindow.
45 getTextFieldValue((IPCMessage)e.argument,
46 ID_SNOOZE_MINUTES);
47 int snoozeMinutes = Integer.parseInt(snoozeMinutesString);
48 ((Alarm)sAlarmStack.pop()).snoozeForMinutes(snoozeMinutes);
49 return true;
[242]50 case EVENT_DISMISS_ALARM:
51 ((Alarm)sAlarmStack.pop()).dismiss();
52 return true;
53 }
54 return super.receiveEvent(e);
55 }
56}
Note: See TracBrowser for help on using the repository browser.