Status Update
Comments
ki...@google.com <ki...@google.com>
ch...@google.com <ch...@google.com>
ol...@gmail.com <ol...@gmail.com> #2
Branch: androidx-master-dev
commit c60f33e229e31ab328ef6b59dab63b264954831c
Author: Alexandre Elias <aelias@google.com>
Date: Fri Jul 10 16:23:09 2020
Semantics no-op cleanups
Partly in response to lmr's broad code review, I did a pass of
superficial API/implementation cleanup. The main changes are:
- I changed each Boolean SemanticsProperty where false is equivalent to
not being present to take "Unit" instead. This is conceptually
clearer: it avoids questions like "can I cancel out a semantics from a
merged child by setting it to false?" Because "property = Unit" looks
weird, I also changed the style of these to "property()".
- I moved the Semantics id generator closer to where it's used, in
SemanticsModifierCore. I made it internal and an AtomicInt.
(Note that integer ids are heavily used in the Android
AccessibilityNodeInfo APIs so I can't simply remove them entirely.)
- I deleted dead code. Some examples include SemanticsHintOverrides,
a public API not connected to anything, and SemanticsPropertyKey
merge() open method which is never called. (In both cases I have
a different plan in mind for accessibility.)
Fixes: 145951226
Fixes: 145955412
Test: existing tests
Relnote: "Single-value semantics properties now use a calling style.
For example, 'semantics { hidden = true }' is now written as:
'semantics { hidden() }'."
Change-Id: Ic1afd12ea22c926babc9662f1804d80b33aa0cfc
M ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/LayoutNodeModifierBenchmark.kt
M ui/ui-core/api/0.1.0-dev15.txt
M ui/ui-core/api/current.txt
M ui/ui-core/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-core/api/public_plus_experimental_current.txt
M ui/ui-core/api/restricted_0.1.0-dev15.txt
M ui/ui-core/api/restricted_current.txt
M ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/graphics/vector/VectorTest.kt
M ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/semantics/SemanticsTests.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidActuals.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeView.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidPopup.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Expect.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsConfiguration.kt
D ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsHintOverrides.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsModifier.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsNode.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsOwner.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsWrapper.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/semantics/SemanticsProperties.kt
M ui/ui-foundation/api/0.1.0-dev15.txt
M ui/ui-foundation/api/current.txt
M ui/ui-foundation/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-foundation/api/public_plus_experimental_current.txt
M ui/ui-foundation/api/restricted_0.1.0-dev15.txt
M ui/ui-foundation/api/restricted_current.txt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Clickable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Dialog.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Scroller.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Selectable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Toggleable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/semantics/FoundationSemanticsProperties.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/CardTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/CheckboxScreenshotTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/RadioButtonScreenshotTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ScaffoldTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/SnackbarTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/SurfaceTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ripple/RippleIndicationTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/TextFieldScreenshotTest.kt
M ui/ui-material/src/main/java/androidx/ui/material/AppBar.kt
M ui/ui-material/src/main/java/androidx/ui/material/TextFieldImpl.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/AssertsTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/CallSemanticsActionTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/ErrorMessagesTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/FindersTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/PrintToStringTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/ScrollToTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/TextActionsTest.kt
M ui/ui-test/src/main/java/androidx/ui/test/Actions.kt
M ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
M ui/ui-text/api/0.1.0-dev15.txt
M ui/ui-text/api/current.txt
M ui/ui-text/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-text/api/public_plus_experimental_current.txt
M ui/ui-text/api/restricted_0.1.0-dev15.txt
M ui/ui-text/api/restricted_current.txt
M ui/ui-text/src/commonMain/kotlin/androidx/ui/text/CoreTextField.kt
M ui/ui-text/src/commonMain/kotlin/androidx/ui/text/TextSemanticsProperties.kt
ga...@gmail.com <ga...@gmail.com> #3
mk...@qa.edx.org <mk...@qa.edx.org> #4
Bug described above (where any touch on the screen reveals the bottom navigation bar) happens on Xiaomi Redmi Note 9S using Android 10 (MIUI 12) as well.
ak...@gmail.com <ak...@gmail.com> #5
ko...@gmail.com <ko...@gmail.com> #6
This is more of a missing feature as nobody has implemented the setSystemBarsBehavior
in Impl20
which is the implementation used on pre-30 devices. This shouldn't be such a big deal to implement but it is crucial for correct compat behavior. Please fix this asap!
li...@gmail.com <li...@gmail.com> #7
al...@gmail.com <al...@gmail.com> #8
Bug is real on every android 10 device wich i have on all alphas and beta core ctx versions.
ii...@gmail.com <ii...@gmail.com> #9
I assumed the old method is implemented since Core is on beta release already, but upon closer inspection the method only implemented for API 30. Revert revert we go...
jo...@gmail.com <jo...@gmail.com> #10
Hi, is there someone already working on this? I needed this feature so I implemented it. I can improve it and submit a pull request :D
ca...@google.com <ca...@google.com> #11
Thank you all for reporting this bug. We are actively working on this but the backport implementation uncovered some other bugs that need to be fixed and tested in order to submit all the changes.
[Deleted User] <[Deleted User]> #12
This is blocking for the correct usage of WindowInsetsControllerCompat
.
Is someone still working on this?
lu...@toyrocketscience.com <lu...@toyrocketscience.com> #13
ap...@google.com <ap...@google.com> #14
Branch: androidx-main
commit 480d10395d28bf22e9f4539f4b992a344628779b
Author: Vadim Caen <caen@google.com>
Date: Mon Feb 08 16:23:39 2021
Implement setSystemBarsBehavior for pre 30 SDK
Test: WindowInsetsControllerCompatActivityTest#systemBarsBehavior_swipe
Test:
WindowInsetsControllerCompatActivityTest#systemBarsBehavior_transient
Test: WindowInsetsControllerCompatActivityTest#systemBarsBehavior_touch
Bug: 173203649
Change-Id: I062c841f0e4201fddfcf1489dbfaff605bebbdb6
M core/core/src/androidTest/java/androidx/core/view/WindowInsetsAnimationCompatActivityTest.kt
M core/core/src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt
M core/core/src/main/java/androidx/core/view/ViewCompat.java
M core/core/src/main/java/androidx/core/view/WindowInsetsAnimationCompat.java
M core/core/src/main/java/androidx/core/view/WindowInsetsControllerCompat.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/view/WindowInsetsControllerPlayground.kt
M samples/Support4Demos/src/main/res/layout/activity_insets_controller.xml
ca...@google.com <ca...@google.com>
lb...@gmail.com <lb...@gmail.com> #15
Is this a deprecation issue, or something to implement for new/old API of Android?
ca...@google.com <ca...@google.com> #16
Android R introduced WindowInsetsController.setSystemBarsBehavior()
and the API was added to Androidx but the backport was not implemented. It should be release in core:1.5.0
stable
jd...@xooloo.com <jd...@xooloo.com> #17
getSystemBarsBehavior() is still unimplemented…
Description
BEHAVIOR_SHOW_BARS_BY_SWIPE
replacesSYSTEM_UI_FLAG_IMMERSIVE
as perBEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
withSYSTEM_UI_FLAG_IMMERSIVE_STICKY
WindowInsetsControllerCompat
should correctly set those deprecated flags on pre-API 30 devices when you callshow()
orhide()
.