private void addPeriodic( long periodSecs, long flexSecs, int connectivity, boolean charging, boolean persistence) { if (flexSecs > periodSecs) { Toast.makeText(getActivity(), getString(R.string.scheduler_error_flex), Toast.LENGTH_SHORT) .show(); return; } String tag = Long.toString(SystemClock.currentThreadTimeMillis()); final TaskTracker taskTracker = TaskTracker.createPeriodic(tag, periodSecs, flexSecs); PeriodicTask periodic = new PeriodicTask.Builder() .setService(TaskSchedulerService.class) .setPeriod(periodSecs) .setFlex(flexSecs) .setTag(tag) .setRequiredNetwork(connectivity) .setRequiresCharging(charging) .setPersisted(persistence) .build(); mScheduler.schedule(periodic); mTasks.updateTask(taskTracker); }