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