Status Update
Comments
wu...@google.com <wu...@google.com>
wu...@google.com <wu...@google.com>
sc...@google.com <sc...@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
sh...@gmail.com <sh...@gmail.com> #3
Hi,
Hope the workaround works well for Pixel 3A / 3A XL and all the other devices that might be facing this issue currently 🤞
Thanks a lot for looking into this issue!
Regards, Mohit
sc...@google.com <sc...@google.com>
sh...@gmail.com <sh...@gmail.com> #4
Hi Scott,
Not sure if the latest release had the changes (please feel free to ignore this just in case if it didn't), but the issue with auto-flash doesn't seem to be fixed for Pixel 3a.
The first flash is performed, however the second flash that introduces light to the output image isn't flashed/performed (in auto flash mode; works fine in manual/always flash mode).
Thanks a lot for the help and support!
Regards, Mohit
sc...@google.com <sc...@google.com> #5
Hi Mohit, The latest release doesn't contain the fix yet. Next release should have it .
sh...@gmail.com <sh...@gmail.com> #6
Hi Scott,
Glad to know that the release would have the fix.
Thanks a lot for the update.
Regards, Mohit
ap...@google.com <ap...@google.com> #7
Branch: androidx-main
commit 2c3288a7c217e977dd81e098daa18b4470e70d4c
Author: repo sync -c -j8 <scottnien@google.com>
Date: Fri Nov 19 17:47:53 2021
Fixed the issue that cannot get bright photos when flash is auto on Pixel 3a / Pixel 3a XL
On the devices that cannot get bright photos when flash is auto,
set AE_MODE to AE_MODE_ON_ALWAYS_FLASH in still capture request
to workaround it.
Bug: 205373142
Test: UseFlashOnForAutoFlashTest
Relnote: "Fixed the issue that captured photos in FLASH_AUTO mode
is underexposured in dark conditions on Pixel 3a and Pixel 3a XL"
Change-Id: I13f19d787a770b4757ce6f80783aadf586d5c5b7
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/quirk/CameraNoResponseWhenEnablingFlashQuirk.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/quirk/SamsungPreviewTargetAspectRatioQuirk.java
M camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2CameraControlImplTest.kt
A camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/quirk/AutoFlashUnderExposedQuirk.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/quirk/CameraQuirks.java
A camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/OverrideAeModeForStillCaptureTest.kt
A camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/quirk/AutoFlashUnderExposedQuirkTest.kt
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/Camera2CameraControlImpl.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/quirk/Nexus4AndroidLTargetAspectRatioQuirk.java
A camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/workaround/OverrideAeModeForStillCapture.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/quirk/CrashWhenTakingPhotoWithAutoFlashAEModeQuirk.java
sh...@gmail.com <sh...@gmail.com> #9
Hey Scott,
Thanks a lot for fixing this issue!
Regards, Mohit
Description
On Pixel 3a, setting flash to automatic results in dark photographs, as the second flash to light the scene doesn't trigger.
Setting flash to manually on and taking a photo will have a long flash for the autofocus to work, then a second shorter flash as the photo is taken.
Setting flash to auto and being somewhere dark enough to require the flash will have a long flash for the autofocus, but not then trigger the second flash whilst the photo is taken, resulting in a dark picture.
To test/debug this issue you'll could use our CameraX based app (releases section) on a Pixel 3a:https://github.com/GrapheneOS/Camera
Thanks a lot for all the help and support.
Regards, Mohit