X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FUtils.java;h=e8423478c84b112f02aa1195ce560f3633f5283c;hb=57ca40519eadfe1757e8f21875c1fdf7fe380542;hp=703c8ddc2061bb6769e3643e593e4c205f4f86dd;hpb=dfc674f65f8335d6e00490a1a5350dc31beea944;p=unical.git diff --git a/src/ro/ieval/unical/Utils.java b/src/ro/ieval/unical/Utils.java index 703c8dd..e842347 100644 --- a/src/ro/ieval/unical/Utils.java +++ b/src/ro/ieval/unical/Utils.java @@ -1,7 +1,15 @@ package ro.ieval.unical; +import java.util.GregorianCalendar; import java.util.Locale; +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.database.SQLException; +import android.database.sqlite.SQLiteDatabase; import android.view.View; import android.view.ViewGroup; @@ -20,4 +28,34 @@ 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); } + + 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[]{}); + unsetAlarm(application, time); + } + + public static void setAlarm(final Context context, final long time, final long eventId){ + final Intent intent = new Intent(context, AlarmReceiverActivity.class); + intent.setAction(Long.toString(time)); + intent.putExtra(AlarmReceiverActivity.EXTRA_EVENT, eventId); + final AlarmManager man = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); + man.set(AlarmManager.RTC_WAKEUP, time, PendingIntent.getActivity(context, 0, intent, 0)); + } + + public static void unsetAlarm(final Context context, final long time){ + final Intent intent = new Intent(context, AlarmReceiverActivity.class); + intent.setAction(Long.toString(time)); + final AlarmManager man = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); + man.cancel(PendingIntent.getActivity(context, 0, intent, 0)); + } }