Status Update
Comments
cl...@google.com <cl...@google.com>
ma...@google.com <ma...@google.com> #3
Sure thing!
Here we go:
D/WM-PackageManagerHelper: androidx.work.impl.background.systemjob.SystemJobService enabled
D/WM-Schedulers: Created SystemJobScheduler and enabled SystemJobService
D/WM-ForceStopRunnable: Performing cleanup operations.
D/WM-PackageManagerHelper: androidx.work.impl.background.systemalarm.RescheduleReceiver enabled
D/WM-SystemJobScheduler: Scheduling work ID 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd Job ID 74
D/WM-GreedyScheduler: Starting work for 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-Processor: Processor: processing 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-WorkerWrapper: Starting work for REDACTED.Application$ForegroundWorker
I/WM-Processor: Moving WorkSpec (2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd) to the foreground
D/WM-WorkerWrapper: REDACTED.Application$ForegroundWorker returned a Success {mOutputData=Data {}} result.
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd, tags={ REDACTED.Application$ForegroundWorker } ]
D/WM-Processor: No more foreground work. SystemForegroundService is already stopped
D/WM-GreedyScheduler: Cancelling work ID 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-Processor: Processor stopping background work 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-Processor: WorkerWrapper could not be found for 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-StopWorkRunnable: StopWorkRunnable for 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd; Processor.stopWork = false
D/WM-SystemJobService: onStartJob for 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-Processor: Processor: processing 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-WorkerWrapper: Status for 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd is SUCCEEDED; not doing any work
D/WM-WorkerWrapper: REDACTED.Application$ForegroundWorker is not in ENQUEUED state. Nothing more to do.
I/WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=REDACTED/androidx.work.impl.foreground.SystemForegroundService (has extras) }
D/WM-SystemFgDispatcher: Notifying with (id: 42, workSpecId: 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd, notificationType: 0)
D/WM-SystemFgDispatcher: Notifying with (id: 42, workSpecId: 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd, notificationType: 0)
D/WM-Processor: Processor 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd executed; reschedule = false
D/WM-SystemJobService: 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd executed on JobScheduler
D/WM-SystemJobService: onStopJob for 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-Processor: Processor 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd executed; reschedule = false
D/WM-SystemJobService: 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd executed on JobScheduler
D/WM-Processor: Processor stopping background work 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-Processor: WorkerWrapper could not be found for 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd
D/WM-StopWorkRunnable: StopWorkRunnable for 2d2cab8b-beb4-45c4-8d04-9d85e5aa4ecd; Processor.stopWork = false
ch...@google.com <ch...@google.com> #4
Just tried 2.3.4 which claims to resolve the
Logs:
D/WM-PackageManagerHelper: androidx.work.impl.background.systemjob.SystemJobService enabled
D/WM-Schedulers: Created SystemJobScheduler and enabled SystemJobService
D/WM-ForceStopRunnable: Performing cleanup operations.
D/WM-PackageManagerHelper: androidx.work.impl.background.systemalarm.RescheduleReceiver enabled
D/WM-SystemJobScheduler: Scheduling work ID 2d44c9de-0e3c-4518-b960-c282ba924638 Job ID 299
D/WM-GreedyScheduler: Starting work for 2d44c9de-0e3c-4518-b960-c282ba924638
D/WM-Processor: Processor: processing 2d44c9de-0e3c-4518-b960-c282ba924638
D/WM-WorkerWrapper: Starting work for REDACTED.Application$ForegroundWorker
I/WM-Processor: Moving WorkSpec (2d44c9de-0e3c-4518-b960-c282ba924638) to the foreground
D/WM-WorkerWrapper: REDACTED.Application$ForegroundWorker returned a Success {mOutputData=Data {}} result.
I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=2d44c9de-0e3c-4518-b960-c282ba924638, tags={ REDACTED.Application$ForegroundWorker } ]
D/WM-Processor: No more foreground work. SystemForegroundService is already stopped
D/WM-GreedyScheduler: Cancelling work ID 2d44c9de-0e3c-4518-b960-c282ba924638
D/WM-Processor: Processor stopping background work 2d44c9de-0e3c-4518-b960-c282ba924638
D/WM-Processor: WorkerWrapper could not be found for 2d44c9de-0e3c-4518-b960-c282ba924638
D/WM-StopWorkRunnable: StopWorkRunnable for 2d44c9de-0e3c-4518-b960-c282ba924638; Processor.stopWork = false
D/WM-SystemJobService: onStartJob for 2d44c9de-0e3c-4518-b960-c282ba924638
D/WM-Processor: Processor: processing 2d44c9de-0e3c-4518-b960-c282ba924638
I/WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=REDACTED/androidx.work.impl.foreground.SystemForegroundService (has extras) }
D/WM-SystemFgDispatcher: Notifying with (id: 42, workSpecId: 2d44c9de-0e3c-4518-b960-c282ba924638, notificationType: 0)
D/WM-SystemFgDispatcher: Notifying with (id: 42, workSpecId: 2d44c9de-0e3c-4518-b960-c282ba924638, notificationType: 0)
D/WM-WorkerWrapper: Status for 2d44c9de-0e3c-4518-b960-c282ba924638 is SUCCEEDED; not doing any work
D/WM-WorkerWrapper: REDACTED.Application$ForegroundWorker is not in ENQUEUED state. Nothing more to do.
D/WM-Processor: Processor 2d44c9de-0e3c-4518-b960-c282ba924638 executed; reschedule = false
D/WM-SystemJobService: 2d44c9de-0e3c-4518-b960-c282ba924638 executed on JobScheduler
D/WM-SystemJobService: onStopJob for 2d44c9de-0e3c-4518-b960-c282ba924638
D/WM-Processor: Processor stopping background work 2d44c9de-0e3c-4518-b960-c282ba924638
D/WM-Processor: WorkerWrapper could not be found for 2d44c9de-0e3c-4518-b960-c282ba924638
D/WM-StopWorkRunnable: StopWorkRunnable for 2d44c9de-0e3c-4518-b960-c282ba924638; Processor.stopWork = false
D/WM-Processor: Processor 2d44c9de-0e3c-4518-b960-c282ba924638 executed; reschedule = false
D/WM-SystemJobService: 2d44c9de-0e3c-4518-b960-c282ba924638 executed on JobScheduler
ma...@google.com <ma...@google.com> #5
We marked it duplicate because if your Worker
ran long enough, it would trigger the other bug which had a similar sticky Notification
. However, you have a combination of problems one of which we fixed in 2.3.4
.
Your RxWorker implementation has a bug. You are calling setForegroundAsync(...)
, but you are not waiting for completion.
setForegroundAsync(...)
returns a ListenableFuture
that you should be waiting for.
What happens is that your Worker
running on a dedicated Executor
is racing against setForegroundAsync()
and in some cases it ends up being called after your Worker
returns a Result.success()
.
Description
The new
ButtonConstants
class name doesn't feel right. The contents of the class aren't really constants, they're default parameter factories.How about
ButtonDefaults.buttonColors()
instead?