Add, show and remove alarms
[unical.git] / src / ro / ieval / unical / DisplayEventActivity.java
1 package ro.ieval.unical;
2
3 import java.text.SimpleDateFormat;
4 import java.util.Date;
5 import java.util.Locale;
6
7 import android.app.Activity;
8 import android.content.Context;
9 import android.content.Intent;
10 import android.os.Bundle;
11 import android.view.LayoutInflater;
12 import android.view.Menu;
13 import android.view.MenuInflater;
14 import android.view.MenuItem;
15 import android.view.View;
16 import android.view.ViewGroup;
17 import android.widget.ArrayAdapter;
18 import android.widget.Button;
19 import android.widget.ListView;
20 import android.widget.TextView;
21
22 public class DisplayEventActivity extends Activity {
23 private final class DeleteListener implements View.OnClickListener {
24 private final long time;
25 DeleteListener(final long time){
26 this.time=time;
27 }
28
29 @Override public void onClick(final View v){
30 Utils.deleteAlarm((Application) getApplication(), time);
31 setAdapter();
32 }
33 }
34
35 public static final String EXTRA_EVENT = "event";
36 private Event event;
37 private final DeleteEventDialog d=new DeleteEventDialog();
38
39 private void setAdapter(){
40 final ListView alarms = (ListView) findViewById(R.id.alarm_list);
41 alarms.setAdapter(new ArrayAdapter<Long>(this, R.layout.alarm_row_layout, Utils.getAlarmsByEvent((Application) getApplication(), event._id)){
42 @Override public View getView(final int position, final View convertView, final ViewGroup parent) {
43 final LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
44 final View rowView = inflater.inflate(R.layout.alarm_row_layout, parent, false);
45 final TextView date = (TextView) rowView.findViewById(R.id.alarm_datetime);
46 final Button delete = (Button) rowView.findViewById(R.id.alarm_delete);
47 delete.setOnClickListener(new DeleteListener(getItem(position)));
48 date.setText(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.UK).format(getItem(position)));
49
50 return rowView;
51 }
52 });
53 }
54
55 public static void displayEvent(final Context context, final long id){
56 final Intent i=new Intent(context,DisplayEventActivity.class);
57 i.putExtra(DisplayEventActivity.EXTRA_EVENT, id);
58 context.startActivity(i);
59 }
60
61 @Override
62 protected void onStart() {
63 super.onStart();
64 event=getIntent().hasExtra(EXTRA_EVENT) ? Event.getEventById(this, getIntent().getLongExtra(EXTRA_EVENT, 0)) : new Event();
65 setContentView(R.layout.event_view);
66 setTitle(event.title);
67
68 final TextView startDay= (TextView) findViewById(R.id.startday);
69 final TextView endDay= (TextView) findViewById(R.id.endday);
70 final TextView startDate= (TextView) findViewById(R.id.startdate);
71 final TextView endDate= (TextView) findViewById(R.id.enddate);
72 final TextView startTime= (TextView) findViewById(R.id.starttime);
73 final TextView endTime= (TextView) findViewById(R.id.endtime);
74 final TextView description= (TextView) findViewById(R.id.event_view_description);;
75
76 final Date start=new Date(event.dtstart);
77 final Date end=new Date(event.dtend);
78 final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.UK);
79 final SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss", Locale.UK);
80 final SimpleDateFormat dayOfWeekFormat = new SimpleDateFormat("EEEEEEE", Locale.UK);
81
82 startDay.setText(dayOfWeekFormat.format(start));
83 if(!dateFormat.format(start).equals(dateFormat.format(end))) {
84 endDay.setText(dayOfWeekFormat.format(end));
85 endDate.setText(dateFormat.format(end));
86 }
87 startDate.setText(dateFormat.format(start));
88 startTime.setText(timeFormat.format(start));
89 endTime.setText(timeFormat.format(end));
90 description.setText(event.description);
91 setAdapter();
92 }
93
94 @Override
95 public boolean onCreateOptionsMenu(final Menu menu) {
96 final MenuInflater inflater = getMenuInflater();
97 inflater.inflate(R.menu.event, menu);
98 return true;
99 }
100
101 @Override
102 public boolean onOptionsItemSelected(final MenuItem item) {
103 // Handle item selection
104 switch (item. getItemId()) {
105 case R.id.deleteevent:
106 final Bundle b=new Bundle();
107 b.putParcelable("Event",event);
108 d.setArguments(b);
109 d.show(getFragmentManager(), "Delete");
110
111 return true;
112 case R.id.eventlist:
113 final Intent it=new Intent(this, EventListActivity.class);
114 startActivity(it);
115 return true;
116 case R.id.edit_event:
117 AddEventActivity.editEvent(this, event);
118 return true;
119 case R.id.add_alarm:
120 final Intent intent = new Intent(this, AddAlarmActivity.class);
121 intent.putExtra(AddAlarmActivity.EXTRA_EVENT, event._id);
122 startActivity(intent);
123 return true;
124 default:
125 return false;
126 }
127 }
128 }
This page took 0.023384 seconds and 4 git commands to generate.