27 lines
1.2 KiB
Java
27 lines
1.2 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 java.util.Calendar;
|
|
|
|
public class AlarmChangeReceiver extends BroadcastReceiver {
|
|
@Override
|
|
public void onReceive(Context context, Intent intent) {
|
|
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
|
|
// Don't set this to happen on TIME_SET, or it'll restart the alarm every time the network (or NTP) sets the time.
|
|
// intent.getAction().equals("android.intent.action.TIME_SET")
|
|
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED") ||
|
|
intent.getAction().equals("android.intent.action.TIMEZONE_CHANGED")) {
|
|
String alarmTimeStr = sharedPref.getString(context.getString(R.string.AlarmTimePref), MainActivity.defaultTimeStr);
|
|
Calendar cal = MainActivity.TimeStringToCalendar(alarmTimeStr);
|
|
Log.d("AlarmChangeReceiver", intent.getAction() + ": resetting alarm for " + MainActivity.debugDate(cal));
|
|
MainActivity.setAlarm(context, cal);
|
|
}
|
|
}
|
|
}
|