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