X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FEvent.java;h=6b39cb3ce9722b18f6f0e61860bd4dbbd82b679d;hb=86ad378625e166a5ea5b03614c5926616000bd55;hp=65d35bfc795971b5ce48d69cbb17e30ffa878195;hpb=e4fb15ad7fab87f31ae9af7bcfe2d4f71c150125;p=unical.git diff --git a/src/ro/ieval/unical/Event.java b/src/ro/ieval/unical/Event.java index 65d35bf..6b39cb3 100644 --- a/src/ro/ieval/unical/Event.java +++ b/src/ro/ieval/unical/Event.java @@ -1,14 +1,18 @@ 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{ @@ -55,6 +59,8 @@ final class Event implements Parcelable{ /** Calendar ID */ public long calendarID; + public static Boolean calendarCreated=false; + public Event() { dtstart = System.currentTimeMillis(); dtend = dtstart + 60*60*1000; @@ -91,18 +97,52 @@ final class Event implements Parcelable{ return events; } + public static Event getEventById(final Context context, final long id){ + final ContentResolver cr=context.getContentResolver(); + final Cursor cursor = cr.query(Events.CONTENT_URI, + PROJECTION, + BaseColumns._ID+" = ?", + new String[]{Long.toString(id)}, + null); + final Event event; + if(cursor.moveToFirst()){ + int colour=cursor.getInt(5); + colour=colour == 0 ? Calendar.getCalendarById(context, cursor.getLong(8)).colour : colour; + 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)); + } else + event = null; + cursor.close(); + return event; + } + public static Event[] getAllEvents(final Context context) { final ArrayList r = new ArrayList(); - for(final Calendar calendar : Calendar.getAllCalendars(context)) + 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) { - final ContentResolver cr=context.getContentResolver(); - //cr.insert(Uri.withAppendedPath(Events.CONTENT_URI)); - //cr.notifyChange(); + 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){