aboutsummaryrefslogtreecommitdiff
path: root/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java')
-rw-r--r--security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java27
1 files changed, 25 insertions, 2 deletions
diff --git a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java
index b80e8c9d..29c01c99 100644
--- a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java
+++ b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java
@@ -20,6 +20,7 @@ import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
+import android.os.Bundle;
import android.util.Log;
import java.util.Calendar;
@@ -45,7 +46,9 @@ public class AlarmUtil {
*/
public void scheduleAlarm(Alarm alarm) {
Intent intent = new Intent(mContext, AlarmIntentService.class);
- intent.putExtra(AlarmIntentService.ALARM_KEY, alarm);
+ Bundle extras = writeAlarm(alarm);
+ intent.putExtras(extras);
+
PendingIntent pendingIntent = PendingIntent
.getService(mContext, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar alarmTime = Calendar.getInstance();
@@ -71,7 +74,6 @@ public class AlarmUtil {
*/
public void cancelAlarm(Alarm alarm) {
Intent intent = new Intent(mContext, AlarmIntentService.class);
- intent.putExtra(AlarmIntentService.ALARM_KEY, alarm);
PendingIntent pendingIntent = PendingIntent
.getService(mContext, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mAlarmManager.cancel(pendingIntent);
@@ -94,4 +96,25 @@ public class AlarmUtil {
}
return alarmTime;
}
+
+ public static Alarm readAlarm(Bundle extras) {
+ int id = extras.getInt(AlarmIntentService.KEY_ALARM_ID);
+ int month = extras.getInt(AlarmIntentService.KEY_ALARM_MONTH);
+ int date = extras.getInt(AlarmIntentService.KEY_ALARM_DATE);
+ int hour = extras.getInt(AlarmIntentService.KEY_ALARM_HOUR);
+ int minute = extras.getInt(AlarmIntentService.KEY_ALARM_MINUTE);
+
+ return new Alarm(id, month, date, hour, minute);
+ }
+
+ public static Bundle writeAlarm(Alarm alarm){
+ Bundle extras = new Bundle();
+ extras.putInt(AlarmIntentService.KEY_ALARM_ID, alarm.id);
+ extras.putInt(AlarmIntentService.KEY_ALARM_MONTH, alarm.month);
+ extras.putInt(AlarmIntentService.KEY_ALARM_DATE, alarm.date);
+ extras.putInt(AlarmIntentService.KEY_ALARM_HOUR, alarm.hour);
+ extras.putInt(AlarmIntentService.KEY_ALARM_MINUTE, alarm.minute);
+
+ return extras;
+ }
}