HypoAlarm/HypoAlarm/src/main/java/za/org/treehouse/HypoAlarm/CancelAlarmReceiver.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));
}
}