adds beautiful interface for adding events
[unical.git] / src / ro / ieval / unical / EventListActivity.java
index 24732602009bb2377fd9aaa29561aa3c6f176e3e..67e0a7f06b8d8e5c85cf2e8badcc3f5774f9398e 100644 (file)
@@ -1,55 +1,86 @@
 package ro.ieval.unical;
 
 import java.util.Arrays;
+import java.util.Comparator;
 import java.util.Date;
-import java.util.GregorianCalendar;
 
 import android.app.Activity;
 import android.content.Intent;
-import android.graphics.Color;
 import android.os.Bundle;
+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.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
+import android.widget.ListView;
 
 
 public class EventListActivity extends Activity {
-       GregorianCalendar gc;
        
+       //Used to refresh events if the user wants to display only certain events
+       //Sry for bad english
+       //Muie la comisie
+       private void displayEvents() {
+               final Event events[]=Event.getAllEvents(getBaseContext());
+               final ListView lv = (ListView) findViewById(R.id.eventlist);
+               
+               Arrays.sort(events,new EventComparator());
+               int idx=-1;//index of the first event to be displayed
+               for(int i=0; i<events.length; ++i) 
+                       if(idx==-1 && events[i].dtend>new Date().getTime()) idx=i;
+               if(idx==-1) idx=0;
+
+               final EventAdapter adapter = new EventAdapter(this, events);
+               lv.setAdapter(adapter);
+               lv.setSelectionFromTop(idx, 0);
+               lv.setOnItemClickListener(new OnItemClickListener() {
+
+                       @Override
+                       public void onItemClick(final AdapterView<?> arg0, final View arg1, final int arg2,
+                                       final long arg3) {
+                               DisplayEventActivity.displayEvent(EventListActivity.this,events[arg2]);
+                       }
+                       
+               });
+       }
+       
+       private static class EventComparator implements Comparator<Event> {
+               @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;
+               }
+
+       }
+
        @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);
-               Arrays.sort(r,new EventComparator());
-               EventButton[] b=new EventButton[10000];
-               for(int i=0; i<r.length; ++i) {
-                       b[i]=new EventButton(getBaseContext(),r[i]);
-                       b[i].setText(r[i].title);
-                       
-                       b[i].setTextColor(Color.BLACK);
-                       b[i].setOnClickListener(new OnClickListener() {
-                               
-                               @Override
-                               public void onClick(View v) {
-                                       // TODO Auto-generated method stub
-                                       EventButton b=(EventButton) v;
-                                       DisplayEventActivity.displayEvent(EventListActivity.this,b.e);
-                                       //Intent i=new Intent(getBaseContext(),DisplayEventActivity.class);
-                                       //i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                                       //startActivity(i);
-                               }
-                       });
-                       ll.addView(b[i]);
+               displayEvents();
+       }
+       
+       @Override
+       public boolean onCreateOptionsMenu(final Menu menu) {
+               final MenuInflater inflater = getMenuInflater();
+               inflater.inflate(R.menu.main, menu);
+               return true;
+       }
+       
+       @Override
+       public boolean onOptionsItemSelected(final MenuItem item) {
+               switch (item.getItemId()) {
+                       case R.id.add_event:
+                               final Intent i=new Intent(this,AddEventActivity.class);
+                               startActivity(i);
+                               return true;
+                       default:
+                               return false;
                }
        }
        
This page took 0.012084 seconds and 4 git commands to generate.