X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FAddEventActivity.java;h=80f7a04d535fd04a2b634d8cb284f2ae50517216;hb=6aaa31972ebf53006c153ac3c4868c12a1136f79;hp=4c761d69c2f4730e69d605520ddcf56738cf4e1b;hpb=1b1953ccc82e7c452c84b09e79e2d8dd434ec90c;p=unical.git diff --git a/src/ro/ieval/unical/AddEventActivity.java b/src/ro/ieval/unical/AddEventActivity.java index 4c761d6..80f7a04 100644 --- a/src/ro/ieval/unical/AddEventActivity.java +++ b/src/ro/ieval/unical/AddEventActivity.java @@ -4,6 +4,7 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; +import java.util.TimeZone; import android.app.ActionBar; import android.app.Activity; @@ -76,11 +77,12 @@ public final class AddEventActivity extends Activity implements OnDateSetListene private TextView dateTimeTextView; public static final String EXTRA_EVENT = "event"; - private Event event; + private static Event event=new Event(); public static void editEvent(final Context c, final Event e) { final Intent i = new Intent(c,AddEventActivity.class); i.putExtra(AddEventActivity.EXTRA_EVENT,e); + event=e; c.startActivity(i); } @@ -93,34 +95,33 @@ public final class AddEventActivity extends Activity implements OnDateSetListene final ActionBar actionBar = getActionBar(); setContentView(R.layout.add_event); - if(getIntent().hasExtra(EXTRA_EVENT)) { - final LinearLayout layout = (LinearLayout) findViewById(R.id.repeat_layout); - final Switch repeatSwitch = (Switch) findViewById(R.id.repeat_switch); - Utils.setEnabledRecursively(layout, false); - - repeatSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener(layout)); - - EditText title = (EditText) findViewById(R.id.eventtitle); - title.setText(event.title); - - TextView tstart = (TextView) findViewById(R.id.time_start); - TextView tend = (TextView) findViewById(R.id.time_end); - SimpleDateFormat sf=new SimpleDateFormat("HH:mm"); - Date d=new Date(event.dtstart); - tstart.setText(sf.format(d).toString()); - d.setTime(event.dtend); - tend.setText(sf.format(d).toString()); - - SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); - TextView dstart = (TextView)findViewById(R.id.date_start); - TextView dend = (TextView)findViewById(R.id.date_end); - d.setTime(event.dtstart); - dstart.setText(sd.format(d).toString()); - d.setTime(event.dtend); - dend.setText(sd.format(d).toString()); - EditText description = (EditText) findViewById(R.id.description); - description.setText(event.description); - } + final LinearLayout layout = (LinearLayout) findViewById(R.id.repeat_layout); + final Switch repeatSwitch = (Switch) findViewById(R.id.repeat_switch); + Utils.setEnabledRecursively(layout, false); + + repeatSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener(layout)); + + final EditText title = (EditText) findViewById(R.id.eventtitle); + title.requestFocus(); + title.setText(event.title); + + final TextView tstart = (TextView) findViewById(R.id.time_start); + final TextView tend = (TextView) findViewById(R.id.time_end); + final SimpleDateFormat sf=new SimpleDateFormat("HH:mm"); + final Date d=new Date(event.dtstart); + tstart.setText(sf.format(d).toString()); + d.setTime(event.dtend); + tend.setText(sf.format(d).toString()); + + final SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + final TextView dstart = (TextView)findViewById(R.id.date_start); + final TextView dend = (TextView)findViewById(R.id.date_end); + d.setTime(event.dtstart); + dstart.setText(sd.format(d).toString()); + d.setTime(event.dtend); + dend.setText(sd.format(d).toString()); + final EditText description = (EditText) findViewById(R.id.description); + description.setText(event.description); } @Override @@ -144,12 +145,14 @@ public final class AddEventActivity extends Activity implements OnDateSetListene cv.put(CalendarContract.Calendars.OWNER_ACCOUNT, "unical"); cv.put(CalendarContract.Calendars.VISIBLE, 1); cv.put(CalendarContract.Calendars.SYNC_EVENTS, 1); + cv.put(CalendarContract.Calendars.CALENDAR_TIME_ZONE, TimeZone.getDefault().getID()); calUri = calUri.buildUpon() .appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true") .appendQueryParameter(CalendarContract.Calendars.ACCOUNT_NAME, "unical") .appendQueryParameter(CalendarContract.Calendars.ACCOUNT_TYPE, CalendarContract.ACCOUNT_TYPE_LOCAL) .build(); + this.getContentResolver().delete(calUri, CalendarContract.Calendars.ACCOUNT_NAME + " = 'unical'", new String[0]); this.getContentResolver().insert(calUri, cv); Event.calendarCreated=true; } @@ -161,24 +164,31 @@ public final class AddEventActivity extends Activity implements OnDateSetListene finish(); return true; case R.id.save: - - Event ev=new Event(); - ev.title=((EditText)findViewById(R.id.eventtitle)).getText().toString(); + boolean edit=false; + if(event.title!=null) edit=true; + event.title=((EditText)findViewById(R.id.eventtitle)).getText().toString(); String start=((TextView)findViewById(R.id.date_start)).getText().toString()+ " " +((TextView)findViewById(R.id.time_start)).getText().toString(); String end=((TextView)findViewById(R.id.date_end)).getText().toString()+ " "+((TextView)findViewById(R.id.time_end)).getText().toString(); try { Date s=new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(start); Date e=new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(end); - ev.dtstart=s.getTime(); - ev.dtend=s.getTime(); + event.dtstart=s.getTime(); + event.dtend=e.getTime(); } catch (ParseException e) { e.printStackTrace(); } - ev.description=((EditText) findViewById(R.id.description)).getText().toString(); + event.description=((EditText) findViewById(R.id.description)).getText().toString(); - if(!Event.calendarCreated) createCalendar(); + if(!Event.calendarCreated)createCalendar(); + if(event.calendarID!=Event.getUnicalId(this)) { + edit=false; + event.delete(this); + } + event.calendarID=Event.getUnicalId(this); + if(!edit) event.insert(this); + else event.edit(this); Toast toast = Toast.makeText(getApplicationContext(),"Event saved!",Toast.LENGTH_LONG); toast.show(); @@ -215,7 +225,7 @@ public final class AddEventActivity extends Activity implements OnDateSetListene 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)); + ((TextView)findViewById(R.id.time_end)).setText(String.format("%02d:%02d",hour,minute)); } @Override