Removes final atribute from Event fields. Fixes a bug when setting the date
[unical.git] / src / ro / ieval / unical / AddEventActivity.java
index 5606b65fca91679c93bfc561e585160ea5d18c05..6284b732076cffc93c1e6937f3fc01270c21a567 100644 (file)
@@ -1,26 +1,36 @@
 package ro.ieval.unical;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
 import android.app.ActionBar;
 import android.app.Activity;
-import android.app.DialogFragment;
+import android.app.DatePickerDialog.OnDateSetListener;
 import android.app.Fragment;
+import android.app.TimePickerDialog.OnTimeSetListener;
 import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
+import android.widget.DatePicker;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.TimePicker;
+
+public final class AddEventActivity extends Activity implements OnDateSetListener, OnTimeSetListener{
+       private TextView dateTimeTextView;
 
-public final class AddEventActivity extends Activity {
        @Override
        protected void onCreate(final Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.add_event);
-               setTitle(R.string.addeventtitle);
+               setTitle(R.string.add_event_title);
                final ActionBar actionBar = getActionBar();
                actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
                final ActionBar.Tab t1 = actionBar.newTab().setText(this.getString(R.string.addevtab1));
                final ActionBar.Tab t2 = actionBar.newTab().setText(this.getString(R.string.addevtab2));
                final ActionBar.Tab t3 = actionBar.newTab().setText(this.getString(R.string.addevtab3));
-               
+
                final Fragment f1 = new TrivialFragment();
                final Bundle b1=new Bundle();
                b1.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_basic_tab);
@@ -35,42 +45,74 @@ public final class AddEventActivity extends Activity {
                final Bundle b3=new Bundle();
                b3.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_other_tab);
                f3.setArguments(b3);
-               
+
                t1.setTabListener(new AddEventTabListener(f1));
                t2.setTabListener(new AddEventTabListener(f2));
                t3.setTabListener(new AddEventTabListener(f3));
-               
+
                actionBar.addTab(t1);
                actionBar.addTab(t2);
                actionBar.addTab(t3);
        }
-       
+
        @Override
        public boolean onCreateOptionsMenu(final Menu menu) {
                final MenuInflater inflater = getMenuInflater();
                inflater.inflate(R.menu.add_event, menu);
                return true;
        }
-       
+
        @Override
        public boolean onOptionsItemSelected(final MenuItem item) {
                switch (item.getItemId()) {
                        case R.id.cancel:
                                finish();
                                return true;
+            case R.id.save:
+                Event e = getEvent(this);
+                return true;
                        default:
                                return false;
                }
        }
-       
-       public void showTimePickerDialog(View v) {
-               if(v.getId()==R.id.date_start || v.getId()==R.id.date_end) {
-                       DialogFragment newFragment = new DatePickerFragment();
-                       newFragment.show(getFragmentManager(),"datePicker");
-               }
-               else {
-                       DialogFragment newFragment = new TimePickerFragment();
-                       newFragment.show(getFragmentManager(), "timePicker");
-               }
+
+    private Event getEvent(final Activity v) {
+        //TODO get all information
+        final long _id=23;//blatul olimpic
+        final String organizer="";
+        final String title="";
+        final String eventLocation="";
+        final String description="";
+        final int eventColor=0;
+        final long dtstart=0;
+        final long dtend=0;
+        final long calendarID = 0;
+        System.out.print(title + description);
+        Event ret = new Event(_id,organizer,title,eventLocation,description,eventColor,dtstart,dtend,calendarID);
+        return ret;
+    }
+
+    public void showDateTimePickerDialog(final View v) {
+               dateTimeTextView=(TextView) v;
+               if(v.getId()==R.id.date_start || v.getId()==R.id.date_end || v.getId() == R.id.repeat_until)
+                       new DatePickerFragment().show(getFragmentManager(), "datePicker");
+               else
+                       new TimePickerFragment().show(getFragmentManager(), "timePicker");
+       }
+
+       @Override
+       public void onTimeSet(final TimePicker picker, final int hour, final int minute) {
+               dateTimeTextView.setText(String.format("%02d:%02d",hour,minute));
+               if(dateTimeTextView.getId() == R.id.time_start)
+                       ((TextView)findViewById(R.id.time_end)).setText(String.format("%2d:%2d",hour,minute));
+       }
+
+       @Override
+       public void onDateSet(final DatePicker picker, final int year, final int monthOfYear, final int dayOfMonth) {
+               final Calendar calendar=new GregorianCalendar(year, monthOfYear, dayOfMonth);
+               dateTimeTextView.setText(Utils.formatDate(year, monthOfYear, dayOfMonth));
+               //calendar.add(Calendar.DAY_OF_MONTH, 1);
+               if(dateTimeTextView.getId() == R.id.date_start)
+                       ((TextView)findViewById(R.id.date_end)).setText(Utils.formatDate(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)));
        }
 }
This page took 0.011934 seconds and 4 git commands to generate.