X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FAddEventActivity.java;h=373c4f9088053009a087e8e11c544785d212428d;hb=50aea3a53570014d2cfccdacfa0c589132c96e72;hp=5d1c1c133f4b88344b2fe4b85bfabf9a250d1fc7;hpb=7908d49ec7c6e26c0564b6ceb3b541b016f1ab78;p=unical.git diff --git a/src/ro/ieval/unical/AddEventActivity.java b/src/ro/ieval/unical/AddEventActivity.java index 5d1c1c1..373c4f9 100644 --- a/src/ro/ieval/unical/AddEventActivity.java +++ b/src/ro/ieval/unical/AddEventActivity.java @@ -1,17 +1,23 @@ package ro.ieval.unical; +import java.text.ParseException; 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; import android.app.DatePickerDialog.OnDateSetListener; import android.app.Fragment; import android.app.TimePickerDialog.OnTimeSetListener; +import android.content.ContentValues; import android.content.Context; import android.content.Intent; +import android.graphics.Color; +import android.net.Uri; import android.os.Bundle; +import android.provider.CalendarContract; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -71,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); } @@ -88,34 +95,32 @@ 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.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 @@ -125,6 +130,32 @@ public final class AddEventActivity extends Activity implements OnDateSetListene return true; } + public void createCalendar() { + Uri calUri,result; + ContentValues cv; + calUri = CalendarContract.Calendars.CONTENT_URI; + cv = new ContentValues(); + cv.put(CalendarContract.Calendars.ACCOUNT_NAME,"unical"); + cv.put(CalendarContract.Calendars.ACCOUNT_TYPE,CalendarContract.ACCOUNT_TYPE_LOCAL); + cv.put(CalendarContract.Calendars.NAME,"unical"); + cv.put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, "Unical"); + cv.put(CalendarContract.Calendars.CALENDAR_COLOR, Color.BLACK); + cv.put(CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL, CalendarContract.Calendars.CAL_ACCESS_OWNER); + 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; + } + @Override public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) { @@ -132,7 +163,26 @@ public final class AddEventActivity extends Activity implements OnDateSetListene finish(); return true; case R.id.save: - System.out.println("MuieLaComisie\n"+event.title); + + if(event.title!=null) event.delete(this); + 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); + event.dtstart=s.getTime(); + event.dtend=s.getTime(); + } catch (ParseException e) { + e.printStackTrace(); + } + + event.description=((EditText) findViewById(R.id.description)).getText().toString(); + + if(!Event.calendarCreated)createCalendar(); + event.calendarID=Event.getUnicalId(this); + event.insert(this); Toast toast = Toast.makeText(getApplicationContext(),"Event saved!",Toast.LENGTH_LONG); toast.show();