Попытка вызвать виртуальный метод 'boolean androidx.work.State.isFinished ()' для пустой ссылки на объект - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь изучить WorkManager для Android, используя документацию codeLab.При попытке проверить работоспособность beginUniqueWork ( Ensure Unique Work * )

происходит сбой приложения. Я просто реализую beginUniqueWork и тестирую приложение с многократным выбором изображения.

Код, который я пишу в aplyBlur () в классе ViewModel:

  void applyBlur(int blurLevel) {


    WorkContinuation continuation = mWorkManager
            .beginUniqueWork(IMAGE_MANIPULATION_WORK_NAME,
                    ExistingWorkPolicy.REPLACE,
                    OneTimeWorkRequest.from(CleanupWorker.class));

    // Add WorkRequests to blur the image the number of times requested
    for (int i = 0; i < blurLevel; i++) {
        OneTimeWorkRequest.Builder blurBuilder =
                new OneTimeWorkRequest.Builder(BlurWorker.class);

        // Input the Uri if this is the first blur operation
        // After the first blur operation the input will be the output of previous
        // blur operations.
        if ( i == 0 ) {
            blurBuilder.setInputData(createInputDataForUri());
        }

        continuation = continuation.then(blurBuilder.build());
    }

    // Add WorkRequest to save the image to the filesystem
    OneTimeWorkRequest save =
            new OneTimeWorkRequest.Builder(SaveImageToFileWorker.class)
                    .build();
    continuation = continuation.then(save);

    continuation.enqueue();
}

1 Ответ

0 голосов
/ 24 мая 2018

Это https://issuetracker.google.com/79550068. Это было исправлено сейчас, и исправление доступно в alpha02 WorkManager, который сейчас отсутствует.

...