package net.kismetwireless.android.smarterwifimanager;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.PowerManager;
/**
* Created by dragorn on 10/11/13.
*/
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
final PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Smarter Wi-Fi Timerange");
wl.acquire();
final SmarterWifiServiceBinder serviceBinder = new SmarterWifiServiceBinder(context);
serviceBinder.doCallAndBindService(new SmarterWifiServiceBinder.BinderCallback() {
public void run(SmarterWifiServiceBinder b) {
// Log.d("smarter", "alarm triggered, configuring timerange");
b.configureTimerangeState();
serviceBinder.doUnbindService();
wl.release();
}
});
}
public void setAlarm(Context context, long atTime) {
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, AlarmReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
am.set(AlarmManager.RTC_WAKEUP, atTime, pi);
// Log.d("smarter", "setting alarm");
}
public void cancelAlarm(Context context) {
Intent intent = new Intent(context, AlarmReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.cancel(sender);
}
}