27eaef5dc26317c53474d25580a55f4a13bd0f8e
[unical.git] / src / ro / ieval / unical / EventListActivity.java
1 package ro.ieval.unical;
2
3 import java.util.Arrays;
4 import java.util.Comparator;
5 import java.util.Date;
6 import android.app.Activity;
7 import android.content.Intent;
8 import android.os.Bundle;
9 import android.view.Menu;
10 import android.view.MenuInflater;
11 import android.view.MenuItem;
12 import android.view.View;
13 import android.widget.AdapterView;
14 import android.widget.AdapterView.OnItemClickListener;
15 import android.widget.ListView;
16
17
18 public class EventListActivity extends Activity {
19
20 //Used to refresh events if the user wants to display only certain events
21 //Sry for bad english
22 //Muie la comisie
23 private void displayEvents() {
24 final Event events[]=Event.getAllEvents(getBaseContext());
25 final ListView lv = (ListView) findViewById(R.id.eventlist);
26
27 Arrays.sort(events,new EventComparator());
28 int idx=-1;//index of the first event to be displayed
29 for(int i=0; i<events.length; ++i)
30 if(idx==-1 && events[i].dtend>new Date().getTime()) idx=i;
31 if(idx==-1) idx=0;
32
33 final EventAdapter adapter = new EventAdapter(this, events);
34 lv.setAdapter(adapter);
35 lv.setSelectionFromTop(idx, 0);
36 lv.setOnItemClickListener(new OnItemClickListener() {
37
38 @Override
39 public void onItemClick(final AdapterView<?> arg0, final View arg1, final int arg2,
40 final long arg3) {
41 DisplayEventActivity.displayEvent(EventListActivity.this,events[arg2]);
42 }
43
44 });
45 }
46
47 private static class EventComparator implements Comparator<Event> {
48 @Override
49 public int compare(final Event lhs, final Event rhs) {
50 if(lhs.dtstart < rhs.dtstart)
51 return -1;
52 if(lhs.dtstart == rhs.dtstart)
53 return 0;
54 return 1;
55 }
56
57 }
58
59 @Override
60 protected void onCreate(final Bundle savedInstanceState) {
61 super.onCreate(savedInstanceState);
62 setContentView(R.layout.event_list);
63
64 displayEvents();
65 }
66
67 @Override
68 public boolean onCreateOptionsMenu(final Menu menu) {
69 final MenuInflater inflater = getMenuInflater();
70 inflater.inflate(R.menu.event_list, menu);
71 return true;
72 }
73
74 @Override
75 public boolean onOptionsItemSelected(final MenuItem item) {
76 switch (item.getItemId()) {
77 case R.id.add_event:
78 final Intent i=new Intent(this,AddEventActivity.class);
79 startActivity(i);
80 return true;
81 case R.id.refresh:
82 displayEvents();
83 return true;
84 default:
85 return false;
86 }
87 }
88
89 }
This page took 0.023981 seconds and 3 git commands to generate.