Add delete method to Event
[unical.git] / src / ro / ieval / unical / Event.java
CommitLineData
bdd8f09c 1package ro.ieval.unical;
7be52756 2
39f0cac1
MG
3import android.content.ContentResolver;
4import android.content.Context;
7be52756 5import android.database.Cursor;
4b8bd2f8 6import android.net.Uri;
39f0cac1
MG
7import android.os.Parcel;
8import android.os.Parcelable;
9import android.provider.CalendarContract.Events;
7be52756 10
39f0cac1
MG
11final class Event implements Parcelable{
12 public static final Parcelable.Creator<Event> CREATOR = new Parcelable.Creator<Event>() {
13 @Override
14 public Event createFromParcel(Parcel source) {
d022ee49 15 return new Event(source.readLong(), source.readString(), source.readString(), source.readString(), source.readString(), source.readInt(), source.readLong(), source.readLong());
39f0cac1
MG
16 }
17
18 @Override
19 public Event[] newArray(int size) {
20 return new Event[size];
21 }
22 };
23
24 private static final String[] PROJECTION = {
25 Events._ID,
26 Events.ORGANIZER,
27 Events.TITLE,
28 Events.EVENT_LOCATION,
29 Events.DESCRIPTION,
30 Events.EVENT_COLOR,
31 Events.DTSTART,
32 Events.DTEND,
7be52756 33
39f0cac1
MG
34 };
35
36 /** Event ID */
d022ee49 37 public final long _id;
39f0cac1
MG
38 /** Event owner */
39 public final String organizer;
40 /** Event title */
41 public final String title;
42 /** Event location */
43 public final String eventLocation;
44 /** Event description */
45 public final String description;
46 /** Event colour */
47 public final int eventColour;
48 /** Event start time (UTC milliseconds since epoch) */
49 public final long dtstart;
50 /** Event end time (UTC milliseconds since epoch) */
51 public final long dtend;
52
d022ee49 53 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) {
39f0cac1
MG
54 this._id=_id;
55 this.organizer=organizer;
56 this.title=title;
57 this.eventLocation=eventLocation;
58 this.description=description;
59 this.eventColour=eventColor;
60 this.dtstart=dtstart;
61 this.dtend=dtend;
62 }
63
64 public static Event[] getEventsByCalendar(final Context context, final int calendarID){
65 final ContentResolver cr=context.getContentResolver();
66 final Cursor cursor = cr.query(Events.CONTENT_URI,
67 PROJECTION,
68 Events.CALENDAR_ID+" = ?",
69 new String[]{Integer.toString(calendarID)},
70 null);
71 cursor.moveToFirst();
72 final Event[] events = new Event[cursor.getCount()];
73 for(int i=0;i<events.length;i++)
74 events[i]=new Event(cursor.getInt(0), cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4), cursor.getInt(5), cursor.getLong(6), cursor.getLong(7));
75 return events;
76 }
77
4b8bd2f8
MG
78 public void delete(final Context context){
79 final ContentResolver cr=context.getContentResolver();
80 cr.delete(Uri.withAppendedPath(Events.CONTENT_URI, Long.toString(_id)), null, null);
81 }
82
39f0cac1
MG
83 @Override
84 public int describeContents() {
85 return 0;
86 }
87
88 @Override
89 public void writeToParcel(Parcel dest, int flags) {
d022ee49 90 dest.writeLong(_id);
39f0cac1
MG
91 dest.writeString(organizer);
92 dest.writeString(title);
93 dest.writeString(eventLocation);
94 dest.writeString(description);
95 dest.writeInt(eventColour);
96 dest.writeLong(dtstart);
97 dest.writeLong(dtend);
bdd8f09c
PT
98 }
99}
This page took 0.015651 seconds and 4 git commands to generate.