package com.kuxhausen.huemore.net;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v4.content.WakefulBroadcastReceiver;
import com.kuxhausen.huemore.persistence.Definitions;
import com.kuxhausen.huemore.utils.DeferredLog;
public class ConnectivityServiceLauncher extends WakefulBroadcastReceiver {
public static void scheduleInternalAlarm(Context context,
Long wakeupTimeInElapsedRealtimeMillis) {
Intent intent = new Intent(context, ConnectivityServiceLauncher.class);
intent.setAction(Definitions.InternalArguments.CONNECTIVITY_SERVICE_INTENT_ACTION);
PendingIntent pendingIntent =
PendingIntent.getBroadcast(context, 8, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmMgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmMgr.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, wakeupTimeInElapsedRealtimeMillis,
pendingIntent);
}
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction() != null
&& intent.getAction()
.equals(Definitions.InternalArguments.CONNECTIVITY_SERVICE_INTENT_ACTION)) {
DeferredLog.d("alarm", "napping mood wakeup");
Intent transmitter = new Intent(context, ConnectivityService.class);
startWakefulService(context, transmitter);
}
}
}