Commit | Line | Data |
---|---|---|
222ca38d PT |
1 | package ro.ieval.unical; |
2 | ||
99658f57 | 3 | import java.text.SimpleDateFormat; |
222ca38d | 4 | import java.util.Date; |
8a08d036 | 5 | import java.util.Locale; |
222ca38d PT |
6 | |
7 | import android.app.Activity; | |
5cf4714f | 8 | import android.content.Context; |
46e6c000 | 9 | import android.content.Intent; |
222ca38d | 10 | import android.os.Bundle; |
539deec9 | 11 | import android.view.LayoutInflater; |
222ca38d PT |
12 | import android.view.Menu; |
13 | import android.view.MenuInflater; | |
46e6c000 | 14 | import android.view.MenuItem; |
539deec9 MG |
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; | |
222ca38d PT |
20 | import android.widget.TextView; |
21 | ||
5cf4714f | 22 | public 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 | } |