Bugfix + changes the delete icon with cancel icon
[unical.git] / src / ro / ieval / unical / DisplayEventActivity.java
CommitLineData
222ca38d
PT
1package ro.ieval.unical;
2
f6f4503f 3import java.text.DateFormat;
99658f57 4import java.text.SimpleDateFormat;
222ca38d 5import java.util.Date;
8a08d036 6import java.util.Locale;
222ca38d
PT
7
8import android.app.Activity;
5cf4714f 9import android.content.Context;
46e6c000 10import android.content.Intent;
222ca38d 11import android.os.Bundle;
539deec9 12import android.view.LayoutInflater;
222ca38d
PT
13import android.view.Menu;
14import android.view.MenuInflater;
46e6c000 15import android.view.MenuItem;
539deec9
MG
16import android.view.View;
17import android.view.ViewGroup;
7bd01d93 18import android.widget.*;
222ca38d 19
5cf4714f 20public class DisplayEventActivity extends Activity {
539deec9
MG
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
39f0cac1 33 public static final String EXTRA_EVENT = "event";
f580909c 34 private Event event;
dc52b261 35 private final DeleteEventDialog d=new DeleteEventDialog();
39f0cac1 36
539deec9
MG
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);
7bd01d93 44 final ImageButton delete = (ImageButton) rowView.findViewById(R.id.alarm_delete);
539deec9 45 delete.setOnClickListener(new DeleteListener(getItem(position)));
f6f4503f 46 date.setText(DateFormat.getDateTimeInstance().format(getItem(position)));
539deec9
MG
47
48 return rowView;
49 }
50 });
51 }
52
86ad3786 53 public static void displayEvent(final Context context, final long id){
5cf4714f 54 final Intent i=new Intent(context,DisplayEventActivity.class);
86ad3786 55 i.putExtra(DisplayEventActivity.EXTRA_EVENT, id);
5cf4714f
MG
56 context.startActivity(i);
57 }
58
222ca38d 59 @Override
86ad3786
MG
60 protected void onStart() {
61 super.onStart();
62 event=getIntent().hasExtra(EXTRA_EVENT) ? Event.getEventById(this, getIntent().getLongExtra(EXTRA_EVENT, 0)) : new Event();
5cf4714f 63 setContentView(R.layout.event_view);
f580909c 64 setTitle(event.title);
070d3ab2 65
8a08d036
MG
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);
539deec9 72 final TextView description= (TextView) findViewById(R.id.event_view_description);;
070d3ab2 73
f580909c
MG
74 final Date start=new Date(event.dtstart);
75 final Date end=new Date(event.dtend);
f6f4503f
MG
76 final DateFormat dateFormat = DateFormat.getDateInstance();
77 final DateFormat timeFormat = DateFormat.getTimeInstance();
78 final DateFormat dayOfWeekFormat = new SimpleDateFormat("EEEEEEE", Locale.UK);
070d3ab2 79
8a08d036 80 startDay.setText(dayOfWeekFormat.format(start));
00b0fd8e 81 startDate.setText(dateFormat.format(start));
ad349897 82 if(!dateFormat.format(start).equals(dateFormat.format(end))) {
8a08d036 83 endDay.setText(dayOfWeekFormat.format(end));
8a08d036 84 endDate.setText(dateFormat.format(end));
dec0e894 85 }
00b0fd8e 86
8a08d036 87 startTime.setText(timeFormat.format(start));
00b0fd8e
MG
88 if(!start.equals(end))
89 endTime.setText(timeFormat.format(end));
90
f580909c 91 description.setText(event.description);
539deec9 92 setAdapter();
222ca38d 93 }
070d3ab2 94
222ca38d 95 @Override
5cf4714f
MG
96 public boolean onCreateOptionsMenu(final Menu menu) {
97 final MenuInflater inflater = getMenuInflater();
8a08d036 98 inflater.inflate(R.menu.event, menu);
222ca38d
PT
99 return true;
100 }
070d3ab2 101
46e6c000 102 @Override
5cf4714f 103 public boolean onOptionsItemSelected(final MenuItem item) {
8a08d036
MG
104 // Handle item selection
105 switch (item. getItemId()) {
55084aed 106 case R.id.deleteevent:
dc52b261
P
107 final Bundle b=new Bundle();
108 b.putParcelable("Event",event);
109 d.setArguments(b);
55084aed 110 d.show(getFragmentManager(), "Delete");
dc52b261 111
55084aed
MG
112 return true;
113 case R.id.edit_event:
539deec9 114 AddEventActivity.editEvent(this, event);
55084aed
MG
115 return true;
116 case R.id.add_alarm:
36c4a576 117 AddAlarmActivity.addAlarm(this,event);
55084aed
MG
118 return true;
119 default:
539deec9 120 return false;
8a08d036 121 }
46e6c000 122 }
222ca38d 123}
This page took 0.029439 seconds and 4 git commands to generate.