Commit Graph

3723 Commits

Author SHA1 Message Date
Eric Laurent
2615afb1b0 audio port: support multiple clients
Add support for more than one audio port callback client per process.

Change-Id: I48051f27fa0b58ce4634b9db46ec8f2aa900398c
2015-04-01 17:31:49 -07:00
Jeff Sharkey
4887789e44 Progress towards dynamic storage support.
Storage devices are no longer hard-coded, and instead bubble up from
whatever Disk and VolumeBase that vold uncovered, turning into
sibling Java objects in MountService.  We now treat vold events as
the source-of-truth for state, and synchronize our state by asking
vold to "reset" whenever we reconnect.

We've now moved to a model where all storage devices are mounted in
the root mount namespace (user boundaries protected with GIDs), so
we no longer need app-to-vold path translation.  This also means that
zygote only needs to bind mount the user-specific /mnt/user/n/ path
onto /storage/self/ to make legacy paths like /sdcard work.  This
grealy simplifies a lot of system code.

Many parts of the platform depend on a primary storage device always
being present, so we hack together a stub StorageVolume when vold
doesn't have a volume ready yet.

StorageVolume isn't really a volume anymore; it's the user-specific
view onto a volume, so MountService now filters and builds them
based on the calling user.  StorageVolume is now immutable, making
it easier to reason about.

Environment now builds all of its paths dynamically based on active
volumes.  Adds utility methods to turn int types and flags into
user-readable strings for debugging purposes.

Remove UMS sharing support for now, since no current devices support
it; MTP is the recommended solution going forward because it offers
better multi-user support.

Simplify unmount logic, since vold will now gladly trigger EJECTING
broadcast and kill stubborn processes.

Bug: 19993667
Change-Id: I9842280e61974c91bae15d764e386969aedcd338
2015-03-30 19:46:23 -07:00
Wei Jia
4a4a7f4611 Merge "MediaPlayer: use local variable to check whether mTimeProvider is null." 2015-03-30 19:39:46 +00:00
Wei Jia
af2d2acc1a MediaPlayer: use local variable to check whether mTimeProvider is null.
Bug: 18753807
Change-Id: I05ef22edea5d06b1efb1a01bf540404eb75ac954
2015-03-30 11:16:29 -07:00
Mike Lockwood
d1b16fe2fb Move MIDI utilities for internal use to com.android.internal.midi package
Change-Id: I7393ae1d4bca61667fb6ee809a7aa22c5c48de56
2015-03-30 09:06:06 -07:00
John Spurlock
15427f80bb Merge "AudioService: Observe changes to output devices per-stream." 2015-03-27 21:13:41 +00:00
John Spurlock
0f09c3d0b6 Merge "Fix a few found doc problems." 2015-03-27 21:13:22 +00:00
John Spurlock
8a52c4491d AudioService: Observe changes to output devices per-stream.
- Keep track of calls to AudioSystem.getDevicesForStream.
 - Report device changes for the base streams to the binary event log.
 - Fire internal intent so volume UI can respond to changes.
 - Update devices when new routes are reported.

Bug: 19618959
Change-Id: I7bbd497b178d9829accc19e6c951a711aef8590c
2015-03-26 14:35:11 -04:00
Jean-Michel Trivi
11b264e225 Merge "AudioRecord builder" 2015-03-26 18:07:51 +00:00
Jean-Michel Trivi
7af0d66c22 AudioRecord builder
Add public and system APIs for building an AudioRecord instance.
The validity of the combination of parameters is verified at
  "build" time.

Bug 19699343

Change-Id: If959f0f35208fb81a902364aaeefc1ebef1a4d23
2015-03-25 20:03:49 -07:00
P.Y. Laligand
6fbcc2c01b Added MediaDescription#getMediaUri.
b/19622238

Change-Id: Ic5f14a2bfc8db986249b8d2522a476a9107748bb
2015-03-25 16:11:47 -07:00
P.Y. Laligand
c2045470a3 Added MediaController.TransportControls#playFromUri.
b/19622238

Change-Id: I75d6258ccafb2266d5f8bdf3a279b3a2e9ef2bbf
2015-03-25 14:51:50 -07:00
Youngsang Cho
94615e49e1 Merge "Make TvInputService skip to dispatch media keys to an overlay view" 2015-03-25 04:47:30 +00:00
Youngsang Cho
53aa5744c9 Make TvInputService skip to dispatch media keys to an overlay view
If media keys are dispatched to an overlay view, it is always consumed
because of fallback logic. Therefore, TvInputService skips to dispatch
media keys to an overlay view in order to return the keys back to
an application.

