Test: This merge conflict was automatically resolved by meld.
The automatic resolution of the same merge conflict by meld
from cherrypicking this CL into internal-master has passed
Treehugger (and was already submitted).
Exempt-From-Owner-Approval: Resolving merge conflicts with no deltas
Change-Id: I61f15aeb79c1ad26cc7c51be2af59ecb7b672a7b
This is a pure refactoring with no a behavior change other than
that these calls now go through android.system.Os, which immediately
delegates to Libcore.os.
This is a first step towards separating framework (via
android.system.Os) vs. libcore (via Libcore.os) clients of these
low level APIs. Separating these is a prerequisite towards moving
the API parts of android.system into framework, and moving the
rest into a different package in libcore.
Test: Treehugger
Bug: 67901714
Change-Id: Ifd8349ec5416e5693f40dba48fdf2bef651b7d81
Merged-In: Ifd8349ec5416e5693f40dba48fdf2bef651b7d81
When moving between different storages, the storageId
must be changed as well.
Bug: 67028892
Test: Move between storages with virtual sdcard.
Change-Id: Ie82aa8d53686bfffb7c26b46a49524a00f2f0214
MediaMetadataRetriever now reports rotation in clockwise,
no longer need to translate.
bug: 67470228
Test: verified rotation using test app attached in bug
Change-Id: Ifebcf25ea302477818e2e03db1e55525db985e67
This is needed to implement the MTP MOVE_OBJECT operation.
Bug: 66679910
Test: Move objects and folders, verify mediastore is consistent
Change-Id: I2f4f0c43134fb3ff82745166c051712cc1736b7f
PlayerBase:
Update player volume when the audio attributes are updated in case
we need to unmute
PlaybackActivityMonitor:
Unmute alarm stream if needed when an alarm with flag
FLAG_BYPASS_INTERRUPTION_POLICY starts from an app with
privileged permission MODIFY_PHONE_STATE.
Bug: 63617557
Test: check sound with cell broadcast in total silence
Change-Id: Ifacb1d96a2d8d44047d9f9642d1e672fcf756cda
While update audio routes, MediaRouter had an access to the variable
of MediaRouterService.mGlobalBluetoothA2dpOn, which was updated in
the callback of AudioRoutesObserver.dispatchAudioRoutesChanged().
However, since updateAudioRoutes() was also called by the same
callback, mGlobalBluetoothA2dpOn could be used in updateAudioRoutes()
before its value was updated.
Bug: 65629167
Test: passed MediaRouterTest
Test: Manually confirmed that the issue is fixed with this CL
Change-Id: Id0034996a51a6d8d1e8bd9d2c6ca386aabbb8baf
Merged-In: Id0034996a51a6d8d1e8bd9d2c6ca386aabbb8baf
Bug: 64686424
Test: Connect to carkit and see that NowPlayingChanged only gets sent when
the queue changes, run cts test
Change-Id: I58c9dd0bf976485a2efefd042cd667ee433e07e1
(cherry picked from commit 6edb68bea68d5f324384f3e9e411118eb8dfc781)
When system audio routes are changd, updateAudioRoutes is called, and
it selects a system audio route even when a none system route was
seleted.
That makes the selected route be unselected and this CL fixes it.
Bug: 65403568
Test: manual tested that the issue is fixed
Change-Id: I5df9d3e5f68cfd40fdb625937f9a8e16f4308e16
The property name that is listed in xml files is
"bitrate-modes", not bit "bitrate-control".
Test: make cts -j123 && cts-tradefed run cts-dev -m \
CtsMediaTestCases --compatibility:module-arg \
CtsMediaTestCases:include-annotation:\
android.platform.test.annotations.RequiresDevice
Bug: 65769027
Change-Id: Ifef752e05cac3b868cee76ce69f1763c075f10ec
Synchronize changes to mIPlayerShell after release of corresponding
player.
Flush binder commands when a player is released, in AudioService
and in the clients that have an AudioPlaybackCallback implementation.
Do the same in MediaSessionService, which directly implements
the IPlaybackConfigDispatcher interface, without going through
the AudioPlaybackCallback registration and notification
mechanisms.
Test: adb shell /system/bin/write_sine_callback -m2 -pl
Bug: 65450109
Change-Id: I2f0697e0e164283284ce30d2cc736c4f8df270c4
Video threads have soft realtime requirements that
must be met in order to maintain reliable frame delivery
even when the system is under high load. A new priority
has been defined that can be used by video threads to
enable them to be scheduled appropriately relative
to other system threads. This CL updates the media codec
looper to use the new priority.
Tests: GTS media tests, Manual verification with
Play Movies, Netflix, com.google.vr.sdk.samples.videoplayer
Change-Id: Ibfee09bb6a5359ab96ec2184775c486e4bd77871
related-to-bug:63898080
This CL cleans up connectionRecords when binder dead and the connection
is lost.
Bug: 65132577
Test: check the number of ConnectionRecord, kill the media app, check
the number again.
Change-Id: I8b31745bcee220b9e70c3f43d7fc9d8dc3f6b83a
The default phone speaker, bluetooth audio devices, and wired audio
devices are handled as system audio routes. When an app starts to
make sound to a system audio route, the system audio route will be
selected with the following order.
1. The slected route by the app after the latest connection of
an audio device.
2. The lastly connected audio device.
3. The default phone speaker if not connected.
Bug: 64811580
Test: Passed MediaRouterTest, manual
Change-Id: I77badb14596bc661c44237957504164f5476e595