Assigned
Status Update
Comments
le...@google.com <le...@google.com> #2
Automatic regression verification started for measurement:
ChromiumPerf/android-pixel6-perf/system_health.memory_mobile/memory:chrome:all_processes:reported_by_chrome:malloc:max_committed_size_avg/browse_news
Verification workflow id: projects/62121018386/locations/us-central1/workflows/sandwich-verification-workflow-prod/executions/f430dab5-4642-48dd-a3d6-a50904c1d68e
ChromiumPerf/android-pixel6-perf/system_health.memory_mobile/memory:chrome:all_processes:reported_by_chrome:malloc:max_committed_size_avg/browse_news
Verification workflow id: projects/62121018386/locations/us-central1/workflows/sandwich-verification-workflow-prod/executions/f430dab5-4642-48dd-a3d6-a50904c1d68e
lp...@google.com <lp...@google.com> #3
🥪 Regression verification projects/62121018386/locations/us-central1/workflows/sandwich-verification-workflow-prod/executions/f430dab5-4642-48dd-a3d6-a50904c1d68e job 169445e4610000 for test: ChromiumPerf/android-pixel6-perf/system_health.memory_mobile/memory:chrome:all_processes:reported_by_chrome:malloc:max_committed_size_avg/browse_news
did NOT reproduce the regression with statistic: {'control_median': 135405568, 'lower': -2.0340368398504394, 'p_value': 0.42795460671186447, 'treatment_median': 135325696, 'upper': 1.0165479548803757}.
Issue closed.
did NOT reproduce the regression with statistic: {'control_median': 135405568, 'lower': -2.0340368398504394, 'p_value': 0.42795460671186447, 'treatment_median': 135325696, 'upper': 1.0165479548803757}.
Issue closed.
lp...@google.com <lp...@google.com> #4
Actually, maybe I misunderstood:
@Test fun doubleShrinkIsBroken() {
Asserts at the end that the item is not fully displayed. So, does that mean that if this test passes, the issue exists? The test fails for me on ToT
I also added the workaroundWorks test, and removed .focusableInViewportDoubleShrinkWorkaround(scrollState)
, and the test passes, so I think this means it should be fixed? I made some related changes here in 1.8, so could you test with that?
Description
Jetpack Compose version: BOM 2024.09.02
Jetpack Compose component(s) used:
verticalScroll
,focusable
Kotlin version: 1.9.24
When a vertical scroll container shrinks while a descendant is focused, the scroll container is scrolled to keep the focused child in view. This mostly works. However, if the viewport shrinks once and then after scrolling is settled it shrinks again, the focused descendant is not scrolled into view the second time.
Here's a unit test that demonstrates both the "simple" case that works, and the double-shrink case that is broken.
Workaround
Weirdly, this bug can be worked around by explicitly doing something very similar to what Compose is already doing internally:
Adding this test to the above test suite proves it: