X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FEvent.java;h=6b39cb3ce9722b18f6f0e61860bd4dbbd82b679d;hb=86ad378625e166a5ea5b03614c5926616000bd55;hp=2842638598615822809285b14334882adc8163f5;hpb=fc891ea8c0845745b2cbde20d0f4a80511fa2228;p=unical.git diff --git a/src/ro/ieval/unical/Event.java b/src/ro/ieval/unical/Event.java index 2842638..6b39cb3 100644 --- a/src/ro/ieval/unical/Event.java +++ b/src/ro/ieval/unical/Event.java @@ -1,28 +1,35 @@ package ro.ieval.unical; +import java.util.ArrayList; +import java.util.TimeZone; + import android.content.ContentResolver; +import android.content.ContentValues; import android.content.Context; import android.database.Cursor; +import android.graphics.Color; import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; +import android.provider.BaseColumns; +import android.provider.CalendarContract; import android.provider.CalendarContract.Events; final class Event implements Parcelable{ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override - public Event createFromParcel(Parcel source) { + public Event createFromParcel(final Parcel source) { return new Event(source.readLong(), source.readString(), source.readString(), source.readString(), source.readString(), source.readInt(), source.readLong(), source.readLong(), source.readLong()); } @Override - public Event[] newArray(int size) { + public Event[] newArray(final int size) { return new Event[size]; } }; private static final String[] PROJECTION = { - Events._ID, + BaseColumns._ID, Events.ORGANIZER, Events.TITLE, Events.EVENT_LOCATION, @@ -34,25 +41,32 @@ final class Event implements Parcelable{ }; /** Event ID */ - public final long _id; + public long _id; /** Event owner */ - public final String organizer; + public String organizer; /** Event title */ - public final String title; + public String title; /** Event location */ - public final String eventLocation; + public String eventLocation; /** Event description */ - public final String description; + public String description; /** Event colour */ - public final int eventColour; - /** Event start time (UTC milliseconds since epoch) */ - public final long dtstart; + public int eventColour; + /** Event start time (UTC milliseconds since epoch) */ + public long dtstart; /** Event end time (UTC milliseconds since epoch) */ - public final long dtend; + public long dtend; /** Calendar ID */ - public final long calendarID; + public long calendarID; + + public static Boolean calendarCreated=false; + + public Event() { + dtstart = System.currentTimeMillis(); + dtend = dtstart + 60*60*1000; + } - private Event(final long _id, final String organizer, final String title, final String eventLocation, final String description, final int eventColor, final long dtstart, final long dtend, final long calendarID) { + public Event(final long _id, final String organizer, final String title, final String eventLocation, final String description, final int eventColor, final long dtstart, final long dtend, final long calendarID) { this._id=_id; this.organizer=organizer; this.title=title; @@ -64,20 +78,73 @@ final class Event implements Parcelable{ this.calendarID=calendarID; } - public static Event[] getEventsByCalendar(final Context context, final int calendarID, final String sort){ + public static Event[] getEventsByCalendar(final Context context, final Calendar calendar, final String sort){ final ContentResolver cr=context.getContentResolver(); final Cursor cursor = cr.query(Events.CONTENT_URI, PROJECTION, Events.CALENDAR_ID+" = ?", - new String[]{Integer.toString(calendarID)}, + new String[]{Long.toString(calendar._id)}, sort); cursor.moveToFirst(); final Event[] events = new Event[cursor.getCount()]; - for(int i=0;i r = new ArrayList(); + for(final Calendar calendar : Calendar.getAllCalendars(context)) { + if(calendar.name.equals("unical")) calendarCreated=true; + for(final Event event : getEventsByCalendar(context, calendar, null)) + r.add(event); + } + return r.toArray(new Event[r.size()]); + } + + public static long getUnicalId(final Context context) { + for(final Calendar calendar : Calendar.getAllCalendars(context)) + if(calendar.name.equals("unical")) return calendar._id; + + return 0; + } + + + public void insert(final Context context) { + ContentValues cv = new ContentValues(); + cv.put("calendar_id",calendarID); + cv.put("title",title); + cv.put("description",description); + cv.put("dtstart",dtstart); + cv.put("dtend",dtend); + cv.put("eventTimezone", TimeZone.getDefault().getID()); + + Uri url = context.getContentResolver().insert(Events.CONTENT_URI, cv); + } + public void delete(final Context context){ final ContentResolver cr=context.getContentResolver(); cr.delete(Uri.withAppendedPath(Events.CONTENT_URI, Long.toString(_id)), null, null); @@ -89,7 +156,7 @@ final class Event implements Parcelable{ } @Override - public void writeToParcel(Parcel dest, int flags) { + public void writeToParcel(final Parcel dest, final int flags) { dest.writeLong(_id); dest.writeString(organizer); dest.writeString(title);