Some improvements
[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.Date;
16 import java.util.GregorianCalendar;
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 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
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 }
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);
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
74 return true;
75 default:
76 return false;
77 }
78 }
79 }
This page took 0.02289 seconds and 4 git commands to generate.