Fixed
Status Update
Comments
wu...@google.com <wu...@google.com>
ch...@google.com <ch...@google.com>
ch...@google.com <ch...@google.com> #2
Project: platform/frameworks/support
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
https://android-review.googlesource.com/1360099
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
al...@google.com <al...@google.com> #3
That looks like a Metalava issue -- I went ahead and filed a bug and marked it as blocking. Also, it looks like these are all covered by a TODO for a package-level annotation.
I think it would be reasonable to block on Metalava (added as blocking) or dupe this against the TODO.
al...@google.com <al...@google.com> #4
Upon further inspection, it looks like this issue was filed accidentally due to an issue with our baseline bug filing script.
You may still want to fix the baselined lint issues -- they are still technically incorrect -- but feel free to mark this as WAI.
ch...@google.com <ch...@google.com> #5
Thanks Alan,
I will handle this issue according to which of
wu...@google.com <wu...@google.com>
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 0a26ad41b1852f94276f15922706896324fed61c
Author: Charcoal Chen <charcoalchen@google.com>
Date: Wed Nov 03 14:17:55 2021
Fix SupportAnnotationUsage lint errors in CameraX proejcts
- Removed "@RequiresApi(21) // ..." annotations if it has been annotated in the outer class.
- Update api txt of the camera-core and camera-video projects
Relnote: "Removed unnecessary @RequiresApi(21) annotations from the inner classes/interfaces."
Bug: 204917951
Test: ./gradlew bOS
Change-Id: I8e28678667e2f8a5e982d64674abe4c19b5e9155
M camera/camera-testlib-extensions/src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java
M camera/camera-video/api/public_plus_experimental_current.txt
M camera/camera-testing/src/main/java/androidx/camera/testing/CoreAppTestUtil.java
M camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfig.java
M camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/FocusMeteringControl.kt
M camera/camera-core/src/main/java/androidx/camera/core/impl/StateObservable.java
M camera/camera-core/src/main/java/androidx/camera/core/CameraState.java
M camera/camera-core/src/main/java/androidx/camera/core/Preview.java
M camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysis.java
M camera/camera-core/src/main/java/androidx/camera/core/FocusMeteringAction.java
M camera/camera-core/src/main/java/androidx/camera/core/ImageProxy.java
M camera/camera-video/src/main/java/androidx/camera/video/MediaStoreOutputOptions.java
M camera/camera-core/src/main/java/androidx/camera/core/AndroidImageProxy.java
M camera/camera-core/src/main/java/androidx/camera/core/ViewPort.java
M camera/camera-video/src/main/java/androidx/camera/video/QualitySelector.java
M camera/camera-core/src/main/java/androidx/camera/core/VideoCapture.java
M camera/camera-core/src/main/java/androidx/camera/core/UseCaseGroup.java
M camera/camera-core/src/main/java/androidx/camera/core/CameraSelector.java
M camera/camera-video/api/current.txt
M camera/camera-core/api/current.txt
M camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/CameraDeviceStateCallbacks.java
M camera/camera-core/src/main/java/androidx/camera/core/CameraControl.java
M camera/camera-core/api/public_plus_experimental_current.txt
M camera/camera-core/src/main/java/androidx/camera/core/SurfaceRequest.java
M camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java
M camera/camera-core/api/restricted_current.txt
M camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/sessionprocessor/SessionProcessorBase.java
M camera/camera-video/api/restricted_current.txt
https://android-review.googlesource.com/1879298
Branch: androidx-main
commit 0a26ad41b1852f94276f15922706896324fed61c
Author: Charcoal Chen <charcoalchen@google.com>
Date: Wed Nov 03 14:17:55 2021
Fix SupportAnnotationUsage lint errors in CameraX proejcts
- Removed "@RequiresApi(21) // ..." annotations if it has been annotated in the outer class.
- Update api txt of the camera-core and camera-video projects
Relnote: "Removed unnecessary @RequiresApi(21) annotations from the inner classes/interfaces."
Bug: 204917951
Test: ./gradlew bOS
Change-Id: I8e28678667e2f8a5e982d64674abe4c19b5e9155
M camera/camera-testlib-extensions/src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java
M camera/camera-video/api/public_plus_experimental_current.txt
M camera/camera-testing/src/main/java/androidx/camera/testing/CoreAppTestUtil.java
M camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfig.java
M camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/FocusMeteringControl.kt
M camera/camera-core/src/main/java/androidx/camera/core/impl/StateObservable.java
M camera/camera-core/src/main/java/androidx/camera/core/CameraState.java
M camera/camera-core/src/main/java/androidx/camera/core/Preview.java
M camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysis.java
M camera/camera-core/src/main/java/androidx/camera/core/FocusMeteringAction.java
M camera/camera-core/src/main/java/androidx/camera/core/ImageProxy.java
M camera/camera-video/src/main/java/androidx/camera/video/MediaStoreOutputOptions.java
M camera/camera-core/src/main/java/androidx/camera/core/AndroidImageProxy.java
M camera/camera-core/src/main/java/androidx/camera/core/ViewPort.java
M camera/camera-video/src/main/java/androidx/camera/video/QualitySelector.java
M camera/camera-core/src/main/java/androidx/camera/core/VideoCapture.java
M camera/camera-core/src/main/java/androidx/camera/core/UseCaseGroup.java
M camera/camera-core/src/main/java/androidx/camera/core/CameraSelector.java
M camera/camera-video/api/current.txt
M camera/camera-core/api/current.txt
M camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/CameraDeviceStateCallbacks.java
M camera/camera-core/src/main/java/androidx/camera/core/CameraControl.java
M camera/camera-core/api/public_plus_experimental_current.txt
M camera/camera-core/src/main/java/androidx/camera/core/SurfaceRequest.java
M camera/camera-core/src/main/java/androidx/camera/core/ImageCapture.java
M camera/camera-core/api/restricted_current.txt
M camera/camera-extensions/src/main/java/androidx/camera/extensions/internal/sessionprocessor/SessionProcessorBase.java
M camera/camera-video/api/restricted_current.txt
Description
The following lint check is baseline suppressed in your project. Please remove all instances of this suppression from
camera/camera-core/lint-baseline.xml
and address the associated issues before your next stable release.30 instance(s) of
SupportAnnotationUsage
The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/AndroidImageProxy.java
at line 101:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/CameraControl.java
at line 192:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/CameraSelector.java
at line 194:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/CameraState.java
at line 261:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/CameraState.java
at line 283:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/CameraState.java
at line 445:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/CameraXConfig.java
at line 74:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/CameraXConfig.java
at line 208:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/FocusMeteringAction.java
at line 159:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageAnalysis.java
at line 677:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageAnalysis.java
at line 725:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageAnalysis.java
at line 752:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageCapture.java
at line 1793:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageCapture.java
at line 1810:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageCapture.java
at line 1892:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageCapture.java
at line 1963:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageCapture.java
at line 2054:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageCapture.java
at line 2077:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageCapture.java
at line 2319:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageCapture.java
at line 2508:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ImageProxy.java
at line 89:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/Preview.java
at line 564:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/Preview.java
at line 654:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/impl/StateObservable.java
at line 185:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/SurfaceRequest.java
at line 479:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/SurfaceRequest.java
at line 504:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/SurfaceRequest.java
at line 658:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/UseCaseGroup.java
at line 69:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/VideoCapture.java
at line 1315:The API level is already known to be at least 21 here from outer annotations
Found in
src/main/java/androidx/camera/core/ViewPort.java
at line 204: