- Make volume policy settable by the volume UI instead
of hardcoded in AudioService.
- Add status bar icon for silent mode.
- Limit unmute-on-volume-adjust behavior to tvs.
- Ensure all changes to device volume are sent through
setIndex so no change events are missed.
Bug: 19260237
Change-Id: Iea070a7a6f90ff620e39629f2da3f33f87223d72
- Add a new volume_changed event, reported at the stream level.
- Only include changes to base streams (no aliases).
- Include the caller for each change. A caller is either:
- a pkg name (for external calls or known media sessions)
- a system server class's log tag (for internal calls,
disambiguates "android")
Bug: 19599935
Change-Id: Ia61b68ff1e7e2907a24972790ec052bfe099e665
With this method, the system apps like Launcher and TV will have a concrete way
to detect the built-in tuner input.
Bug: 18474316
Change-Id: I0e60fa54ed676656212c40fdf6e936c3ff6c567e
MidiManager clients can be notified of device status changes via a new MidiDeviceStatus object.
MidiDeviceStatus contains the busy status of the device's input ports and number of
connections to the output ports.
MidiDeviceService now has an optional callback for receiving notifications when its ports change as well.
Change-Id: I1600df4464d82724bc026c27b9633ae9c412d3f0
The output port of one device can be connected to the input port of another
device using the new MidiDevice.connectPorts() method.
This allows an application to direct the output of one device directly
to the input port of another without having to copy data from one to another.
Change-Id: I4d361c4e0950b9b9516b0c2f0c158677b1aca208
Using an activity context with AudioManager could cause that context
to be held on to longer than desired, for example if the caller
acquired audio focus but never abandoned it. Fix acquire/abandon in
VideoView, and use the application context in AudioManager to mitigate
the issue for other misbehaving code.
Bug: https://code.google.com/p/android/issues/detail?id=152173
Change-Id: I0fb8390207422c784800dda25b1f2c03d4574bcd
This is useful when language is not enough for describing the track.
E.g. main audio track(eng) vs audio commentary(eng)
Bug: 19302103
Change-Id: Iebffb943d2c0b5f7a7a12820ff3475b66e0130e8
The ACTION_HDMI_AUDIO_PLUG constant's description
had spelled "HDMI" as "HMDI" and was missing a
period. Fixes issue 93726.
Change-Id: Idfd5352dba022afcd81bc9e50864fc6e95c661db
Signed-off-by: Eemi Haukkala <eemi.haukkala@gmail.com>
- Add an explicit mapping between public ImageFormat/
PixelFormat enums and internal HAL format/dataspace.
- Add DEPTH16 and DEPTH_POINT_CLOUD formats
- Wire up mapping layer to ImageReader to support depth
formats
Change-Id: I8197eccef900cc91baddcfcb934ccd4d8c972eff
AudioRecord constructor with AudioAttributes and session ID as well
as HOTWORD and RADIO_TUNER audio sources are now system APIs.
Renamed MediaRecorder.AudioSource.FM_TUNER to
MediaRecorder.AudioSource.RADIO_TUNER.
Change-Id: I231c20c21e3e8cffe1837482976ebe284c9af541
Add CloseGuard support to MidiDevice and MidiDeviceServer
Make MidiDevice.close() thread safe
Make non-subclassable API classes final
Other misc cleanup
Change-Id: I7a5d31b06b8c2403cfbc5597c5c1395f0ac90194
Relying on errors from closing the file descriptor is not reliable
and was resulting in file descriptor leaks in device servers.
Change-Id: Ib5cc22dba493eae6608a12cc6d4178d8390da77b
To implement a virtual MIDI device, include a subclass of MidiDeviceService in
your application. This service is identified by an intent filter and meta-data
in the application's manifest to allow the MIDI manager to register the virtual device
without actually running the application. Instead, the application's MidiDeviceService
subclass is started on demand when MIDI manager clients want to open the device.
Here is an example of how the MidiDeviceService might be described in the application manifest:
<service android:name="VirtualDeviceService">
<intent-filter>
<action android:name="android.media.midi.MidiDeviceService" />
</intent-filter>
<meta-data android:name="android.media.midi.MidiDeviceService"
android:resource="@xml/device_info" />
</service>
and the device_info.xml meta-data:
<devices>
<device manufacturer="Sample Manufacturer" model="Sample Model" private="false">
<input-port name="my input port" />
<output-port name="my output port" />
</device>
</devices>
(note that the <input-port> and <output-port> names are not currently used, but support for these
will be added in a subsequent change)
Client's of the virtual device will bind directly to the hosting application's MidiDeviceService subclass.
To support this, MidiManager.openDevice() now returns the MidiDevice asynchronously via a callback.
This change also adds a utility class called MidiDispatcher, which is a MidiReceiver
that dispatches all data it receives to a list of other MidiReceivers.
We now use this internally in MidiInputPort and MidiDeviceServer, but developers
may use it for other purposes as well.
Change-Id: Ic3009f06d56f3d5edbd87de3f0c330b51a1c217d
- Change the package name from android.midi to android.media.midi
- Add option for specifying a Handler for DeviceCallback notifications
Change-Id: Ia9e9817a651c06299f4e02ee1da3c9666ff64cb9
- New @hidden @SystemApi FLAG_BYPASS_INTERRUPTION_POLICY, request
to ignore any current audio restrictions, such as zen mode
content-based notification filtering.
- Wire up FLAG_BYPASS_INTERRUPTION_POLICY to the existing
audio restriction checks in the framework.
- New @hidden @SystemApi FLAG_BYPASS_MUTE, request to play
audibly, even if the underlying stream is muted.
- Wiring up to audio framework TBD.
- Use both of these new flags on the inline volume slider
controls used in Settings, ensuring playback is heard
regardless of the current device filter state.
Bug: 19407114
Change-Id: I3d44394931592ccbc1b61ddd9a4d1cc984da17cc
- Relax restriction on audio service calls that assume the volume
ui is systemui, allow calls from a blessed component app.
- Blessed component app service saved in secure settings.
- SystemUI mediates requests to replace the volume dialog, prompts
the user on activation.
- Show a low pri ongoing notification when the volume dialog is
being replaced, to allow user restoration at any time.
- Replace the controller management code in VolumeUI to use a
ServiceMonitor, backed by the new blessed app component setting.
- Add proper zen-related noman client wrappers, make avail to the
registered volume controller.
- Everything is still @hidden, no api impact.
Bug: 19260237
Change-Id: Ie1383f57659090318a7eda737fdad5b8f88737d4
This allows the user to turn the volume down before a stream is unmuted by
delaying the unmute call while volume down requests are still being made.
bug:19297183
Change-Id: I65a8e489eb4cbfeace4f539103ee0025584102da