Status Update
Comments
kl...@google.com <kl...@google.com> #2
This happens when there is multiple Text elements in the merged tree and we just take the first one and ignore the rest.
kl...@google.com <kl...@google.com>
ap...@google.com <ap...@google.com> #3
I'm working on it this week. Note that the culprit is actually the big substantive patch I landed on Jul 3,
ap...@google.com <ap...@google.com> #4
I started a WIP patch to allow non-unique keys:
ap...@google.com <ap...@google.com> #5
Branch: androidx-master-dev
commit 1531c13353d4caa1aa6a8f41a58adf67d911531f
Author: Alexandre Elias <aelias@google.com>
Date: Fri Aug 07 20:03:55 2020
Implement per-property merge policy.
This changes the current merging behavior into the default
implementation of an open function called "merge()", and adds different
implementations for the following:
- Text and Label: concatenates strings with comma in between (same as
TalkBack's native merging behavior). This behavior will probably
evolve further in future patches to merge text layout for accessibility.
- TestTag and Hidden: does not merge at all.
- Popup and Dialog: throws an exception.
Note that the latter two behaviors require carefully distinguishing
between collapsing and merging so that, for example, collapsed TestTags
are not dropped as well.
Also switch ListItem to have mergeAllDescendants (should've had that
before anyway), which has more multiple-Text stress tests than
Button/Toggleable. As an example of how TalkBack behaves with a two-line
ListItem, see
Fixes: 161979921
Test: depthFirstLabelConcat, clickableTest_clickOnChildText
Relnote: "Added mergePolicy lambda to SemanticsPropertyKey. This can be
used to define a custom policy for mergeAllDescendants semantics
merging. The default policy is to use the parent value if already
present, otherwise the child value."
Change-Id: Iaf6c4cc327017ee492f4d8334c8df5167d33df58
M ui/ui-core/api/current.txt
M ui/ui-core/api/public_plus_experimental_current.txt
M ui/ui-core/api/restricted_current.txt
M ui/ui-core/src/androidAndroidTest/kotlin/androidx/compose/ui/semantics/SemanticsTests.kt
M ui/ui-core/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsConfiguration.kt
M ui/ui-core/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsNode.kt
M ui/ui-core/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.kt
M ui/ui-core/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsWrapper.kt
M ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ClickableTest.kt
M ui/ui-material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ButtonDemo.kt
M ui/ui-material/src/androidAndroidTest/kotlin/androidx/compose/material/TabTest.kt
M ui/ui-material/src/commonMain/kotlin/androidx/compose/material/ListItem.kt
pr...@google.com <pr...@google.com> #6
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.foundation:foundation:1.4.0-alpha05
androidx.compose.ui:ui:1.4.0-alpha05
androidx.compose.ui:ui-test-junit4:1.4.0-alpha05
ap...@google.com <ap...@google.com> #7
Branch: androidx-main
commit 5bf84ff70c4952f1d516e846ddf6c21af21bebe2
Author: Jelle Fresen <jellefresen@google.com>
Date: Tue Feb 27 18:24:03 2024
Move custom effectContext tests to their own files
Moves the tests from ComposeUiTestTest to their own files in the right
modules. ComposeUiTestTest is merely a smoke test and shouldn't bear
more weight than that. The tests are moved to CustomEffectContextTest
and friends, split over android/desktop and ui-test/ui-test-junit4.
Fix: 327217847
Bug: 265177763
Test: no new tests, just moved things around
Change-Id: I3b5b1c1c051f15d85ae5a77cbe756d8c18455f75
A compose/ui/ui-test-junit4/src/androidInstrumentedTest/kotlin/androidx/compose/ui/test/junit4/CustomEffectContextRuleTest.kt
M compose/ui/ui-test-junit4/src/desktopTest/kotlin/androidx/compose/ui/test/junit4/CustomEffectContextRuleTest.kt
M compose/ui/ui-test/src/androidInstrumentedTest/kotlin/androidx/compose/ui/test/ComposeUiTestTest.kt
A compose/ui/ui-test/src/androidInstrumentedTest/kotlin/androidx/compose/ui/test/CustomEffectContextTest.kt
M compose/ui/ui-test/src/desktopTest/kotlin/androidx/compose/ui/test/CustomEffectContextTest.kt
na...@google.com <na...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.ui:ui-test:1.7.0-alpha04
androidx.compose.ui:ui-test-android:1.7.0-alpha04
androidx.compose.ui:ui-test-desktop:1.7.0-alpha04
androidx.compose.ui:ui-test-junit4:1.7.0-alpha04
androidx.compose.ui:ui-test-junit4-android:1.7.0-alpha04
androidx.compose.ui:ui-test-junit4-desktop:1.7.0-alpha04
Description
Compose animations use the ).
CoroutineContext
elementMotionDurationScale
to propagate the system's animation scale (on android,ANIMATOR_DURATION_SCALE
In production, this value is read from the system by code in
WindowRecomposer
and added to the coroutine context used for everything in the composition (LaunchedEffect
andrememberCoroutineScope
). However, in tests, there's no way to explicitly set this value.Recomposer
that does not read this value from the system, so the coroutine context element is always null.Instrumentation
APIAnimationDurationScaleRule
ininternal-testutils-runtime
but it only sets the scale used byValueAnimator
s, and knows nothing about the system setting or Compose.