X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FUtils.java;h=b46078aed03037b51be17dd841a70c647a5113fe;hb=0a4f300ecd7de6e7cac1e2f90cf01d1c60a0f1f3;hp=73e27371de292d33837d689faeae123f975e37fe;hpb=6f48b087593f6b58c98a0ef3721334c4f4d4b2f9;p=unical.git diff --git a/src/ro/ieval/unical/Utils.java b/src/ro/ieval/unical/Utils.java index 73e2737..b46078a 100644 --- a/src/ro/ieval/unical/Utils.java +++ b/src/ro/ieval/unical/Utils.java @@ -3,11 +3,14 @@ package ro.ieval.unical; import java.util.GregorianCalendar; import java.util.Locale; -import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; +import android.content.ContentValues; import android.content.Context; import android.content.Intent; +import android.database.Cursor; +import android.database.SQLException; +import android.database.sqlite.SQLiteDatabase; import android.view.View; import android.view.ViewGroup; @@ -24,13 +27,51 @@ final class Utils { } public static String formatDate(final int year, final int month, final int day){ - return String.format(Locale.ENGLISH, "%4d-%02d-%02d", year, month, day); + return String.format(Locale.ENGLISH, "%4d-%02d-%02d", year, month+1, day); } - - public static void setAlarm(GregorianCalendar cal,Context context) { - Intent in = new Intent(context,AlarmReceiverActivity.class); - PendingIntent pi = PendingIntent.getActivity(context, 1234, in, PendingIntent.FLAG_CANCEL_CURRENT); - AlarmManager am = (AlarmManager)context.getSystemService(Activity.ALARM_SERVICE); - am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pi); + + public static void addAlarm(final Application application, final long time, final long eventId) throws SQLException{ + final SQLiteDatabase db = application.alarmOpenHelper.getWritableDatabase(); + final ContentValues values = new ContentValues(2); + values.put(AlarmOpenHelper.TIME, time); + values.put(AlarmOpenHelper.EVENT, eventId); + db.insertOrThrow(AlarmOpenHelper.TABLE, null, values); + setAlarm(application, time, eventId); + } + + public static void deleteAlarm(final Application application, final long time) throws SQLException{ + final SQLiteDatabase db = application.alarmOpenHelper.getWritableDatabase(); + db.delete(AlarmOpenHelper.TABLE, AlarmOpenHelper.TIME + " = " + time, new String[0]); + unsetAlarm(application, time); + } + + public static Long[] getAlarmsByEvent(final Application application, final long eventId) throws SQLException{ + final SQLiteDatabase db = application.alarmOpenHelper.getWritableDatabase(); + db.delete(AlarmOpenHelper.TABLE, AlarmOpenHelper.TIME + " < " + System.currentTimeMillis(), new String[0]); + final Cursor cursor = db.query(AlarmOpenHelper.TABLE, new String[]{AlarmOpenHelper.TIME}, AlarmOpenHelper.EVENT + " = " + eventId, new String[0], null, null, null); + if(cursor.moveToFirst()){ + final Long[] ret = new Long[cursor.getCount()]; + for(int i=0;i