Merge commit 'b3f35041aa50839e5d8ed3a4ad72e6eef2cb4ea6' into eclair-mr2
* commit 'b3f35041aa50839e5d8ed3a4ad72e6eef2cb4ea6':
Fix issue 2265955 Use dateCreated when dateTaken isn't valid when writing images/videos to database.
The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected.
Modified HeadsetObserver to broacast a state conforming to java doc.
Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not.
Removed handling of non standard headset indications from HeadsetObserver.
Removed platform specific devices from output devices defined in AudioSystem.
Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
* changes:
Make createThumbnailFromEXIF prefer choosing a thumbnail from the exif to from the full image, if both can generate of a thumbnail of same size.
Merge commit 'd94ed3794c68b93ac9faa357bb3517f4fae88162' into eclair-mr2
* commit 'd94ed3794c68b93ac9faa357bb3517f4fae88162':
Fix bug 2242585 to unhide the new audio recording sources.
* changes:
Modify the behavior of createThumbnailForEXIF() to: returning SizedThumbnailBitmap, which contains the downsampled bitmap either from the thumbnail in EXIF or the full image.
Merge commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488' into eclair-mr2
* commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488':
Add new audio sources to support the A1026 recording configurations.
Merge commit '898897338dfd62a268a89fb55ee900a9bd5a683f' into eclair-mr2
* commit '898897338dfd62a268a89fb55ee900a9bd5a683f':
Fix bug 2201417. Whenever the System setting that indicates
Merge commit '98de26e06aeab9d3e6abd92080eec9ad54f537b6' into eclair-mr2
* commit '98de26e06aeab9d3e6abd92080eec9ad54f537b6':
Add some logging to detect if AsyncPlayer is lagging. Bug 2201082.
* changes:
Fix bug 2201417. Whenever the System setting that indicates whether the notifcation stream uses the ring volume changes, the table of stream volume aliases in AudioService is updated. But the name of the alias stored in VolumeStreamState.mVolumeIndexSettingName was not updated whenever the NOTIFICATIONS_USE_RING_VOLUME setting was updated. This caused the wrong volume setting to be persisted. This change ensures the setting name is updated whenever the volume alias is, and persists the notification volume change right away (instead of after a delay), so that registered observers are notified right away. The notification seekbar in the sound settings is an example of such an observer.
whether the notifcation stream uses the ring volume changes, the
table of stream volume aliases in AudioService is updated. But the
name of the alias stored in VolumeStreamState.mVolumeIndexSettingName
was not updated whenever the NOTIFICATIONS_USE_RING_VOLUME setting
was updated. This caused the wrong volume setting to be persisted.
This change ensures the setting name is updated whenever the volume
alias is, and persists the notification volume change right away
(instead of after a delay), so that registered observers are notified
right away. The notification seekbar in the sound settings is an
example of such an observer.
This currently assumes 44k stereo (won't crash on other formats, but won't give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.
The problem comes from the fact that the AudioSystem callback indicating that the media server is active again is ignored if it is received before the delayed message indicating media server death. This happens if another application or service running in the system server process makes a request to the AudioSystem in the interval between the death of the media server and the reception of the corresponding delayed message.
The fix consists in resetting mMediaServerOk flags immediately when the death callback is received and not when the delayed message is received.
* changes:
Fix bug 2115258 where the AudioManager javadoc doesn't warn against misuse of some of the methods that should only be used to implement the Settings and Phone apps, and the audio service.