private void assertNativeJobInfoMatchesJobInfo(android.app.job.JobInfo nativeJob, JobInfo job) {
assertEquals(nativeJob.getId(), job.getId());
assertEquals(new PersistableBundle(nativeJob.getExtras()).toMap(10), job.getExtras().toMap(10));
assertEquals(nativeJob.getService(), new ComponentName(context, JobSchedulerJobService.class));
assertEquals(nativeJob.isRequireCharging(), job.isRequireCharging());
assertEquals(nativeJob.isRequireDeviceIdle(), job.isRequireDeviceIdle());
assertEquals(nativeJob.getNetworkType(), job.getNetworkType());
assertEquals(nativeJob.getMinLatencyMillis(), job.getMinLatencyMillis());
assertEquals(nativeJob.getMaxExecutionDelayMillis(), job.getMaxExecutionDelayMillis());
assertEquals(nativeJob.isPeriodic(), job.isPeriodic());
assertEquals(nativeJob.isPersisted(), job.isPersisted());
assertEquals(nativeJob.getInitialBackoffMillis(), job.getInitialBackoffMillis());
assertEquals(nativeJob.getBackoffPolicy(), job.getBackoffPolicy());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
assertEquals(nativeJob.getFlexMillis(), job.getFlexMillis());
assertArrayEquals(getUris(nativeJob.getTriggerContentUris()), getUris(job.getTriggerContentUris()));
assertEquals(nativeJob.getTriggerContentUpdateDelay(), job.getTriggerContentUpdateDelay());
assertEquals(nativeJob.getTriggerContentMaxDelay(), job.getTriggerContentMaxDelay());
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
assertEquals(
BundleUtils.toMap(nativeJob.getTransientExtras(), 10),
BundleUtils.toMap(job.getTransientExtras(), 10));
assertEquals(nativeJob.isRequireBatteryNotLow(), job.isRequireBatteryNotLow());
assertEquals(nativeJob.isRequireStorageNotLow(), job.isRequireBatteryNotLow());
}
}