package me.ccrama.redditslide.Autocache;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import java.util.Calendar;
import me.ccrama.redditslide.Reddit;
/**
* Created by carlo_000 on 10/13/2015.
*/
public class AutoCacheScheduler {
private final PendingIntent pendingIntent;
public AutoCacheScheduler(Context context) {
Intent alarmIntent = new Intent(context, CacheAll.class);
pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, 0);
start(context);
}
public void start(Context c) {
AlarmManager manager = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, Reddit.cachedData.getInt("hour", 0));
cal.set(Calendar.MINUTE, Reddit.cachedData.getInt("minute", 0));
if(cal.getTimeInMillis() <System.currentTimeMillis()){
cal.set(Calendar.DAY_OF_YEAR , cal.get(Calendar.DAY_OF_YEAR) + 1);
}
manager.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, pendingIntent);
}
public void cancel(Context c) {
AlarmManager manager = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE);
manager.cancel(pendingIntent);
}
}