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