Date and time pickers are now set correctly
[unical.git] / src / ro / ieval / unical / AddAlarmActivity.java
1 package ro.ieval.unical;
2
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;
14
15 import java.util.*;
16 import java.util.Calendar;
17
18 public class AddAlarmActivity extends ListActivity {
19 public static final String EXTRA_EVENT = "event";
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
29
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);
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 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() {
42 @Override
43 public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
44 }
45 });
46 timePicker.setCurrentHour(gc.get(Calendar.HOUR_OF_DAY));
47 timePicker.setCurrentMinute(gc.get(Calendar.MINUTE));
48
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 }
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);
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
76 return true;
77 default:
78 return false;
79 }
80 }
81 }
This page took 0.02166 seconds and 4 git commands to generate.