MediaPlayerStressTest some media files are missing on the results as they
were reported neither completed nor erroneous.
This case will fall into a new category named unknown playback state so that
we could track them in media dashboard.
Bug: 21755950
Change-Id: Iefcc3e375c63d952a7d9edb418208209d87b9e08
The gralloc usage flags are an enum, which is backed by an
implementation defined type. Both gcc and clang are making this a long
long. All the values are hard coded to fit within 8 hex characters
though, so just make the cast.
Change-Id: I4a9778a24c2cbf7fb663371d208e30c4921e170d
Fix performance regression in SoundPool by not checking SoundPool
can play audio everytime it's about to play.
Instead check for permission in constructor and register a listener
for changes on OP_PLAY_AUDIO.
Bug 20018833
Change-Id: I4e7a633d23b98653a149681d18a387cd560efe4d
For certain RtoL languages, digit used as a part of input id
(like HW0) is also localized, hence language change results in
the duplicated inputs for an identical hardware. This CL
changes the way the id is built to language-neutral fashion,
and keeps the digit used in the id in Arabic.
Bug: 21523750
Change-Id: I8f95e0209eeee16ceb543e574ef9ed572e4d031f
Modify AudioEffect and Visualizer JNI to use strong references to
native AudioEffect object.
Bug: 21629892.
Change-Id: I4c2dea0b2e16d807d6dc5d6b09e02e4652d48873
Previously when a MidiManager client opened a virtual or Bluetooth device,
the client bound directly to the virtual device's MidiDeviceService
or BluetoothMidiDevice's IMidiDeviceServer for the given BluetoothDevice.
Only USB devices were opened in MidiService.
Now opening any type of MIDI device is done via IMidiManager.openDevice() or
IMidiManager.openBluetoothDevice(). MidiService tracks all connnections between
clients and devices.
Services that implement virtual devices must now require android.permission.BIND_MIDI_DEVICE_SERVICE
so only MidiService can bind to these services.
Bug: 21044677
Change-Id: I7172f7b1e0cbfe4a2a87dff376c32dc9b41aa563
Keep a reference on active Ringtones to avoid garbage collection
before playback is complete.
Bug: 11366759.
Change-Id: Icb04da427c20e0b4657e9e8b13b3ecab98e5a333
Also use boolean to control synth start and stop.
Add mention of feature declaration in Manifest.
Add virtual MIDI devices to bullet list.
Change-Id: I7b36e3ce69caf9d1d15d23f1a0836d525022ef9e
Signed-off-by: Phil Burk <philburk@google.com>
If a developer extends an existing ParcelableSpan and overwrites
writeToParcel, TextUtils will crash when attempting to unparcel
since the span type ID is not accurate. This CL makes a separate
framework-private method for writeToParcel to ensure that even if
a developer extends a ParcelableSpan class, they won't modify the
parceling or unparceling code that's tied to the span type ID.
Bug: 21274544
Change-Id: If4c3506a55999df7a3b6d87cb8d550235d7a02c6
This CL checks for the return value for Rect.intersect(Rect) for whether
there is actually an intersection before taking the calling rect as the
intersection. In the case of no intersection (Rect.intersect(Rect) returns
false), the calling rect would not have been changed, so here in this CL
it will be manually set empty.
Bug: 7368679
Change-Id: I7494c1a1649eca09e34412f0a59b795e8b3a82aa
This change also reverted commit 2c838fbd87ad5685c0008b419ea02421159b9b70,
"MediaPlayer: add mPreparing to weed out unwanted prepared messages".
Bug: 21266735
Change-Id: I392342519420bee2fde1fe1915c51d24101ca27d