1 package ro
.ieval
.unical
;
3 import android
.app
.ListActivity
;
4 import android
.content
.Context
;
5 import android
.content
.Intent
;
6 import android
.os
.Bundle
;
7 import android
.view
.LayoutInflater
;
8 import android
.view
.Menu
;
9 import android
.view
.MenuInflater
;
10 import android
.view
.MenuItem
;
11 import android
.view
.View
;
12 import android
.view
.ViewGroup
;
13 import android
.widget
.AdapterView
.OnItemClickListener
;
14 import android
.widget
.AdapterView
;
15 import android
.widget
.ArrayAdapter
;
16 import android
.widget
.ListView
;
17 import android
.widget
.TextView
;
18 import java
.util
.Arrays
;
19 import java
.util
.Comparator
;
20 import java
.util
.Date
;
22 public final class EventListActivity
extends ListActivity
{
23 private static class EventComparator
implements Comparator
<Event
> {
25 public int compare(final Event lhs
, final Event rhs
) {
26 if(lhs
.dtstart
< rhs
.dtstart
)
28 if(lhs
.dtstart
== rhs
.dtstart
)
35 private class EventAdapter
extends ArrayAdapter
<Event
> {
36 public EventAdapter() {//NOPMD
37 super(EventListActivity
.this, R
.layout
.event_row_layout
, events
);
41 public View
getView(final int position
, final View convertView
, final ViewGroup parent
) {
42 final LayoutInflater inflater
= (LayoutInflater
) getSystemService(Context
.LAYOUT_INFLATER_SERVICE
);
43 final View rowView
= inflater
.inflate(R
.layout
.event_row_layout
, parent
, false);
44 final TextView title
= (TextView
) rowView
.findViewById(R
.id
.smalleventtitle
);
45 final TextView dstart
= (TextView
) rowView
.findViewById(R
.id
.smalldatestart
);
46 final TextView dend
= (TextView
) rowView
.findViewById(R
.id
.smalldateend
);
47 final View header
= rowView
.findViewById(R
.id
.rowHeader
);
48 header
.setBackgroundColor(events
[position
].eventColour
);
49 title
.setText(events
[position
].title
);
50 dstart
.setText(new Date(events
[position
].dtstart
).toString());
51 dend
.setText(new Date(events
[position
].dtend
).toString());
57 private Event
[] events
;
60 public void onListItemClick(final ListView view
, final View v
, final int pos
, final long id
) {
61 DisplayEventActivity
.displayEvent(this, events
[pos
]);
64 private void displayEvents() {
65 events
= Event
.getAllEvents(this);
67 Arrays
.sort(events
, new EventComparator());
68 int idx
=-1;//index of the first event to be displayed
69 for(int i
=0; i
<events
.length
; ++i
)
70 if(idx
==-1 && events
[i
].dtend
>new Date().getTime()) idx
=i
;
73 setListAdapter(new EventAdapter());
74 getListView().setSelectionFromTop(idx
, 0);
78 protected void onCreate(final Bundle savedInstanceState
) {
79 super.onCreate(savedInstanceState
);
84 public boolean onCreateOptionsMenu(final Menu menu
) {
85 final MenuInflater inflater
= getMenuInflater();
86 inflater
.inflate(R
.menu
.event_list
, menu
);
91 public boolean onOptionsItemSelected(final MenuItem item
) {
92 switch (item
.getItemId()) {
94 startActivity(new Intent(this,AddEventActivity
.class));