Bug: 18195249
Change-Id: I1cb4c9de5a73bd741ab64b1b85e9c986a1a92a90
2015-03-25 13:44:04 +09:00
John Spurlock
bc4cf00dc5 Fix a few found doc problems.
Change-Id: I98567f4a0fc96f501c00bf361688e2c55232f78d
2015-03-24 21:51:20 -04:00
John Spurlock
b4f01b966b Remove the ability to disable audio service.
Running in a configuration without audio service is not fully tested.
Remove the configuration option for now. Also remove unused delegation
layer in SoundPool.

Bug: 19891112
Change-Id: I47be0e32d54b8ef8fa25cf47b85eacf8a4969500
2015-03-24 17:22:13 -04:00
Dongwon Kang
a7b212d9f1 Merge "TIF: Add COLUMN_INTERNAL_PROVIDER_FLAGX to TvContract.Programs" 2015-03-24 04:07:25 +00:00
Jeff Tinker
3910eb551c Merge "Note in docs that MediaDrm methods throw IllegalStateException" 2015-03-24 00:10:21 +00:00
Jeff Tinker
8873f848aa Merge "Report key request message type for unprefixed EME" 2015-03-24 00:05:34 +00:00
Jeff Tinker
4cdc2de0e4 Report key request message type for unprefixed EME
bug: 19771299
Change-Id: If76fa2988ca45632d0afff601c12f8f5f9908ed1
2015-03-23 16:23:12 -07:00
Dongwon Kang
731843e424 TIF: fix NPE in the case a hardware TV input is not ready to use.
Bug: 19805327
Change-Id: I0c96ab9274ea2404d75b02205ef40f56fb4552f6
2015-03-23 17:13:55 +09:00
Dongwon Kang
e638966972 TIF: Add COLUMN_INTERNAL_PROVIDER_FLAGX to TvContract.Programs
These flags are expected to be used for TV input's internal purpose.

Bug: 19190140
Change-Id: Ie45a582287a83abdbecb129f5c03cc166f617776
2015-03-23 15:33:49 +09:00
Zhijun He
f6a09e5106 ImageReader/Writer: Add ImageWriter and Opaque ImageReader
ImageWriter/Reader API change, including below changes
* Interface for Opaque ImageReader
* ImageWriter Interface and implementation
* Image class minor update to support ImageWriter opaque ImageReader

detach/attach interface are defined but yet to be implemented.

Change-Id: Ic7c0d2df73c80b1a81a7316d8c4556bf7703c309
2015-03-20 18:19:58 -07:00
Eric Laurent
f09d4bd388 Merge "fix return from finally" 2015-03-19 17:20:26 +00:00
Mike Lockwood
ac9e2d756e Merge "MidiDeviceInfo: Add constants for future Bluetooth MIDI support" 2015-03-19 17:10:17 +00:00
Mike Lockwood
3f5acc6d48 MidiDeviceInfo: Add constants for future Bluetooth MIDI support
Change-Id: Id89b691e923b9de8e5dce58527ba38e28e8e1d36
2015-03-19 08:02:50 -07:00
Dongwon Kang
28299099db Merge "TIF: Add COLUMN_INTERNAL_PROVIDER_FLAGX to TvContract" 2015-03-19 00:20:14 +00:00
Dongwon Kang
10c6e230bc Merge "TIF: Add TvInputInfo.isHardwareInput()." 2015-03-19 00:18:44 +00:00
Eric Laurent
b304ba5bc8 fix return from finally
Bug: 19709617.
Change-Id: I2c2e6ebe876e0e7e814554fa2ffc89551b3165b2
2015-03-18 09:52:05 -07:00
Dongwon Kang
4536512f35 TIF: Add COLUMN_INTERNAL_PROVIDER_FLAGX to TvContract
These flags are expected to be used for TV input's internal purpose.

