Added new APIs to DisplayManager to:
1. set the user preferred display mode,
2. clear user preferred display mode and
3. wheteher user has chosen a display mode
These new settings are stored in Settings.Global.
Bug: 192332479
Test: atest DefaultDisplayModeTest
Test: atest LocalDisplayAdapterTest
Change-Id: I3a60e271c7ec23c84e74487e89b3e29ca91e8a40
- If camera is opened before the lister is registered, the corresponding
camera state needs to be propagated
- Handle the case of binder death
Test: testCameraManagerListenerCallbacks
Bug: 193475498
Change-Id: I4948c37750340e5e8edaf8b3fe290b1346f8c25c
Follow on from ag/15684817, where the WindowContext is cached in
MediaProjection. To allow multiple VirtualDisplays to be created
from the same MediaProjection, instead create a new WindowContext
for each one, and associate with that VirtualDisplay.
As before, the WindowContext must be stored in a field to prevent
it from being garbage collected.
Bug: 197579637
Bug: 198415847
Test: manual
Change-Id: If3f84b3778104bf12617d224876700f8ee3b2b45
The CancellationSignal passed into the authentication methods is not
associated with the request and can be used to cancel the current
operation, even if it is more recent. The new id prevents outdated
signals from being using.
Note that there are still issues with the Callbacks that are not
addressed (see bug for details).
Bug: 194405579
Bug: 189451155
Bug: 191716671
Test: atest com.android.systemui.biometrics com.android.server.biometrics
Change-Id: Id71be912cc88ae90df8087eb8f1a6fc3e110f883
During high speed recording mode, it was observed that there was a
memory leak due to too many nodes at mPendingFrameNumbersWithOtherType
list. After ag/1962479 added batching for HFR it only updates the
FrameNumberTracker every 4 or 8 frames during high speed recording. This
change fixes that by updating every frame. A map is used to store
requestIds which have batchOutput. For every such requests we update
each frame in the batch in a for loop.
bug: 194618660
Test: 1. Did validity check with the change. Now frameNumber is incremented
by 1 instead of every 4 or 8 in FrameNumberTracker.
2. The mPendingFrameNumbersWithOtherType for otherType is empty during
HFR recording.
3. Verified using other modes of camera and did not observe any
crashes.
4. CTS tests Pass.
Change-Id: I2638e6663e7b70e4ef7a29dfeb27d423c9c7137d
When AChoreographer is the only callback registered with
DisplayManagerGlobal and there are no other display listeners,
DisplayManagerGlobal incorrectly skips callback registration with DMS.
Bug: 193945763
Test: atest DisplayManagerGlobalTest
Change-Id: I4b737fa0a91541fe331edcf3454724200e2db971
This class is intended to host conversion functions
between the types from AIDL android.media.audio.common
packages and SDK Java API types, as well as legacy
system/audio.h (native) types.
Move existing conversion functions from Soundtrigger's
utility functions to AidlConversion.
Bug: 188932434
Test: atest SoundHw2CompatTest
Change-Id: I3041fce921112c06fb001638e35b26abb3fd0c72
Previously you could only modify the device state
if you held the CONTROL_DEVICE_STATE permission. This
change allows top focused activities to do the same
Bug: 192671754
Test: atest DeviceStateManagerTests
Change-Id: Iba0c1800a1fb17024020e657b76a54eec9c89348
This change introduces a flag, FLAG_CANCEL_STICKY_REQUESTS, on the
device states that are provided by the DeviceStateProvider. If the flag
is set on a device state it indicates that the device state should
cancel any outstanding sticky requests when entered. If at least one
device state is configured to be a terminal device state (has the flag
set) the service will be configured to allow sticky requests, otherwise
requests will continue to be cancelled when the requesting process dies.
Fixes: 192671286
Test: atest DeviceStateManagerServiceTest
Test: atest DeviceStateProviderImplTest
Test: atest DeviceStateTest
Test: atest OverrideRequestControllerTest
Change-Id: I7a6bdc9334342fa818920b56a4f0c22629bb101f