1 package ro
.ieval
.unical
;
3 import android
.app
.AlertDialog
;
4 import android
.app
.ListActivity
;
5 import android
.content
.Context
;
6 import android
.content
.Intent
;
7 import android
.database
.SQLException
;
8 import android
.os
.Bundle
;
9 import android
.view
.Menu
;
10 import android
.view
.MenuInflater
;
11 import android
.view
.MenuItem
;
12 import android
.widget
.DatePicker
;
13 import android
.widget
.TimePicker
;
15 import java
.util
.Date
;
16 import java
.util
.GregorianCalendar
;
18 public class AddAlarmActivity
extends ListActivity
{
19 public static final String EXTRA_EVENT
= "event";
20 private static Event event
;
22 public static void addAlarm(final Context c
, final Event e
) {
23 final Intent i
= new Intent(c
,AddAlarmActivity
.class);
24 i
.putExtra(AddAlarmActivity
.EXTRA_EVENT
,e
);
31 protected void onCreate(final Bundle savedInstanceState
) {
32 super.onCreate(savedInstanceState
);
33 setContentView(R
.layout
.add_alarm
);
34 setTitle(R
.string
.add_alarm
);
35 event
= getIntent().hasExtra(EXTRA_EVENT
) ?
(Event
) getIntent().getParcelableExtra(EXTRA_EVENT
) : new Event();
36 final DatePicker datePicker
= (DatePicker
) findViewById(R
.id
.datePicker
);
37 final TimePicker timePicker
= (TimePicker
) findViewById(R
.id
.timePicker
);
38 Date d
=new Date(Math
.max(event
.dtstart
,GregorianCalendar
.getInstance().getTimeInMillis()));
39 datePicker
.init(d
.getYear()+1900,d
.getMonth(),d
.getDay(),new DatePicker
.OnDateChangedListener() {
41 public void onDateChanged(DatePicker view
, int year
, int monthOfYear
, int dayOfMonth
) {
44 timePicker
.setCurrentHour(d
.getHours());
45 timePicker
.setCurrentMinute(d
.getMinutes());
50 public boolean onCreateOptionsMenu(final Menu menu
) {
51 final MenuInflater inflater
= getMenuInflater();
52 inflater
.inflate(R
.menu
.add_alarm
, menu
);
57 public boolean onOptionsItemSelected(final MenuItem item
){
58 switch(item
.getItemId()){
60 final DatePicker datePicker
= (DatePicker
) findViewById(R
.id
.datePicker
);
61 final TimePicker timePicker
= (TimePicker
) findViewById(R
.id
.timePicker
);
62 final GregorianCalendar calendar
= new GregorianCalendar(datePicker
.getYear(), datePicker
.getMonth(), datePicker
.getDayOfMonth(), timePicker
.getCurrentHour(), timePicker
.getCurrentMinute(), 0);
64 Utils
.addAlarm((Application
) getApplication(), calendar
.getTimeInMillis(), getIntent().getLongExtra(EXTRA_EVENT
, 0));
66 }catch(SQLException e
) {
67 AlertDialog
.Builder builder
= new AlertDialog
.Builder(this);
68 builder
.setMessage(R
.string
.alarm_error
)
69 .setTitle(R
.string
.alarm_error_title
);
70 AlertDialog dialog
= builder
.create();