X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FEventListActivity.java;h=8763aebeb798ad0b3ace6e5594af4fe2f8620dfc;hb=dc52b2617d80acc8b1c82a96f2fcb4fb8de7885c;hp=24732602009bb2377fd9aaa29561aa3c6f176e3e;hpb=0c5f3a9bca6621c3341ee2076ec8dad9ab556b72;p=unical.git diff --git a/src/ro/ieval/unical/EventListActivity.java b/src/ro/ieval/unical/EventListActivity.java index 2473260..8763aeb 100644 --- a/src/ro/ieval/unical/EventListActivity.java +++ b/src/ro/ieval/unical/EventListActivity.java @@ -1,56 +1,110 @@ package ro.ieval.unical; -import java.util.Arrays; -import java.util.Date; -import java.util.GregorianCalendar; - -import android.app.Activity; +import android.app.ListActivity; +import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; -import android.view.View.OnClickListener; -import android.widget.Button; -import android.widget.LinearLayout; +import android.view.ViewGroup; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.TextView; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Date; + +public final class EventListActivity extends ListActivity { + private static class EventComparator implements Comparator { + @Override + public int compare(final Event lhs, final Event rhs) { + if(lhs.dtstart < rhs.dtstart) + return -1; + if(lhs.dtstart == rhs.dtstart) + return 0; + return 1; + } + + } + + private class EventAdapter extends ArrayAdapter { + public EventAdapter() {//NOPMD + super(EventListActivity.this, R.layout.event_row_layout, events); + } + + @Override + public View getView(final int position, final View convertView, final ViewGroup parent) { + final LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); + final View rowView = inflater.inflate(R.layout.event_row_layout, parent, false); + final TextView title = (TextView) rowView.findViewById(R.id.smalleventtitle); + final TextView dstart = (TextView) rowView.findViewById(R.id.smalldatestart); + final TextView dend = (TextView) rowView.findViewById(R.id.smalldateend); + final View header = rowView.findViewById(R.id.rowHeader); + header.setBackgroundColor(events[position].eventColour); + title.setText(events[position].title); + dstart.setText(new Date(events[position].dtstart).toString()); + dend.setText(new Date(events[position].dtend).toString()); + + return rowView; + } + } + private Event[] events; -public class EventListActivity extends Activity { - GregorianCalendar gc; - @Override - protected void onCreate(Bundle savedInstanceState) { - // TODO Auto-generated method stub + public void onListItemClick(final ListView view, final View v, final int pos, final long id) { + DisplayEventActivity.displayEvent(this, events[pos]); + } + + private void displayEvents() { + events = Event.getAllEvents(this); + + Arrays.sort(events, new EventComparator()); + int idx=-1;//index of the first event to be displayed + for(int i=0; inew Date().getTime()) idx=i; + if(idx==-1) idx=0; + + setListAdapter(new EventAdapter()); + getListView().setSelectionFromTop(idx, 0); + } + + @Override + protected void onStart() { + super.onStart(); + displayEvents(); + } + + @Override + protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.event_list); - - Date d=new Date(); - d.getTime(); - gc=new GregorianCalendar(); - gc.setTime(d); - - Event r[]=Event.getAllEvents(getBaseContext()); - LinearLayout ll = (LinearLayout)findViewById(R.id.eventslayout); - Arrays.sort(r,new EventComparator()); - EventButton[] b=new EventButton[10000]; - for(int i=0; i