Bug: 19382355, Bug: 19190140
Change-Id: I1a6c224fc9e4d254a224f47407ba4a77b8f54d57
2015-03-18 10:58:01 +09:00
Jae Seo
c6a1e5d16c TIF: Add a missing comment for the return value of onSelectTrack()
Bug: 19630395
Change-Id: I2caa9ace23ee003e9662e363538a363ae9a0ced7
2015-03-17 18:02:51 -07:00
John Spurlock
d799f70187 Merge "Audio: Flag volume adjustments from hardware keys." 2015-03-17 19:19:01 +00:00
Ruben Brunk
db2b5f4472 Merge "camera2: Release surface in ImageReader#close and fix legacy cleanup" 2015-03-17 19:11:33 +00:00
John Spurlock
b94f2d6cad Audio: Flag volume adjustments from hardware keys.
Bug: 19793279
Change-Id: If20d70c13c9e7d1f8a6b31e0069564073d30e2bc
2015-03-17 14:15:02 -04:00
Ruben Brunk
443ab2c7db camera2: Release surface in ImageReader#close and fix legacy cleanup
Bug: 19694090
Change-Id: I344ad707dbd414db023e4770769b5237bd3bbb4e
2015-03-17 17:49:29 +00:00
Jeff Tinker
5f1be4be08 Merge "Deprecate redundant event, should handle via NotProvisionedException" 2015-03-17 17:49:11 +00:00
Dongwon Kang
8c6e4b3980 Merge "TIF: Add getDescription() method to TvTrackInfo." 2015-03-16 23:58:05 +00:00
Mike Lockwood
0caf689ab4 MidiDeviceInfo: Fix NPE for devices with no port names
Change-Id: I703709f84b6b1951b67918c9762bb84a142d855c
2015-03-16 16:03:17 -07:00
Andreas Gampe
6ec9fd8b3b am c3228a9d: am 3d33314e: Merge "Frameworks/base: Use equals for Integer comparison"
* commit 'c3228a9d400bcacd15fbbdf136ee1f9cf56de2d0':
  Frameworks/base: Use equals for Integer comparison
2015-03-16 20:26:32 +00:00
Ronghua Wu
0e22acb635 Merge "media: add MediaFormat.KEY_PRIORITY." 2015-03-16 16:38:25 +00:00
Andreas Gampe
5c5978985a Frameworks/base: Use equals for Integer comparison
Integer == is dangerous, as equal objects may not be identical
objects. In fact, MediaFormat.setInteger was creating a new object
every time.

Change MediaFormat.setInteger and setLong to use valueOf, which
may reuse returned objects.

Change-Id: Iedcc6003adbf05c0c870aa4b3ada7f181a5b870e
2015-03-15 15:45:15 -07:00
Ronghua Wu
c33958833f media: add MediaFormat.KEY_PRIORITY.
Change-Id: I82e2adb3dfac90952a11e2253fe06a2d9be1bc09
2015-03-14 01:21:42 +00:00
Mike Lockwood
3ae6acda81 Merge "Add MidiManager to public API" 2015-03-14 00:49:00 +00:00
Jeff Tinker
5ce85b99b3 Note in docs that MediaDrm methods throw IllegalStateException
Also fixes incorrect documention where ResourceBusyException can't
be thrown

bug: 18285793
Change-Id: I52d782a772aed97d32e70d7505c48540a320ca07
2015-03-13 16:10:45 -07:00
Jeff Tinker
7c8d999f42 Deprecate redundant event, should handle via NotProvisionedException
bug: 12033385
Change-Id: I02103f3fd9f48f57113bb248891fc1c8f0d8a248
2015-03-13 14:45:17 -07:00
John Spurlock
78d08ee44a Merge "VolumePolicy: Debounce adjustments from vibrate->silent." 2015-03-13 18:41:50 +00:00
Mike Lockwood
81b9f7d325 Add MidiManager to public API
Also made some small API changes based on feedback from the lint tool.

Change-Id: Ibcf1e9107d86d3a364f811ce47a13aa0da653366
2015-03-13 11:00:57 -07:00
Mike Lockwood
4011e20921 Merge "MidiDeviceInfo meta-data improvements:" 2015-03-13 17:27:37 +00:00
John Spurlock
07e72432ac VolumePolicy: Debounce adjustments from vibrate->silent.
Disallows volume adjustments (lower) from vibrate to silent
until a small period of time after an adjustment from normal
to vibrate.

This provides for enough time for the user to see the state change
to vibrate and feel the associated haptic feedback before yet
another state change to silent.

Bug: 19260237
Change-Id: I5843a1c144d56146a83db194f352832c8d85159d
2015-03-13 12:42:47 -04:00
John Spurlock
b6e19e3e0f AudioService: Define minimum levels for volume streams.
- Set a floor of 1 for voice call + bluetooth sco, otherwise 0.
 - All api calls validated to ensure a floor of the min level.
 - Volume UI updated to shift the seekbar by the min value.
 - Remove duplicate static max method in AudioService.
 - Ensure streams with a min level > 0 are not considered muteable.

Bug: 19260237
Change-Id: I213180c9c277f51bd3897b7f777e5f88ed1db125
2015-03-13 11:02:01 -04:00