Fixed
Status Update
Comments
su...@google.com <su...@google.com>
ap...@google.com <ap...@google.com> #2
Some notes from digging into this a bit:
- unexpected wrapping doesn't start until a TextView that line wraps runs it's line breaking logic.
- style doesn't seem to matter, so long as the line breaker is ran.
- Moving the
TextView
below the compose view so that it runs first makes the first draw not wrap in the compose text. Subsequent re-measures will start wrapping. - This may require a
StaticLayout
to run inTextView
beforeStaticLayout
runs inText
(BoringLayout
doesn't seem to cause this, but that doesn't have line breaking by definition), but I'm not certain.
- Inputs to
LineBreaker.computeLineBreaks
seem to have consistent arguments for repro and non-repro use cases. - Couldn't run in demo app, so the layouts/views may also be necessary to repro.
- Used a API 35 Pixel 9 Pro XL emulator to repro. Verified that using API 34 does not repro.
- Moving the
TextView
from the layout to anAndroidView
in ourComposeView
still repros.
Description
Version used: 1.0.0-beta02
Devices/Android versions reproduced on: Nexus 5X API 28 Emulator (28.1.3-5243232) and Samsung J5 phone with 8.1.0
Steps to reproduce:
- Run application, monitoring logcat
- Press Enqueue
- Toast will be displayed and the log should indicate the worker started, failed and requested a retry
- Monitor the logcat for a few minutes and observe that no worker has been retried
This is intermittent but happens 90% of the time. If the Worker does retry, hit Enqueue again and it will likely fail to retry the new worker.
Expected Behaviour:
The worker should be retried after 10 seconds and up to 5 times in total before failing.