WorkManager 2.3.4 - новое правило lint - PullRequest
6 голосов
/ 06 мая 2020

Я увеличил версию своего WorkManager до 2.3.4, и появилось новое правило lint под названием SpecifyJobSchedulerIdRange с описанием: «Предупреждать, когда приложение использует JobService, но не указывает jobIds для WorkManager». и пояснение:

При прямом использовании API JobScheduler WorkManager требует, чтобы разработчики указали диапазон идентификаторов JobScheduler, безопасных для использования WorkManager, чтобы id не конфликтовали. Для получения дополнительной информации см. Androidx.work.Configuration.Builder.setJobSchedulerJobIdRange (int, int).

Я указал диапазон идентификаторов, которые WorkManager может использовать функцией setJobSchedulerJobIdRange, как я должен, но я все равно получаю этот линт предупреждение. Странно, что это предупреждение о ворсинах получает мой пользовательский JobService, а не Configuration.Builder.

В моем классе Application:

override fun getWorkManagerConfiguration(): Configuration {
    return Configuration.Builder()
       .setWorkerFactory(workerFactory)
       .setJobSchedulerJobIdRange(100000, 101000)
       .build()
}
...