1 package ro
.ieval
.unical
;
3 import java
.util
.ArrayList
;
4 import java
.util
.TimeZone
;
6 import android
.content
.ContentResolver
;
7 import android
.content
.ContentValues
;
8 import android
.content
.Context
;
9 import android
.database
.Cursor
;
10 import android
.graphics
.Color
;
11 import android
.net
.Uri
;
12 import android
.os
.Parcel
;
13 import android
.os
.Parcelable
;
14 import android
.provider
.BaseColumns
;
15 import android
.provider
.CalendarContract
;
16 import android
.provider
.CalendarContract
.Events
;
18 final class Event
implements Parcelable
{
19 public static final Parcelable
.Creator
<Event
> CREATOR
= new Parcelable
.Creator
<Event
>() {
21 public Event
createFromParcel(final Parcel source
) {
22 return new Event(source
.readLong(), source
.readString(), source
.readString(), source
.readString(), source
.readString(), source
.readInt(), source
.readLong(), source
.readLong(), source
.readLong());
26 public Event
[] newArray(final int size
) {
27 return new Event
[size
];
31 private static final String
[] PROJECTION
= {
35 Events
.EVENT_LOCATION
,
46 public String organizer
;
50 public String eventLocation
;
51 /** Event description */
52 public String description
;
54 public int eventColour
;
55 /** Event start time (UTC milliseconds since epoch) */
57 /** Event end time (UTC milliseconds since epoch) */
60 public long calendarID
;
62 public static Boolean calendarCreated
=false;
65 dtstart
= System
.currentTimeMillis();
66 dtend
= dtstart
+ 60*60*1000;
69 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
) {
71 this.organizer
=organizer
;
73 this.eventLocation
=eventLocation
;
74 this.description
=description
;
75 this.eventColour
=eventColor
;
78 this.calendarID
=calendarID
;
81 public static Event
[] getEventsByCalendar(final Context context
, final Calendar calendar
, final String sort
){
82 final ContentResolver cr
=context
.getContentResolver();
83 final Cursor cursor
= cr
.query(Events
.CONTENT_URI
,
85 Events
.CALENDAR_ID
+" = ?",
86 new String
[]{Long
.toString(calendar
._id
)},
89 final Event
[] events
= new Event
[cursor
.getCount()];
90 for(int i
=0;i
<events
.length
;i
++){
91 int colour
=cursor
.getInt(5);
92 colour
=colour
== 0 ? calendar
.colour
: colour
;
93 events
[i
]=new Event(cursor
.getLong(0), cursor
.getString(1), cursor
.getString(2), cursor
.getString(3), cursor
.getString(4), colour
, cursor
.getLong(6), cursor
.getLong(7), cursor
.getLong(8));
100 public static Event
getEventById(final Context context
, final long id
){
101 final ContentResolver cr
=context
.getContentResolver();
102 final Cursor cursor
= cr
.query(Events
.CONTENT_URI
,
104 BaseColumns
._ID
+" = ?",
105 new String
[]{Long
.toString(id
)},
108 if(cursor
.moveToFirst()){
109 int colour
=cursor
.getInt(5);
110 colour
=colour
== 0 ? Calendar
.getCalendarById(context
, cursor
.getLong(8)).colour
: colour
;
111 event
= new Event(cursor
.getLong(0), cursor
.getString(1), cursor
.getString(2), cursor
.getString(3), cursor
.getString(4), colour
, cursor
.getLong(6), cursor
.getLong(7), cursor
.getLong(8));
118 public static Event
[] getAllEvents(final Context context
) {
119 final ArrayList
<Event
> r
= new ArrayList
<Event
>();
120 for(final Calendar calendar
: Calendar
.getAllCalendars(context
)) {
121 if(calendar
.name
.equals("unical")) calendarCreated
=true;
122 for(final Event event
: getEventsByCalendar(context
, calendar
, null))
125 return r
.toArray(new Event
[r
.size()]);
128 public static long getUnicalId(final Context context
) {
129 for(final Calendar calendar
: Calendar
.getAllCalendars(context
))
130 if(calendar
.name
.equals("unical")) return calendar
._id
;
136 public void insert(final Context context
) {
137 ContentValues cv
= new ContentValues();
138 cv
.put("calendar_id",calendarID
);
139 cv
.put("title",title
);
140 cv
.put("description",description
);
141 cv
.put("dtstart",dtstart
);
142 cv
.put("dtend",dtend
);
143 cv
.put("eventTimezone", TimeZone
.getDefault().getID());
145 Uri url
= context
.getContentResolver().insert(Events
.CONTENT_URI
, cv
);
148 public void delete(final Context context
){
149 final ContentResolver cr
=context
.getContentResolver();
150 cr
.delete(Uri
.withAppendedPath(Events
.CONTENT_URI
, Long
.toString(_id
)), null, null);
154 public int describeContents() {
159 public void writeToParcel(final Parcel dest
, final int flags
) {
161 dest
.writeString(organizer
);
162 dest
.writeString(title
);
163 dest
.writeString(eventLocation
);
164 dest
.writeString(description
);
165 dest
.writeInt(eventColour
);
166 dest
.writeLong(dtstart
);
167 dest
.writeLong(dtend
);
168 dest
.writeLong(calendarID
);
This page took 0.024886 seconds and 4 git commands to generate.