Status Update
Comments
se...@google.com <se...@google.com>
ma...@google.com <ma...@google.com> #2
Branch: androidx-main
commit a330c0d3bcdd41326f37968a60e6084ad4a2e32c
Author: Chet Haase <chet@google.com>
Date: Wed Jul 05 07:26:46 2023
Convert APIs using PointF to use Float instead
PointF is a convenient mechanism for passing around x.y values
representing 2D points. But there are downsides, including:
- Converting to PointF: You may not have the data in PointF form
to begin with, so using an API which takes PointF requires converting
the data to that form (including allocating a PointF object every time)
- Mutability: Point structures can be mutated internally, causing
unpredictability in what that mutation means. Should the library
react to those changes? Ignore them? Do defensive copies (requiring
even more allocations)? Using primitive types like Float make the
behavior more obvious (by making the data inherently immutable).
- Allocations: Whenever we use object types, there are necessarily
allocations on the Java heap for them. This puts pressure on the GC
at both allocation and collection time. Given the amount of points
being passed around (especially at morph creation time, when curves
are being split and created), this causes a lot of PointF objects to
be allocated (even temporarily). Using Float avoids that problem.
Also fixed bug with unclosed paths causing discontinuity at the
start/end point.
Bug: 276466399
Bug: 290254314
Test: integration and unit tests pass
Relnote: PointF parameters changed to Float pairs
Change-Id: Id4705d27c7be31b26ade8186b99fffe2e2f8450e
M graphics/graphics-shapes/api/current.txt
M graphics/graphics-shapes/api/restricted_current.txt
M graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicShapeTest.kt
M graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicTest.kt
M graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonMeasureTest.kt
M graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonTest.kt
M graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/RoundedPolygonTest.kt
M graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/ShapesTest.kt
M graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/TestUtils.kt
M graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Cubic.kt
M graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/CubicShape.kt
M graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/FeatureMapping.kt
M graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/FloatMapping.kt
M graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Morph.kt
M graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/PolygonMeasure.kt
M graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/RoundedPolygon.kt
M graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Shapes.kt
M graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Utils.kt
M graphics/integration-tests/testapp-compose/src/main/java/androidx/graphics/shapes/testcompose/DebugDraw.kt
M graphics/integration-tests/testapp-compose/src/main/java/androidx/graphics/shapes/testcompose/ShapeEditor.kt
M graphics/integration-tests/testapp/src/main/java/androidx/graphics/shapes/test/MaterialShapes.kt
jw...@gmail.com <jw...@gmail.com> #3
jw...@gmail.com <jw...@gmail.com> #4
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.graphics:graphics-shapes:1.0.0-alpha04
jw...@gmail.com <jw...@gmail.com> #5
Extra information:
- We use UiAutomator2 for our appium configuration, so its also feasible that uiAutomator2 needs to be fixed.
ja...@gopuff.com <ja...@gopuff.com> #6
Hi, we have the same issue on Appium not seeing exposed menu popup window contents but we are using Material2 version of the exposed APIs:
import androidx.compose.material.ExposedDropdownMenuBox
Additionally we noticed the regression affected also the window focus. Before it broke, you could open the exposed popup window and it would be taking key events in and you could navigate thorugh the DropdownMenuItem
s but after it broke, the focus stays on the screen beneath the popup window.
I hope this helps to narrow down the issue root.
ge...@gmail.com <ge...@gmail.com> #7
Given this is the broken popup window focus, can we give it a higher priority, please?
co...@google.com <co...@google.com> #8
Commenter #6, could you please share what version of Material 2 / compose-bom you are using?
ja...@gopuff.com <ja...@gopuff.com> #9
| Re
We bumped our Compose dependency BOM from 2023.10.01
to 2024.02.00
and then got hit with this regression.
implementation(platform("androidx.compose:compose-bom:${Versions.COMPOSE_BOM}"))
api("androidx.compose.ui:ui")
api("androidx.compose.foundation:foundation")
api("androidx.compose.material:material")
api("androidx.compose.ui:ui-tooling-preview")
api("androidx.compose.material:material-icons-extended")
api("androidx.compose.material3:material3")
api("androidx.compose.runtime:runtime-livedata")
ma...@google.com <ma...@google.com>
ap...@google.com <ap...@google.com> #10
Branch: androidx-main
commit e423a650b6b286c120be06f6c905d114403d98ab
Author: Max Alfonso-Ying <maxying@google.com>
Date: Mon Feb 26 21:17:16 2024
Fix EDM flags when TalkBack is off
Follow-up to aosp/2816835. That CL changed the flags to
support when TalkBack was turned on, but accidentally
changed the default when TalkBack was off. This CL
corrects that mistake.
This is only needed for a 1.2.0 cherrypick. EDM will no
longer use this custom popup in 1.3.0 after aosp/2974232.
Test: manual testing with TalkBack turned on and off
Fixes:
Change-Id: Iabcf320c0fa1762463ce2fe2f38bae7ea73fcec1
M compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/internal/ExposedDropdownMenuPopup.android.kt
ja...@gopuff.com <ja...@gopuff.com> #11
This is only needed for a 1.2.0 cherrypick.
M compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/internal/ExposedDropdownMenuPopup.android.kt
Commenter
Will this be fixed also for Material2 i.e. androidx.compose.material:material:1.6.2
?
ma...@google.com <ma...@google.com> #12
ja...@gopuff.com <ja...@gopuff.com> #13
What Compose [BOM] version can we expect the fix for M2 and M3 in?
ap...@google.com <ap...@google.com> #14
Branch: androidx-main
commit b3e6ebe4229e10fa0711277b139316d3e6c0e0ed
Author: Max Alfonso-Ying <maxying@google.com>
Date: Tue Feb 27 16:14:27 2024
Revert "Focus EDM popup when opened when TalkBack is on"
This revert is for M2 only. M3 has a fix-forward in
aosp/2977881.
This reverts commit 6d0af84f14057929daa80a4fd8325c258295992c.
Reason for revert: Accidentally changed focusability of popup
when TalkBack is off.
Bug:
Test: manually with TalkBack both on and off
Change-Id: I03e9fb02e232b9626a37db90b1a3ccffb73c2736
M compose/material/material/src/androidMain/kotlin/androidx/compose/material/internal/ExposedDropdownMenuPopup.android.kt
ma...@google.com <ma...@google.com> #15
androidx.compose.material:material:1.6.3
and androidx.compose.material3:material3:1.2.1
. A new BOM should be available when this happens.
ja...@gopuff.com <ja...@gopuff.com> #16
Thank you! That sounds awesome.
ap...@google.com <ap...@google.com> #17
Branch: androidx-main
commit 3170fdd82ffa9cd96883e9446d8f2d0e8b118787
Author: Max Alfonso-Ying <maxying@google.com>
Date: Thu Feb 22 18:48:18 2024
Add customization parameters to EDM
Most notably, EDM focusability is now customizable.
Also cleaned up some doc wording.
Test: Updated unit tests
Bug:
Fixes:
Relnote: "ExposedDropdownMenu is now implemented using Popup. The
behavior should be the same except focusable menus with editible
text fields may be dismissed when typing on the keyboard."
Relnote: "Added parameters to customize ExposedDropdownMenu.
In particular, menus now have a `focusable` parameter
(default `true`) that should be set to `false` when working
with editable text fields."
Change-Id: I4184c21ee9f6ac3a5dcffceb1014b3e4b26eccb9
M compose/material3/material3/api/current.txt
M compose/material3/material3/api/restricted_current.txt
M compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/ExposedDropdownMenuSamples.kt
M compose/material3/material3/src/androidInstrumentedTest/kotlin/androidx/compose/material3/ExposedDropdownMenuTest.kt
M compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/ExposedDropdownMenu.android.kt
na...@google.com <na...@google.com> #18
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.material:material:1.6.3
androidx.compose.material:material-android:1.6.3
androidx.compose.material:material-desktop:1.6.3
androidx.compose.material:material:1.7.0-alpha04
androidx.compose.material:material-android:1.7.0-alpha04
androidx.compose.material:material-desktop:1.7.0-alpha04
androidx.compose.material3:material3:1.2.1
androidx.compose.material3:material3-android:1.2.1
androidx.compose.material3:material3-desktop:1.2.1
androidx.compose.material3:material3:1.3.0-alpha02
androidx.compose.material3:material3-android:1.3.0-alpha02
androidx.compose.material3:material3-desktop:1.3.0-alpha02
pr...@google.com <pr...@google.com> #19
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.material3:material3:1.3.0-alpha03
androidx.compose.material3:material3-android:1.3.0-alpha03
androidx.compose.material3:material3-desktop:1.3.0-alpha03
Description
Versions
Kotlin Compiler extension: 1.5.8
Jetpack Compose bom version: 2024.01.00
androidx.compose.material3:material3 version: 1.2.0-alpha06 - 1.2.0-rc01
Jetpack Compose component used: ExposedDropdownMenuBox / ExposedDropdownMenu / DropdownMenuItem
Android Studio Build: Android Studio Hedgehog | 2023.1.1 Patch 2
Kotlin version: 1.9.22
Issue
We use appium to run our instrumented tests on browserstack, which uses the accessibility functionality to find elements on the screen. Up until alpha05 this worked fine for our dropdown text field (also inside the appium layout inspector, this allowed us to see and select the specific dropdown items). To achieve this, we set the semantics modifier on the DropdownMenuItems.
After material3:1.2.0-alpha06 this changed, and the DropDownMenu was no longer selectable through appium. Seen that the changelog of alpha06 specifically mentions the DropDownMenu, maybe something was accidentally removed here?
If there was a change in how we should approach a drop-down text field after alpha06, I'd like to be referred to that documentation. :)
Note that there is no issue in normal user-use of the composable, just the automated ui tests, that rely on the accessibility functionality.
Steps to Reproduce or Code Sample to Reproduce:
Stack trace (if applicable):
Not available.