This is made necessary by a bug when the utterance is smaller
than the audio buffer size. In that case, we call stop() to
flush the audio to the mixer, but that causes the playstate to
be set to stopped though some audio is still being mixed. This
breaks our waiting loop.
We now wait a fixed amount of time for such short utterances
and do not observe the playback head position.
bug:5220048
Change-Id: Ic81dec751c1faca0b14164caeda6305c8f9815fe
When the A2DP headset is connected, there is a possible
race condition when the audio tracks are moved from
the mixer thread attached to the speaker output to the thread
attached to A2DP output.
As the request to clear the stream type to output mapping cache in
the client process is asynchronous, it is possible that the flag
indicating to the client audio track to re-create the IAudioTrack
on the new thread is processed before the cache is invalidated.
In this case, the track will be attached to the old thread and
music will continue playing over the device speaker instead of being
redirected to A2DP headset.
Change-Id: Ib2ce1eb5320eaff83287b93779061bf4e7a330df
At the moment, EditTextShortcutSpan allows only the deletion of the text. In the future, we may decide to add extra functionality,
like "retry" where all the text is removed and a specific IME is triggered.
Fix the underline. The underline is not defined in thickness, and not as a multiplier of the default underline thickness.
Change the behaviour of SuggestionRangeSpan to match the specification.
Change-Id: I80437d9887c7a2ff8f62c38afbb0cb7add7ee9c8
SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports
IO with both array based and direct ByteBuffers is supported.
Accessing serial ports requires android.permission.SERIAL_PORT permission
Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).
In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.
Change-Id: I6afa78ceacf08486aaebced4156ecd2e33051879
Signed-off-by: Mike Lockwood <lockwood@android.com>
Also do not blink for notifications received when the screen is on.
Bug: 5233071
Change-Id: I15675ca317007d4b900ef74e60d11a5bca3d7333
Signed-off-by: Mike Lockwood <lockwood@android.com>
- Remove negative padding required by old font which is no longer
required by the new clock font.
- Change brightness of AM/PM indicator to white.
Change-Id: I10540a2976a47014e535f958e07d1c61fa0d8d41
Video Editor engine wrongly set the profile in place of level.
So level was always 1 (default value for Profile)
Change-Id: I202f866d32e81869d9692174d59d9d777a772282
This previous frame size computation code had two incorrect
assumptions:
1/ the ADTS frame length value already contains the header size
2/ the ADTS header is not of fixed size: it is 2 bytes bigger
if it contains the CRC value.
For 1/, the code worked because when the header size was added
to the frame size, the + operator is of stronger precedence
than the ? operator, so the size added was always 0 (instead
of ADTS_HEADER_LENGTH.
For 2/, the code worked as long as there was no CRC in the ADTS
data.
The fix consists in:
- documenting what the frame length computation code returns
- fixing the frame length computation
- when computing the frame length, also returning the header
size so the correct data can be sent to the decoder.
Change-Id: I92df72a9e531f594f762e63d62f9dee7b0109904