]>
Commit | Line | Data |
---|---|---|
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.ArrayAdapter; | |
19 | import android.widget.Button; | |
20 | import android.widget.ListView; | |
21 | import android.widget.TextView; | |
22 | ||
23 | public class DisplayEventActivity extends Activity { | |
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 | ||
36 | public static final String EXTRA_EVENT = "event"; | |
37 | private Event event; | |
38 | private final DeleteEventDialog d=new DeleteEventDialog(); | |
39 | ||
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))); | |
49 | date.setText(DateFormat.getDateTimeInstance().format(getItem(position))); | |
50 | ||
51 | return rowView; | |
52 | } | |
53 | }); | |
54 | } | |
55 | ||
56 | public static void displayEvent(final Context context, final long id){ | |
57 | final Intent i=new Intent(context,DisplayEventActivity.class); | |
58 | i.putExtra(DisplayEventActivity.EXTRA_EVENT, id); | |
59 | context.startActivity(i); | |
60 | } | |
61 | ||
62 | @Override | |
63 | protected void onStart() { | |
64 | super.onStart(); | |
65 | event=getIntent().hasExtra(EXTRA_EVENT) ? Event.getEventById(this, getIntent().getLongExtra(EXTRA_EVENT, 0)) : new Event(); | |
66 | setContentView(R.layout.event_view); | |
67 | setTitle(event.title); | |
68 | ||
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); | |
75 | final TextView description= (TextView) findViewById(R.id.event_view_description);; | |
76 | ||
77 | final Date start=new Date(event.dtstart); | |
78 | final Date end=new Date(event.dtend); | |
79 | final DateFormat dateFormat = DateFormat.getDateInstance(); | |
80 | final DateFormat timeFormat = DateFormat.getTimeInstance(); | |
81 | final DateFormat dayOfWeekFormat = new SimpleDateFormat("EEEEEEE", Locale.UK); | |
82 | ||
83 | startDay.setText(dayOfWeekFormat.format(start)); | |
84 | if(!dateFormat.format(start).equals(dateFormat.format(end))) { | |
85 | endDay.setText(dayOfWeekFormat.format(end)); | |
86 | endDate.setText(dateFormat.format(end)); | |
87 | } | |
88 | startDate.setText(dateFormat.format(start)); | |
89 | startTime.setText(timeFormat.format(start)); | |
90 | endTime.setText(timeFormat.format(end)); | |
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.eventlist: | |
114 | final Intent it=new Intent(this, EventListActivity.class); | |
115 | startActivity(it); | |
116 | return true; | |
117 | case R.id.edit_event: | |
118 | AddEventActivity.editEvent(this, event); | |
119 | return true; | |
120 | case R.id.add_alarm: | |
121 | final Intent intent = new Intent(this, AddAlarmActivity.class); | |
122 | intent.putExtra(AddAlarmActivity.EXTRA_EVENT, event._id); | |
123 | startActivity(intent); | |
124 | return true; | |
125 | default: | |
126 | return false; | |
127 | } | |
128 | } | |
129 | } |