If the key returns null, try with the fallback key to get the values.
This is to support old key names for old camera hals.
Bug: 79183654
Test: Launch GCA in P and P+OMR1 walleye devices.
Change-Id: I1d55cc53b159401d4cd47da9a02f174cb6cb9e5e
Session parameters are subset of the supported capture
request parameters. They are passed as part of the capture
session intitialization and only require the initial session
parameter values. Update the documentation and make clear that
additional outputs, tags etc. should not be passed when building
the session parameter capture request object.
Bug: 79225608
Test: Documentation builds
Change-Id: Id2651ea1d8dc8e3ebd9ebfca84eca2bb67694bf4
SurfaceTextureRenderer::swapBuffers interpreted EGL_BAD_SURFACE as
indicating an abandanoned buffer queue. But the EGL 1.4 lists additional
errors that also indicate extreme failure: EGL_CONTEXT_LOST, and
EGL_BAD_NATIVE_WINDOW.
Discovered while debugging CTS test
android.hardware.camera2.cts.RobustnessTest#testAbandonRepeatingRequestSurface
on ARC++ x86 boards.
Test: cts-tradefed/android.hardware.camera2.cts.RobustnessTest#testAbandonRepeatingRequestSurface
Bug: 64496778
Bug: 36063477
Change-Id: I782f2c923aa5ff2442bbcf3dfb09861e129a2872
(cherry picked from commit 3511f99cf986a9fe7a67a8aee301e05f1be07f62)
The camera will play shutter sound through native layer instead of Java
layer. That will cause shutter sound to bypass AppOps check. Add
OP_PLAY_AUDIO checking to avoid shutter sound playing while DnD.
Bug: 78136756
Test: Taking picture in Message with enable/disable DnD.
Change-Id: Iba5e7ab19cf5565ba3f074d2aba194b60e18265f
As the comments of the whole class says, primary ID is the field used
for checking for equality of the selectors. Current implementation also
checks program type, which is a deprecated field that can be inferred
from primary ID.
Test: open car.Media, add AM station to favorites
Bug: 78296701
Change-Id: I0423f831c2fdca2d1d126ed8a3b8fe40f28022ac
The minimum brightness curve guarantess that any brightness curve
that dips below it is rejected by the system.
This prevent auto-brightness from setting the screen so dark as to
prevent the user from resetting or disabling it, and maps lux to
the absolute minimum nits that are still readable in that ambient
brightness.
Test: atest BrightnessConfigurationTest.
Fixes: 77176207
Change-Id: Ibd1e83e9b147f3849d6c907f828cbe5950c8367f
The user canceled message is different than the other fingerprint errors
since it is caused by the user explicitly tapping on the UI at which
point the dialog will be already dismissing/dismissed. So the error
should be sent immediately to the application.
Test: manual test with FingerprintDialog, modified to show when the
error messages are received
Change-Id: Ia2a3b0a7ac9c8cfcbd6055045a95fc06aa02c61a
Fixes: 77337939
Allows an app with the appropriate permission to reduce
(make more gray) the saturation of colors on the display.
Test: manual
Bug: 77189882
Change-Id: I2b7b065d07bd2ca24730b2e8c52d161c22b307ab
The broadcastradio HAL 1.x requires waiting for onConfigChanged callback
to indicate the initialization is done, while HAL 2.0 does not have the
config setting (at the tuner session level) at all.
This change makes it possible to cleanly workaround race condition in the
radio app retaining support for both HAL revisions. Future versions of the
RadioManager will provide a method to open a session without taking care
about these nuances.
Bug: 74353024
Test: manual
Change-Id: I5de2d5e5c33626fcf0cfbbaf121d0b13e53d0bae
Since API1 camera ID (int) can now be used as array index
of getCameraIdList output.
Test: mix internal/external camera and try CtsVerifier tests
Bug: 72261912
Change-Id: I7cc28f47d100424ebe1ce6f7b61f60c233688538
The external camera orientation and facing should not be
used for the jpeg orientation calculation.
Bug: 72261912
Test: Android compiles without errors
Change-Id: I552c09ae8dada2122396128011f7b82a9889e126
This CL changes FingerprintDialog into the more generic
BiometricDialog, which OEMs will be able to extend as necessary to
provide support for alternate biometric modalities.
Bug: 74831038
Test: m -j50 FingerprintDialog (from the associated CL on this topic)
The app works and authenticates successfully.
Test: make update-api -j56
Change-Id: Ic398ef0a0b448be68dbe3330b30779f93f567243
FingerprintDialog optional fields should not take up space when null
FingerprintDialog error messages should be delayed until dialog is dismissed
Fixes: 75281164
Test: manual test with FingerprintDialog apk
Change-Id: Iaa95fc8c95b7c9f5fc5d8563ea37fc1f6497fabd
* changes:
Camera: Complete transition from handlers to executors
Camera: Camera shouldn't throw 'RejectedExecutionException'
Revert "Revert "Camera: SessionConfiguration should use Executors""
It should be possible for clients to pass executors instead of
handlers in any method that accepts capture result listener.
Bug: 3767382
Test: Camera CTS
Change-Id: I605c001533e93e6294d265fcd4d3d5783c313b8a
The current model for setting up a functionfs
function is:
UsbDeviceManager#setCurrentFunctions() ->
intent is sent to MtpReceiver to write the descriptors ->
init/hal waits for descriptors to write, then pulls up gadget ->
Gadget is configured, a USB_STATE intent starts MtpServer
The main downside of this is a lack of reliability because
the Mtp process could be killed at any point. Normally, a
gadget is unbound if its control endpoint is closed. no_disconnect
works around this, but is still a little janky. In addition, the
extra intent delays the startup of the gadget.
With the new model, UsbDeviceManager writes the descriptors
on initialization. Since it is a system service, it won't be killed.
UsbDeviceManager#setCurrentFunctions() ->
init/hal pulls up gadget ->
Gadget is configured, a USB_STATE intent starts MtpServer
MtpServer calls UsbManager#getControlFd to get a dup of the control
endpoint.
Also modify permissions so system server can access mtp files.
Bug: 72877174
Test: Change usb configurations to ptp/mtp
Change-Id: Id17d2b5930f4e1f37ec1b4f00add9d594174ad49
After Treble's FLP merge into GNSS HAL, the FlpHardwareProvider is just
an empty shell. Removing FusedLocation and/or Flp + Hardware classes
altogether.
Bug: 35726697
Test: m -j
Test: Open Google Map and then walk around. The dot moves as I walk.
Change-Id: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8