Previously only accessible from native.
Also improve documentation and comments.
Test: CTS VolumeShaperTest, Ducking
Bug: 38353147
Change-Id: I27bb34f0a5d28f80d138111bbeeb92653b5195c5
This CL adds:
1) Adds uniqueId (protected via system/sig permission) to virtual
displays.
2) Add support for N virtual display viewports into inputflinger.
3) Set the virtual display's viewports in inputflinger if it has the
uniqueId value set to non-null. (a) Moving the new viewport from java to
native inputflinger and (b) adding "uniqueId" value to viewports makes
up the great majority of this change.
4) From the inputflinger side, we also read in a new value from the
input device configuration files called 'touch.displayId'.
5) When touch.displayId and the virtual display's uniqueId match,
inputflinger links the two.
Test: Start VR and ensure that the virtual viewport shows up when running
'adb shell dump input". Run a VR app, and ensure that the virtual input
device is associated with the new virtual viewport.
Test: com.android.server.display.DisplayManagerServiceTest
Bug: 36051620
Change-Id: Ic2117eb8e19f7f3c59687160591f8bc6692c1f12
Merged-In: Ic2117eb8e19f7f3c59687160591f8bc6692c1f12
Bug: 37891455
Test: manual - open custom phone ringtone picker in settings, navigate
to an .ogg file, and it should be selectable; select it and it should
add itself to the list of available ringtones, and play its sample
correctly.
Change-Id: I33b1ff07d0b43646c807ba0994efa4f6d8d95cae
This CL adds:
1) Adds uniqueId (protected via system/sig permission) to virtual
displays.
2) Add support for N virtual display viewports into inputflinger.
3) Set the virtual display's viewports in inputflinger if it has the
uniqueId value set to non-null. (a) Moving the new viewport from java to
native inputflinger and (b) adding "uniqueId" value to viewports makes
up the great majority of this change.
4) From the inputflinger side, we also read in a new value from the
input device configuration files called 'touch.displayId'.
5) When touch.displayId and the virtual display's uniqueId match,
inputflinger links the two.
Test: Start VR and ensure that the virtual viewport shows up when running
'adb shell dump input". Run a VR app, and ensure that the virtual input
device is associated with the new virtual viewport.
Test: com.android.server.display.DisplayManagerServiceTest
Bug: 36051620
Change-Id: Ic2117eb8e19f7f3c59687160591f8bc6692c1f12
The implementation of the IAppOpsCallback interface was an inner class
that implicitly held a strong reference to the PlayerBase
instance, preventing subclasses of PlayerBase to be GC'd.
The fix consists in making the IAppOpsCallback implementation be a static
class and hold a weak reference to PlayerBase.
Test: see bug
Bug: 35359144
Change-Id: Ic97d07dad0be2376eef160d01ff4e4a9e5ee0bcd
The implementation of the IPlayer interface was an inner class
that implicitly held a strong reference to the PlayerBase
instance, preventing subclasses of PlayerBase to be GC'd.
The fix consists in making the IPlayer implementation be a static
class and hold a weak reference to PlayerBase.
Test: see bug
Bug: 35359144
Change-Id: I5f7d658f4bda07c92cfdb437b42d3f78213ab552
With all the work under the hood of ImageReader/Writer in the last few
releases, this is much more straightforward to enable.
Only trick is to ensure that the Image detached from the ImageReader
correctly clears out its planes, if present.
Bug: 19962027
Test: Camera CTS still passes on angler, sailfish, ryu
Change-Id: Ic8a1f3e2f45cf15971d76e308a5af25eb2fd66f1
If the HAL populates the recognition event with data that isn't trigger
audio, it's currently impossible for clients to actually read that
opaque data. By adding this getter, clients who understand how the
detection engine works can react to whatever is in the data blob.
Test: Modify SoundTriggerTestApp to verify that the data is accessible.
Change-Id: I8a9feccab98e2d15653dd55f28a43095f8ee1e44
The message indicating the use of stream types for operations
other than volume control is deprecated shouldn't be an
error but a warning
Test: use apps that request audio focus with a stream type, check log
Bug: 37887058
Change-Id: Iaafae8aa599984688dae448e868de81317add4d3
This method is called from MidiService in system server, must be
oneway.
Remove the call to IMidiDeviceServer.getDeviceInfo from
MidiService. It seems to be redundant. The reason is that
MidiDeviceInfo is only created by MidiService (to maintain
unique IDs), and after creation, it is pushed both to a remote
MidiDeviceServer, and to a local MidiService.Device class
simultaneously inside addDeviceLocked method. Thus, if
MidiService.Device.mDeviceInfo is still null, there is no chance
that remote MidiDeviceServer can hold a non-null
MidiDeviceInfo. So the call to IMidiDeviceServer.getDeviceInfo
will also return null, and thus can be avoided.
Note that only for BT MIDI devices can MidiService.Device receive
MidiDeviceInfo later in the lifecycle. All other types of devices
receive MidiDeviceInfo upon construction.
Bug: 37535382
Test: Used BT MIDI keyboard with MidiSynthDemo app
Change-Id: I5378207922187866f3c43e01f1ed30f042720167
When translating a focus request from the N- API to AudioFocusRequest,
do not do null checks for listener or handler, those are only
for the AudioFocusRequest.Builder.
Test: use app built for N- and request focus, no crash
Bug 37855238
Change-Id: I675b3144e913ab674fe27f9f65ee7a7bea24a72c
Focus listener: follow platform pattern for setter of listener
and handler (set(listener) and set(listener, handler) methods).
More docs.
Test: cts-tradefed run cts -m CtsMediaTestCases -t android.media.cts.AudioFocusTest
Bug: 30258418
Change-Id: Ib5d1fbc3cf92821b63ffc1b4ad4cf4384bb6ff54