X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FEventListActivity.java;h=346178152de3da4fcb89fb7e5172d4b4f68e5f91;hb=86ad378625e166a5ea5b03614c5926616000bd55;hp=793573b3eec05a220041d0ee046a1f492144903c;hpb=0b5b93a4bba05c21f665c0940d21be70bd7a82ea;p=unical.git diff --git a/src/ro/ieval/unical/EventListActivity.java b/src/ro/ieval/unical/EventListActivity.java index 793573b..3461781 100644 --- a/src/ro/ieval/unical/EventListActivity.java +++ b/src/ro/ieval/unical/EventListActivity.java @@ -1,40 +1,110 @@ package ro.ieval.unical; +import android.app.ListActivity; +import android.content.Context; +import android.content.Intent; +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.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.GregorianCalendar; -import java.text.DateFormat; +import java.util.Comparator; import java.util.Date; -import ro.ieval.unical.R; -import android.app.Activity; -import android.os.Bundle; -import android.text.format.DateUtils; -import android.widget.Button; -import android.widget.LinearLayout; +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; + + @Override + public void onListItemClick(final ListView view, final View v, final int pos, final long id) { + DisplayEventActivity.displayEvent(this, events[pos]._id); + } + 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(); + } -public class EventListActivity extends Activity { - GregorianCalendar gc; - @Override - protected void onCreate(Bundle savedInstanceState) { - // TODO Auto-generated method stub + 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); - Button[] b=new Button[10]; - Arrays.sort(r,new EventComparator()); - for(int i=0; i