Date and time pickers are now set correctly
[unical.git] / src / ro / ieval / unical / AddAlarmActivity.java
CommitLineData
a564ac2d
P
1package ro.ieval.unical;
2
36c4a576 3import android.app.AlertDialog;
a564ac2d 4import android.app.ListActivity;
36c4a576
P
5import android.content.Context;
6import android.content.Intent;
7import android.database.SQLException;
a564ac2d
P
8import android.os.Bundle;
9import android.view.Menu;
10import android.view.MenuInflater;
539deec9
MG
11import android.view.MenuItem;
12import android.widget.DatePicker;
13import android.widget.TimePicker;
36c4a576 14
14986c26
P
15import java.util.*;
16import java.util.Calendar;
a564ac2d
P
17
18public 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()));
14986c26
P
39 GregorianCalendar gc=new GregorianCalendar();
40 gc.setTime(d);
41 datePicker.init(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DAY_OF_MONTH),new DatePicker.OnDateChangedListener() {
36c4a576
P
42 @Override
43 public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
44 }
45 });
14986c26
P
46 timePicker.setCurrentHour(gc.get(Calendar.HOUR_OF_DAY));
47 timePicker.setCurrentMinute(gc.get(Calendar.MINUTE));
36c4a576 48
a564ac2d
P
49 }
50
51 @Override
52 public boolean onCreateOptionsMenu(final Menu menu) {
53 final MenuInflater inflater = getMenuInflater();
54 inflater.inflate(R.menu.add_alarm, menu);
55 return true;
56 }
539deec9
MG
57
58 @Override
59 public boolean onOptionsItemSelected(final MenuItem item){
60 switch(item.getItemId()){
61 case R.id.save:
62 final DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker);
63 final TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker);
64 final GregorianCalendar calendar = new GregorianCalendar(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0);
36c4a576
P
65 try {
66 Utils.addAlarm((Application) getApplication(), calendar.getTimeInMillis(), getIntent().getLongExtra(EXTRA_EVENT, 0));
67 finish();
68 }catch(SQLException e) {
69 AlertDialog.Builder builder = new AlertDialog.Builder(this);
70 builder.setMessage(R.string.alarm_error)
71 .setTitle(R.string.alarm_error_title);
72 AlertDialog dialog = builder.create();
73 dialog.show();
74 }
75
539deec9
MG
76 return true;
77 default:
78 return false;
79 }
80 }
a564ac2d 81}
This page took 0.016834 seconds and 4 git commands to generate.