Add, show and remove alarms
[unical.git] / src / ro / ieval / unical / DisplayEventActivity.java
CommitLineData
222ca38d
PT
1package ro.ieval.unical;
2
99658f57 3import java.text.SimpleDateFormat;
222ca38d 4import java.util.Date;
8a08d036 5import java.util.Locale;
222ca38d
PT
6
7import android.app.Activity;
5cf4714f 8import android.content.Context;
46e6c000 9import android.content.Intent;
222ca38d 10import android.os.Bundle;
539deec9 11import android.view.LayoutInflater;
222ca38d
PT
12import android.view.Menu;
13import android.view.MenuInflater;
46e6c000 14import android.view.MenuItem;
539deec9
MG
15import android.view.View;
16import android.view.ViewGroup;
17import android.widget.ArrayAdapter;
18import android.widget.Button;
19import android.widget.ListView;
222ca38d
PT
20import android.widget.TextView;
21
5cf4714f 22public class DisplayEventActivity extends Activity {
539deec9
MG
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
39f0cac1 35 public static final String EXTRA_EVENT = "event";
f580909c 36 private Event event;
dc52b261 37 private final DeleteEventDialog d=new DeleteEventDialog();
39f0cac1 38
539deec9
MG
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
86ad3786 55 public static void displayEvent(final Context context, final long id){
5cf4714f 56 final Intent i=new Intent(context,DisplayEventActivity.class);
86ad3786 57 i.putExtra(DisplayEventActivity.EXTRA_EVENT, id);
5cf4714f
MG
58 context.startActivity(i);
59 }
60
222ca38d 61 @Override
86ad3786
MG
62 protected void onStart() {
63 super.onStart();
64 event=getIntent().hasExtra(EXTRA_EVENT) ? Event.getEventById(this, getIntent().getLongExtra(EXTRA_EVENT, 0)) : new Event();
5cf4714f 65 setContentView(R.layout.event_view);
f580909c 66 setTitle(event.title);
070d3ab2 67
8a08d036
MG
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);
539deec9 74 final TextView description= (TextView) findViewById(R.id.event_view_description);;
070d3ab2 75
f580909c
MG
76 final Date start=new Date(event.dtstart);
77 final Date end=new Date(event.dtend);
539deec9 78 final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.UK);
8a08d036 79 final SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss", Locale.UK);
dec0e894 80 final SimpleDateFormat dayOfWeekFormat = new SimpleDateFormat("EEEEEEE", Locale.UK);
070d3ab2 81
8a08d036 82 startDay.setText(dayOfWeekFormat.format(start));
ad349897 83 if(!dateFormat.format(start).equals(dateFormat.format(end))) {
8a08d036 84 endDay.setText(dayOfWeekFormat.format(end));
8a08d036 85 endDate.setText(dateFormat.format(end));
dec0e894
PT
86 }
87 startDate.setText(dateFormat.format(start));
8a08d036
MG
88 startTime.setText(timeFormat.format(start));
89 endTime.setText(timeFormat.format(end));
f580909c 90 description.setText(event.description);
539deec9 91 setAdapter();
222ca38d 92 }
070d3ab2 93
222ca38d 94 @Override
5cf4714f
MG
95 public boolean onCreateOptionsMenu(final Menu menu) {
96 final MenuInflater inflater = getMenuInflater();
8a08d036 97 inflater.inflate(R.menu.event, menu);
222ca38d
PT
98 return true;
99 }
070d3ab2 100
46e6c000 101 @Override
5cf4714f 102 public boolean onOptionsItemSelected(final MenuItem item) {
8a08d036
MG
103 // Handle item selection
104 switch (item. getItemId()) {
55084aed 105 case R.id.deleteevent:
dc52b261
P
106 final Bundle b=new Bundle();
107 b.putParcelable("Event",event);
108 d.setArguments(b);
55084aed 109 d.show(getFragmentManager(), "Delete");
dc52b261 110
55084aed
MG
111 return true;
112 case R.id.eventlist:
539deec9 113 final Intent it=new Intent(this, EventListActivity.class);
55084aed
MG
114 startActivity(it);
115 return true;
116 case R.id.edit_event:
539deec9 117 AddEventActivity.editEvent(this, event);
55084aed
MG
118 return true;
119 case R.id.add_alarm:
539deec9
MG
120 final Intent intent = new Intent(this, AddAlarmActivity.class);
121 intent.putExtra(AddAlarmActivity.EXTRA_EVENT, event._id);
122 startActivity(intent);
55084aed
MG
123 return true;
124 default:
539deec9 125 return false;
8a08d036 126 }
46e6c000 127 }
222ca38d 128}
This page took 0.027647 seconds and 4 git commands to generate.