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
Line 
1package net.sabi.pester;
2
3import danger.app.Application;
4import danger.app.Event;
5import danger.app.IPCMessage;
6import danger.ui.Layout;
7import danger.ui.TextField;
8import danger.ui.TextInputAlertWindow;
9import danger.ui.ScreenWindow;
10import danger.ui.StaticText;
11import danger.util.DEBUG;
12import java.util.Stack;
13
14public 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 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;
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.