package me.ccrama.redditslide.Notifications;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import me.ccrama.redditslide.Reddit;
/**
* Created by carlo_000 on 10/13/2015.
*/
public class NotificationJobScheduler {
private final PendingIntent pendingIntent;
public NotificationJobScheduler(Context context) {
Intent alarmIntent = new Intent(context, CheckForMail.class);
pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, 0);
start(context);
}
public void start(Context c) {
AlarmManager manager = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE);
int interval = 1000 * 60 * Reddit.notificationTime;
long currentTime = System.currentTimeMillis();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
manager.setAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, currentTime + interval, pendingIntent);
} else {
manager.set(AlarmManager.RTC_WAKEUP, currentTime + interval, pendingIntent);
}
}
public void cancel(Context c) {
AlarmManager manager = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE);
manager.cancel(pendingIntent);
}
}