package com.silencedut.knowweather.scheduleJob;
import android.annotation.TargetApi;
import android.app.job.JobParameters;
import android.app.job.JobService;
import android.os.Build;
import com.silencedut.knowweather.ModelManager;
import com.silencedut.knowweather.model.WeatherModel;
import com.silencedut.knowweather.remoteviews.RemoteViewsHelper;
import com.silencedut.knowweather.weather.callbacks.WeatherCallBack;
import com.silencedut.router.Router;
/**
* Created by SilenceDut on 2016/10/23 .
*/
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public class JobSchedulerService extends JobService implements WeatherCallBack.NotificationStatus {
@Override
public void onCreate() {
super.onCreate();
Router.instance().register(this);
}
@Override
public void onDestroy() {
super.onDestroy();
Router.instance().unregister(this);
}
@Override
public boolean onStartJob(JobParameters params) {
ModelManager.getModel(WeatherModel.class).updateDefaultWeather();
RemoteViewsHelper.showNotification(this);
return true;
}
@Override
public boolean onStopJob(JobParameters params) {
return false;
}
@Override
public void onAllowNotification(boolean allow) {
if (!allow) {
RemoteViewsHelper.stopNotification(this);
} else {
RemoteViewsHelper.showNotification(this);
}
}
@Override
public void onUpdateNotification() {
RemoteViewsHelper.updateNotification(this);
}
@Override
public void clearAlarm() {
RemoteViewsHelper.stopAlarm(this);
}
}