41 lines
1.5 KiB
Java
41 lines
1.5 KiB
Java
package za.org.treehouse.HypoAlarm;
|
|
|
|
import android.content.BroadcastReceiver;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.SharedPreferences;
|
|
import android.preference.PreferenceManager;
|
|
import android.util.Log;
|
|
import android.widget.Toast;
|
|
|
|
import java.util.Calendar;
|
|
|
|
public class CancelAlarmReceiver extends BroadcastReceiver {
|
|
@Override
|
|
public void onReceive(Context context, Intent intent) {
|
|
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
|
|
String alarmTimeStr = sharedPref.getString(context.getString(R.string.AlarmTimePref), MainActivity.defaultTimeStr);
|
|
|
|
// Cancel alarm. This isn't technically necessary, as it'll happen in setAlarm
|
|
MainActivity.cancelAlarm(context);
|
|
|
|
// Reset for tomorrow. setAlarm will also advance the day, but
|
|
// make it explicit here.
|
|
Calendar cal = MainActivity.TimeStringToCalendar(alarmTimeStr);
|
|
cal.add(Calendar.DAY_OF_MONTH, 1);
|
|
|
|
// Reset alarm for tomorrow
|
|
MainActivity.setAlarm(context, cal);
|
|
|
|
// Display toast
|
|
Toast.makeText(context, context.getString(R.string.alarmCancelToast), Toast.LENGTH_LONG).show();
|
|
|
|
// Stop any snoozed/existing alarms that may have started
|
|
AlarmService.setAlarmStatus(AlarmService.ALARM_DISMISSED);
|
|
context.stopService(new Intent(context, AlarmService.class));
|
|
|
|
// Remove notification
|
|
context.stopService(new Intent(context, PreAlarmNotify.class));
|
|
|
|
}
|
|
} |