Commit | Line | Data |
---|---|---|
a564ac2d P |
1 | package ro.ieval.unical; |
2 | ||
36c4a576 | 3 | import android.app.AlertDialog; |
a564ac2d | 4 | import android.app.ListActivity; |
36c4a576 P |
5 | import android.content.Context; |
6 | import android.content.Intent; | |
7 | import android.database.SQLException; | |
a564ac2d P |
8 | import android.os.Bundle; |
9 | import android.view.Menu; | |
10 | import android.view.MenuInflater; | |
539deec9 MG |
11 | import android.view.MenuItem; |
12 | import android.widget.DatePicker; | |
13 | import android.widget.TimePicker; | |
36c4a576 P |
14 | |
15 | import java.util.Date; | |
539deec9 | 16 | import java.util.GregorianCalendar; |
a564ac2d P |
17 | |
18 | public class AddAlarmActivity extends ListActivity { | |
539deec9 | 19 | public static final String EXTRA_EVENT = "event"; |
36c4a576 P |
20 | private static Event event; |
21 | ||
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); | |
25 | event=e; | |
26 | c.startActivity(i); | |
27 | } | |
28 | ||
539deec9 | 29 | |
a564ac2d P |
30 | @Override |
31 | protected void onCreate(final Bundle savedInstanceState) { | |
32 | super.onCreate(savedInstanceState); | |
33 | setContentView(R.layout.add_alarm); | |
34 | setTitle(R.string.add_alarm); | |
36c4a576 P |
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() { | |
40 | @Override | |
41 | public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { | |
42 | } | |
43 | }); | |
44 | timePicker.setCurrentHour(d.getHours()); | |
45 | timePicker.setCurrentMinute(d.getMinutes()); | |
46 | ||
a564ac2d P |
47 | } |
48 | ||
49 | @Override | |
50 | public boolean onCreateOptionsMenu(final Menu menu) { | |
51 | final MenuInflater inflater = getMenuInflater(); | |
52 | inflater.inflate(R.menu.add_alarm, menu); | |
53 | return true; | |
54 | } | |
539deec9 MG |
55 | |
56 | @Override | |
57 | public boolean onOptionsItemSelected(final MenuItem item){ | |
58 | switch(item.getItemId()){ | |
59 | case R.id.save: | |
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); | |
36c4a576 P |
63 | try { |
64 | Utils.addAlarm((Application) getApplication(), calendar.getTimeInMillis(), getIntent().getLongExtra(EXTRA_EVENT, 0)); | |
65 | finish(); | |
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(); | |
71 | dialog.show(); | |
72 | } | |
73 | ||
539deec9 MG |
74 | return true; |
75 | default: | |
76 | return false; | |
77 | } | |
78 | } | |
a564ac2d | 79 | } |