Fixed
Status Update
Comments
ap...@google.com <ap...@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
hu...@google.com <hu...@google.com>
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit ee9fa116b553b77b17badd7cac58374c99651753
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
https://android-review.googlesource.com/1425243
https://goto.google.com/android-sha1/ee9fa116b553b77b17badd7cac58374c99651753
Branch: androidx-master-dev
commit ee9fa116b553b77b17badd7cac58374c99651753
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: snap-temp-L87300000695801067
commit 5b7a369fa062c0593e549e8fe2fc10a06617baa3
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
(cherry picked from commit ee9fa116b553b77b17badd7cac58374c99651753)
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
https://android-review.googlesource.com/1432092
Branch: snap-temp-L87300000695801067
commit 5b7a369fa062c0593e549e8fe2fc10a06617baa3
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
(cherry picked from commit ee9fa116b553b77b17badd7cac58374c99651753)
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: snap-temp-L72800000695805814
commit 240338b47aaa714601dd53aa83f4430d3b950f42
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
(cherry picked from commit ee9fa116b553b77b17badd7cac58374c99651753)
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
https://android-review.googlesource.com/1432094
Branch: snap-temp-L72800000695805814
commit 240338b47aaa714601dd53aa83f4430d3b950f42
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
(cherry picked from commit ee9fa116b553b77b17badd7cac58374c99651753)
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: snap-temp-L56300000695806117
commit 34655560b066fc448da6d1360a39b60c382a3894
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
(cherry picked from commit ee9fa116b553b77b17badd7cac58374c99651753)
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
https://android-review.googlesource.com/1432097
Branch: snap-temp-L56300000695806117
commit 34655560b066fc448da6d1360a39b60c382a3894
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
(cherry picked from commit ee9fa116b553b77b17badd7cac58374c99651753)
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
an...@google.com <an...@google.com> #7
The following changes were cherrypicked through
Release Track:
Changes: aosp/1425243
ap...@google.com <ap...@google.com> #8
Project: platform/frameworks/support
Branch: snap-temp-L35100000695851870
commit 05592a19dd8be2804e0c1824ed112153136d26d8
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
(cherry picked from commit ee9fa116b553b77b17badd7cac58374c99651753)
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
https://android-review.googlesource.com/1430181
Branch: snap-temp-L35100000695851870
commit 05592a19dd8be2804e0c1824ed112153136d26d8
Author: husaynhakeem <husaynhakeem@google.com>
Date: Fri Sep 11 00:24:35 2020
Fix bug in validating file save destination for image capture
To validate the save destination of image capture when the outputOption contains a file, try opening a write stream to the file. If it succeeds, the file is writable and the image capture save location is valid, otherwise it's invalid.
This validation previously used File.canWrite(), this works correctly for files that are actually created (e.g. using File.createTemp()). When creating a file object with `new File(...)`, the method constantly returns false. This was causing the tests in the rotation test app (uiwidgets/rotations) to fail.
Bug: 167697553
Test: ImageSaveLocationValidatorTest.java + ImageCapture rotation tests
Change-Id: I8c5656fcc5da0c477203b3b5c8bb450be148b323
(cherry picked from commit ee9fa116b553b77b17badd7cac58374c99651753)
M camera/camera-core/src/main/java/androidx/camera/core/ImageSaveLocationValidator.java
M camera/camera-core/src/test/java/androidx/camera/core/ImageSaveLocationValidatorTest.java
Description
When the user specifies a destination to store the result of an image capture (with the use of
outputFileOptions
), theImageCapture
use case should verify whether this destination is valid before triggering the image capture request to the camera. If the destination is not valid, the operation should fail fast and the user should be notified about it.