- Handle NPE inside of
JobScheduler
- Handle 'Package manager has died' crash
- Save the highest job ID in a pref file so that it isn't lost when no job is in the database anymore (makes debugging easier)
- Fix rare NPE when rescheduling jobs after service has been restarted, see #234
- Fix rescheduled periodic job although it has been canceled pre Android N, see #241
- Fix a race condition when canceling jobs, see #178
- Disable the JobScheduler API if the service is disabled, see #190
- Fix
SQLiteConstraintException
when rescheduling jobs, because job is already present in the database, see #176 - Improve job result documentation, see #192
- Prevent app ending in a crash loop, see #194
- Fallback to an older API if the
JobScheduler
is null on the device - Don't persist jobs with the
JobScheduler
, if this device is weird and doesn't have the boot permission - List
support-v4
as dependency, because it's required, see #200 - Make
Job.Params
public for better test support, see #201 - Allow to suppress the
JobManagerCreateException
, seeJobApi.setForceAllowApi14(boolean)
- Make SimpleDateFormat thread-local to avoid possible crash, see #208
- Fix a race condition when canceling jobs, see #178
- Make it possible to reuse builder objects, this may fix SQL exceptions, see #176
- Add
JobRequest.getLastRun()
returning the time when the job did run the last time, if it was rescheduled or it's a periodic job, see #141 - Fix crash on Android 4.0.3 where
SQLiteDatabase
doesn't implementClosable
, see #182 - Updating wording for network type ANY to make it clearer that no specific network state is required, see #185
- Use a copy of the platform DefaultDatabaseErrorHandler. Some manufacturers replace this causing stack overflows, see #184
- Improve logging by providing an option to add a custom logger
- Fix crash when rescheduling jobs, see #164
- Fix wrong returned network type, see #166
- Expose failure count in the
JobRequest
class, see #168 - Don't silently eat
JobScheduler
's limit exception - Make
schedule()
method idempotent - Add a fallback if removing a job from the database fails for some reason, see #145
- Catch wake lock crashes in all cases, fixes #153
- Use a better execution in parallel with the
AlarmManager
. This may prevent a process death. - Use better thread names
- List for quick boot completed broad casts, see #157
- Use a service to reschedule jobs and prevent a too early process death, fixes #142
- Reschedule jobs after an app update occurred or the Google Play Services were updated, see #135
- Use only back-off criteria when rescheduling jobs, see #134
- Expose schedule time of a job
- Add an alternative to register a
JobCreator
, if you don't have access to theApplication
class
- Remove packaged
R.txt
file
- Remove packaged
R.txt
file
- Add test option to override minimum interval and flex for testing purposes
- Fix issue that periodic jobs were accidentally canceled
- Fix issue that periodic jobs were accidentally canceled
- Bump SDK version to 24
- Add option to specify flex parameter for periodic jobs
- Add support for flex parameter with GCM proxy
- Add API 24 proxy with support for flex parameter
- Add a flex support mode for all other APIs
- Add API 19 proxy supporting an execution window
- Add NOT_ROAMING network type
- Adjust minimum interval for periodic jobs
- Add GCM service declaration in library manifest
- Fix crash while acquiring wake lock
- Check boot permission only when persisted flag is set to true
- Fix IllegalArgumentException with GCM API, see #72
- Fix overflow for too large execution windows
- Fix immediately starting jobs with JobScheduler if the execution window is too large
- Create the JobManager in all API services
- Bug fixes
- Make PlatformAlarmReceiver intent explicit, fixes #56
- Delete a job after it has finished, otherwise reschedule if app is crashing while job is running, fixes #55
- Extend Params class with more parameters from the job request, fixes #52
- Cache only 20 finished jobs to free up memory, fixes #57
- Weird bug fixes
- Clean up orphaned jobs after the database was deleted
- Fix "WakeLock under-locked" crash
- Add option to update any preexisting jobs
- Bug fixes
- Add option to attach multiple job creators
- Catch certain exceptions and runtime crashes
- Initial release