X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FEvent.java;h=23ccd74d5488b9ba411464bc294bf315c540a7ee;hb=0c5f3a9bca6621c3341ee2076ec8dad9ab556b72;hp=4c6abba0bf22b4d91c1163148eca03069573aa1a;hpb=39f0cac1576f119c2fe8c01f3527d21aa2564b46;p=unical.git diff --git a/src/ro/ieval/unical/Event.java b/src/ro/ieval/unical/Event.java index 4c6abba..23ccd74 100644 --- a/src/ro/ieval/unical/Event.java +++ b/src/ro/ieval/unical/Event.java @@ -1,27 +1,31 @@ package ro.ieval.unical; +import java.util.ArrayList; + import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; +import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; +import android.provider.BaseColumns; 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) { - return new Event(source.readInt(), source.readString(), source.readString(), source.readString(), source.readString(), source.readInt(), source.readLong(), source.readLong()); + 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, @@ -29,11 +33,11 @@ final class Event implements Parcelable{ Events.EVENT_COLOR, Events.DTSTART, Events.DTEND, - + Events.CALENDAR_ID, }; /** Event ID */ - public final int _id; + public final long _id; /** Event owner */ public final String organizer; /** Event title */ @@ -48,8 +52,10 @@ final class Event implements Parcelable{ public final long dtstart; /** Event end time (UTC milliseconds since epoch) */ public final long dtend; + /** Calendar ID */ + public final long calendarID; - private Event(final int _id, final String organizer, final String title, final String eventLocation, final String description, final int eventColor, final long dtstart, final long dtend) { + 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) { this._id=_id; this.organizer=organizer; this.title=title; @@ -58,21 +64,38 @@ final class Event implements Parcelable{ this.eventColour=eventColor; this.dtstart=dtstart; this.dtend=dtend; + this.calendarID=calendarID; } - public static Event[] getEventsByCalendar(final Context context, final int calendarID){ + public static Event[] getEventsByCalendar(final Context context, final long calendarID, 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)}, - null); + new String[]{Long.toString(calendarID)}, + 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)) + for(final Event event : getEventsByCalendar(context, calendar._id, null)) + r.add(event); + return r.toArray(new Event[r.size()]); + } + + public void delete(final Context context){ + final ContentResolver cr=context.getContentResolver(); + cr.delete(Uri.withAppendedPath(Events.CONTENT_URI, Long.toString(_id)), null, null); + } @Override public int describeContents() { @@ -80,8 +103,8 @@ final class Event implements Parcelable{ } @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(_id); + public void writeToParcel(final Parcel dest, final int flags) { + dest.writeLong(_id); dest.writeString(organizer); dest.writeString(title); dest.writeString(eventLocation); @@ -89,5 +112,6 @@ final class Event implements Parcelable{ dest.writeInt(eventColour); dest.writeLong(dtstart); dest.writeLong(dtend); + dest.writeLong(calendarID); } }