Status Update
Comments
ch...@google.com <ch...@google.com>
ta...@google.com <ta...@google.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
ta...@google.com <ta...@google.com> #3
By the way, note that this info is already added to the Exif values of saved image if you are using the ImageCapture.OnImageCapturedCallback
. So, if your app requirements don't have any explicit need of OnImageCapturedCallback
, that is also an option.
ry...@gmail.com <ry...@gmail.com> #4
Thanks for looking into this. Using ImageProxy
or ImageInfo
to pass the value seems like a great idea.
I did suspect that ImageCapture.OnImageSavedCallback
would have this set, but we have an explicit need for ImageCapture.OnImageCapturedCallback
.
ta...@google.com <ta...@google.com>
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
Author: Tahsin Masrur <
Link:
Add FlashState to ImageProxy.ImageInfo
Expand for full commit details
Add FlashState to ImageProxy.ImageInfo
This will allow to know whether the flash was fired or not while using the ImageProxy image capture method. Note that the on-disk image capture already had this info through EXIF metadata.
RelNote: "ImageProxy.ImageInfo.getFlashState() added to know whether flash was fired during a capture."
Bug: 380527406
Test: Manual testing through view-test-app
Change-Id: Id2c61f898acee6e75acded80fc41872cd0edf764
Files:
- M
camera/camera-core/api/current.txt
- M
camera/camera-core/api/restricted_current.txt
- M
camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ImageUtilDeviceTest.kt
- M
camera/camera-core/src/main/java/androidx/camera/core/AndroidImageProxy.java
- A
camera/camera-core/src/main/java/androidx/camera/core/FlashState.kt
- M
camera/camera-core/src/main/java/androidx/camera/core/ImageAnalysisAbstractAnalyzer.java
- M
camera/camera-core/src/main/java/androidx/camera/core/ImageInfo.java
- M
camera/camera-core/src/main/java/androidx/camera/core/ImmutableImageInfo.java
- M
camera/camera-core/src/main/java/androidx/camera/core/imagecapture/JpegImage2Result.java
- M
camera/camera-core/src/main/java/androidx/camera/core/impl/CameraCaptureMetaData.java
- M
camera/camera-core/src/main/java/androidx/camera/core/impl/utils/ExifData.java
- M
camera/camera-core/src/main/java/androidx/camera/core/internal/CameraCaptureResultImageInfo.java
- M
camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/util/CaptureUtils.kt
Hash: d8889a034b2c2af4ace1f984faa0ef61411042c3
Date: Fri Dec 13 06:50:41 2024
ta...@google.com <ta...@google.com> #6
Hi, this feature has been added and will be available from the next CameraX release. Thanks!
ry...@gmail.com <ry...@gmail.com> #7
Thank you. I'll verify as soon as it's released.
pr...@google.com <pr...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.camera:camera-core:1.5.0-alpha05
Description
This is a CameraX Feature Request to provide support to determine if the camera flash unit flash was fired -- primarily when flash mode is set to Auto.
Our current implementation makes use of
CameraController.takePicture()
via theImageCapture.OnImageCapturedCallback()
. Perhaps the flash result can be provided as an additional parameter toonCaptureSuccess(ImageProxy)
The goal is to set the appropriate Exif values for
ExifInterface.TAG_FLASH
. We can determine the flash mode prior to photo capture, but we are unable to determine if the flash fired or not.