I am trying to learn WorkManager for Android using codeLab documentation. I app crash when I try to test functionality of beginUniqueWork(Ensure Unique Work)

I just implement beginUniqueWork and test app with selecting image multiple time.

Code I writre in aplyBlur() in ViewModel class is:

  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

There are 1 answers

1
SumirKodes On

This is https://issuetracker.google.com/79550068. It has been fixed now and the fix is available in alpha02 of WorkManager, which is out now.