Fixed
Status Update
Comments
kl...@google.com <kl...@google.com>
na...@google.com <na...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit a9b67eca31e73a3f975b53e22a9e5983e2d76864
Author: Filip Pavlis <pavlis@google.com>
Date: Thu Oct 01 15:32:27 2020
Add FLAG_SECURE on Dialog and Popup.
Added a new way on how to pass platform specific parameters for popups
and dialogs.
Also renamed children to content. And made expect / actual to be
internal for dialog as it is for popup.
Bug: 143778148
Bug: 143778149
Test: Added tests for both dialog and popup.
Relnote: "Popups and dialogs now inherit FLAG_SECURE from parent Window.
Also added option to configure this explicitly".
Change-Id: I649663482e91757df751315b03fee9867b580e96
M compose/material/material/api/current.txt
M compose/material/material/api/public_plus_experimental_current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/AlertDialog.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/src/androidAndroidTest/AndroidManifest.xml
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogSecureFlagTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupDismissTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupSecureFlagTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTestUtils.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidDialog.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidPopup.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/SecureFlagPolicy.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/selection/SelectionLayout.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/window/Dialog.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/window/Popup.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopDialog.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.kt
https://android-review.googlesource.com/1444435
Branch: androidx-master-dev
commit a9b67eca31e73a3f975b53e22a9e5983e2d76864
Author: Filip Pavlis <pavlis@google.com>
Date: Thu Oct 01 15:32:27 2020
Add FLAG_SECURE on Dialog and Popup.
Added a new way on how to pass platform specific parameters for popups
and dialogs.
Also renamed children to content. And made expect / actual to be
internal for dialog as it is for popup.
Bug: 143778148
Bug: 143778149
Test: Added tests for both dialog and popup.
Relnote: "Popups and dialogs now inherit FLAG_SECURE from parent Window.
Also added option to configure this explicitly".
Change-Id: I649663482e91757df751315b03fee9867b580e96
M compose/material/material/api/current.txt
M compose/material/material/api/public_plus_experimental_current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/AlertDialog.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/src/androidAndroidTest/AndroidManifest.xml
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogSecureFlagTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupDismissTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupSecureFlagTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTestUtils.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidDialog.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidPopup.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/SecureFlagPolicy.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/selection/SelectionLayout.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/window/Dialog.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/window/Popup.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopDialog.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.kt
Description
We have tests for things like that certain types of text changes don't cause too many recompositions. Those tests pass when sending commands through the IME command code path, but fail when going through the semantics code path. The semantics code path is very different than IME: we just directly invoke the
onValueChanged
callback.This is an opportunity for other bugs as well – internal state can get out of sync because one way of mutating it updates internal state directly, and the other asks the composition to update our state on the next frame.
Semantics actions should go through the same code paths as IME commands, or as close as possible.
For example, the
TextFieldTests.textField_stringOverload_doesNotCallOnValueChange_whenCompositionUpdatesOnly
test fails if text clearance is performed via theSetText
action instead of IME commands. They should behave the same.