852 Commits

Author SHA1 Message Date
Xin Li
628590d7ec Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-08-31 21:21:38 -07:00
Ivan Lozano
8b7f939789 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

 #inclusivefixit

Also re-order incorrectly ordered imports.

Bug: 161896447
Test: mma
Change-Id: Icc876290ca169ebfddba1975de9f28a39ec863ab
2020-07-28 13:17:57 -04:00
Kyunglyul Hyun
e08ef1e658 Merge "MediaRouter: Defer releasing routing controller when transfer" into rvc-dev am: 82ff3f1472
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11593494

Change-Id: I8d6fcaab699f7fa8342206c2a19e247506ec52e3
2020-06-24 06:45:21 +00:00
Kyunglyul Hyun
6a2f1d67b7 MediaRouter: Defer releasing routing controller when transfer
In order to allow media router to communicate with the old routing
controller for synchronizing media status during transfer,
this CL postpone releasing the old routing controller.

Basically media router should release the old routing controller by
itself when it's done with the old routing controller.
If it didn't, the old routing controller is automatically released
after timeout (30s for now)

This CL also clarifies "old routing controller" in onTransfer callback.
Now it is consistent regardless of who requested transfer.

A request from MediaRouter2Manager is handled by MediaRouter2 to
simplify session creation logic.
Limitation of this approach is that a routing session unknown to
MediaRouter2 can't be transferred to a different provider but it is out
of R scope so it's okay.

Bug: 158713035
Test: CTS test && atest mediaroutertest && manually transfer using
support v7 demos

Change-Id: I168af69e2a25240227aea0fd9e892eaa91e78ee3
2020-06-23 11:28:35 +09:00
Kyunglyul Hyun
460ba3e6e5 Merge "System routes are not automatically exposed" into rvc-dev am: c8f4a8a5e9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11926262

Change-Id: I0fe1b249c9d186a98f6f68caba88e7642da705b3
2020-06-22 05:06:48 +00:00
Kyunglyul Hyun
c036350122 System routes are not automatically exposed
From this CL, even for system routes (phone speaker, bt routes),
features are required to get notified of events on routes or to
get them as "available" routes.

By adding this, apps can disable cast -> phone feature.

Bug: 159090706
Test: cts test && atest mediaroutertest && manually
using support v7 demos such that
  with LIVE_AUDIO : nothing changed
  w/o LIVE_AUDIO : cast -> phone feature is disabled
  unregistering callback : cast -> cast (media transfer) and
                           phone -> phone is only enabled <- this is
                           the expected behavior for apps that updates
                           AndroidX library

Change-Id: I4bd27eb1d4776b9cedb59b10e1bac5868d56d305
2020-06-19 22:54:59 +09:00
Hyundo Moon
49b01ec14c Merge "Prevent abuse of MediaRoute2ProviderService#notifyRequestFailed()" into rvc-dev am: f3ff3de37e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11788495

Change-Id: I8fd3f269be7d0224ba83b0fd83a5ea13b27a624b
2020-06-11 01:15:14 +00:00
Hyundo Moon
f3ff3de37e Merge "Prevent abuse of MediaRoute2ProviderService#notifyRequestFailed()" into rvc-dev 2020-06-11 01:10:25 +00:00
Hyundo Moon
9b5e3923d1 Prevent abuse of MediaRoute2ProviderService#notifyRequestFailed()
The method can be called with a random requestId, or called multiple
times with the valid requestId. It can result unnecessary calls
to MediaRouter2Manager#onRequestFailed().

This CL resolves this problem.

Bug: 157873556
Test: Passes CTS and mediaroutertest
Change-Id: Ia7dd4ddafd532b9f23bf19491a0820d5a74f6a70
2020-06-09 19:12:30 +09:00
TreeHugger Robot
b18e625b5b Merge "Add MediaRouterManager.Callback#onSessionReleased" into rvc-dev am: 2950ebf07d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11733425

Change-Id: I720ea5577814b17bfcfc705585af154566367a59
2020-06-09 06:21:39 +00:00
Kyunglyul Hyun
fe7b5b125b Add MediaRouterManager.Callback#onSessionReleased
Add the callback to let MediaRouter2Manager get notified
of released sessions.
A test is also added to check if the manager is aware of
a released session when the session is released from the
media router.

Bug: 157872573
Test: atest mediaroutertest
Change-Id: Ifb96b23ed61cc15f5015c453727a487c3b09a92b
2020-06-09 13:13:30 +09:00
TreeHugger Robot
710ada644e Merge "Ignore transfer to an unknown route" into rvc-dev am: e3767bdaae
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11700107

Change-Id: I5a6985ebb8a40fafe32d2a45cfd3baffe9868a83
2020-06-08 11:49:04 +00:00
TreeHugger Robot
240637a450 Merge "Notify a failure on transfer timeout" into rvc-dev am: 6b1cfced63
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11716082

Change-Id: I4c6ba02ea002b1790be2de1c652416548010c7c1
2020-06-08 11:48:27 +00:00
TreeHugger Robot
e3767bdaae Merge "Ignore transfer to an unknown route" into rvc-dev 2020-06-08 11:34:35 +00:00
Kyunglyul Hyun
8df5fb6e7d Notify a failure on transfer timeout
When a transfer is ignored by the provider.
It is handled as a failure by MediaRouter2Manager.

A test is added for timeout, which takes 30 seconds.

Bug: 157875723
Test: atest mediaroutertest
Change-Id: I3f0ec77551309c96f8f589057800082f6121d4e2
2020-06-05 18:22:42 +09:00
Kyunglyul Hyun
a3be2de6ec Ignore transfer to an unknown route
This CL ignores attempts to transfer to unknown route in
MediaRouter2Manager.
This CL also fixes wrong acquisition of locks when getXXXRoutes.

Bug: 157875504
Test: atest mediaroutertest
Change-Id: Ic3415844551c672b42d19d9744d7538a9d7df7c3
2020-06-03 18:04:18 +09:00
Hyundo Moon
a93451b509 Merge "Add bug numbers for TODOs in MediaRouter2 related classes" into rvc-dev am: 5c8f3b20d5
Original change: undetermined

Change-Id: I441f51b100a3b7aa5d17e9199ae0e9c122695d64
2020-06-02 08:27:35 +00:00
Hyundo Moon
0f78fc6ab8 Add bug numbers for TODOs in MediaRouter2 related classes
This CL adds bug nubmers for TODOs which are needed to resolve in
Android R timeframe.

Bug: 157875570
Test: Builds successfully
Change-Id: I8d5adcabb4ec42feabf38ac3cedcd63e9a5a9cf2
2020-06-01 17:40:08 +09:00
Kyunglyul Hyun
27f7ae67b3 Merge "Make MediaRouter2Manager connect to the system ASAP" into rvc-dev am: 15cd47ed26
Change-Id: I34d1758480fb4c00048b3e50c9c257f32661ffe3
2020-05-12 06:36:45 +00:00
Kyunglyul Hyun
15cd47ed26 Merge "Make MediaRouter2Manager connect to the system ASAP" into rvc-dev 2020-05-12 06:22:06 +00:00
Kyunglyul Hyun
ccb9587ae1 Make MediaRouter2Manager connect to the system ASAP
With this CL, some methods such as getAllRoutes, getActiveSessions
can be used without registering a callback.

Bug: 155042836
Test: atest mediaroutertest
Change-Id: Iba38d73a95c1d184bc89ff91d128b00109029d0a
2020-05-12 13:21:30 +09:00
Charles Chen
8a1786f075 Merge "Add WindowMetricsHelper" into rvc-dev am: 5681f3e796
Change-Id: Ic4d54316e06b545d7a0467f412c89bd776ea7e89
2020-05-11 10:20:16 +00:00
Charles Chen
5681f3e796 Merge "Add WindowMetricsHelper" into rvc-dev 2020-05-11 10:17:37 +00:00
Kyunglyul Hyun
65600663fa Merge "Filter selectable/deselectable routes" into rvc-dev am: 2eec783e52
Change-Id: I896b45883d8e470cf5e0f510b94b0786c056e013
2020-05-08 10:39:12 +00:00
Kyunglyul Hyun
45512bbd54 Filter selectable/deselectable routes
Only selected routes can be deselectable and not selected routes
can be selectable from this CL.

Bug: 154918270
Test: Manually and atest mediaroutertest
Change-Id: I2e66d814190b003c935b21a744d24fa2b5d2c7ac
2020-05-08 17:36:33 +09:00
Charles Chen
49f329ca66 Add WindowMetricsHelper
This metrics now is used for calculating the value reported by
Display#getSize. It could be extended to have more function later.

Also replace getCurrentMetrics usages to make them report
Display#getSize value.

Bug: 148904274
Test: atest WindowMetricsHelperTest

Change-Id: I182b6e63f7c28752eee22839cb9e69f073046c3f
2020-05-04 11:41:13 +08:00
James Wei
bf000f93e4 Merge changes I7da699ca,I5a09efef into rvc-dev am: f21e3a96d3
Change-Id: I6ab184863727b8889eea902604d353267cd58f26
2020-04-22 06:37:20 +00:00
James Wei
82062b99eb MTP: Fix MTP SD card issue
Modify MTP access path for SD card in accordance with Storage Permission change

Bug: 150188237

Test: atest MtpTests
Test: Manual test: MTP file browsing / copy on SD card
Change-Id: I7da699ca04844514827af18b0318c66d2a3fbc6e
2020-04-22 11:34:42 +08:00
James Wei
19ded228a3 MTP: Add MtpDatabase unit test
Add Thumbnail feature test cases

Bug: 117863715
Test: atest MtpTests
Change-Id: I5a09efef10df20e382a4c623481e048e7b35ff14
2020-04-22 03:20:02 +00:00
Kyunglyul Hyun
310eb3355f Merge "Use session hints when create a session from MR2Manager" into rvc-dev am: e66ac51ea3
Change-Id: I6b5b7387030050ed3eeb3ec1a039e19ceccf3d44
2020-04-21 11:25:32 +00:00
Kyunglyul Hyun
e66ac51ea3 Merge "Use session hints when create a session from MR2Manager" into rvc-dev 2020-04-21 11:17:38 +00:00
Kyunglyul Hyun
ba4888173b Merge "Clear routes when media router manager has no callback" into rvc-dev am: 1bb914e8ec
Change-Id: I68f63ca17a778b2db785f24d08e15e324c6f64f3
2020-04-21 08:01:35 +00:00
Kyunglyul Hyun
350d7b427e Clear routes when media router manager has no callback
This CL clears routes when the last callback of MediaRouter2Manager
is unregistered. By doing this, we can ensure
MediaRouter2Manager#getAvailableRoutes() returns correct routes
during at least a single callback is registered.

A test for the behavior is added as well.

This CL also fixed a bug that unregistering a callback from MediaRouter2
disconnects it when multiple callback is used.

Bug: 153515567
Test: atest mediaroutertest & cts test & manually
 using MediaRouter2Demo and Sample OutputSwitcher to see
 if forgotten BT device is correctly removed.
 (w/o this CL forgotten BT device remains)
Change-Id: I31a5001115f1f163c8971bbd906516551b860252
2020-04-21 14:58:31 +09:00
Kyunglyul Hyun
f0eb51bc40 Use session hints when create a session from MR2Manager
When MR2Manager requests to create a routing session, it should pass
session hints to the target provider.
This CL adds a logic that MR2Manager asks media router instance to
get session hints to be passed to the provider.

Bug: 152851868
Test: atest mediaroutertest
Change-Id: Ib421f61f663090c6ed95c8b1a2f7deeb80e5be16
2020-04-21 14:17:08 +09:00
Eric Laurent
998602811e Merge "AudioManager: Add functional tests for productstrategy/volumegroup" am: 688857ea3b
Change-Id: I326ac538f6cdf27f56138a9f8abf5f49aa40a097
2020-04-15 00:33:38 +00:00
Eric Laurent
48b9be33e1 Merge "AudioManager: Add functional tests for productstrategy/volumegroup" into rvc-dev am: 5fb2147af2
Change-Id: I70963769ee5d6184a7cc34bcb654d76dbd5c15c8
2020-04-14 22:56:50 +00:00
Francois Gaffie
ea96cf2e49 AudioManager: Add functional tests for productstrategy/volumegroup
Test: adb shell am instrument -w -e class com.android.audiopolicytest.AudioManagerTest com.android.audiopolicytest
adb shell am instrument -w -e class com.android.audiopolicytest.AudioProductStrategyTest com.android.audiopolicytest
adb shell am instrument -w -e class com.android.audiopolicytest.AudioVolumeGroupTest com.android.audiopolicytest
adb shell am instrument -w -e class com.android.audiopolicytest.AudioVolumeGroupChangeHandlerTest com.android.audiopolicytest

Bug: 136121584

Signed-off-by: Francois Gaffie <francois.gaffie@renault.com>
Change-Id: Ia7e92ff37ff9c5e51bc2b5fe54b15c6338868b23
Merged-In: Ia7e92ff37ff9c5e51bc2b5fe54b15c6338868b23
2020-04-14 19:51:27 +00:00
Francois Gaffie
8650e2d23d AudioManager: Add functional tests for productstrategy/volumegroup
Test: adb shell am instrument -w -e class com.android.audiopolicytest.AudioManagerTest com.android.audiopolicytest
adb shell am instrument -w -e class com.android.audiopolicytest.AudioProductStrategyTest com.android.audiopolicytest
adb shell am instrument -w -e class com.android.audiopolicytest.AudioVolumeGroupTest com.android.audiopolicytest
adb shell am instrument -w -e class com.android.audiopolicytest.AudioVolumeGroupChangeHandlerTest com.android.audiopolicytest

Bug: 136121584

Signed-off-by: Francois Gaffie <francois.gaffie@renault.com>
Change-Id: Ia7e92ff37ff9c5e51bc2b5fe54b15c6338868b23
2020-04-14 12:48:24 -07:00
Kyunglyul Hyun
16ae9a39b3 Merge "Call MediaRouter2Manager#onTransferred" into rvc-dev am: bd67f0ad34
Change-Id: I5fd4f771a04b23c8eb96ee9307b004be81e8da96
2020-04-02 04:50:37 +00:00
Kyunglyul Hyun
f064dcae8e Call MediaRouter2Manager#onTransferred
Call MediaRouter2Manager#onTransferred to notify
whether transfer is succeeded or failed.

Bug: 151396145
Test: atest mediaroutertest
Change-Id: I4331c80d03c61b5a722a8be404c979d3fcfa23f1
2020-04-01 22:38:06 +09:00
Andrii Kulian
5c13904c68 Merge "Report bounds instead of size in WindowMetrics" into rvc-dev am: 363edf449a
Change-Id: I80833bd0256a350662a90c2c4f73b9d1fee9273e
2020-03-27 01:16:24 +00:00
Andrii Kulian
0be1d67b68 Report bounds instead of size in WindowMetrics
Use case: Jetpack WM will use them to get the location of windows on
screen and compute the display feature positions in window coordinate
space.

Bug: 150908045
Test: atest FrameworksCoreTests:WindowMetricsTest
Test: atest CtsWindowManagerDeviceTestCases:WindowMetricsTests
Change-Id: Ia08950cd5df35971408e8b17bb27d97d29d0ab9b
Exempt-From-Owner-Approval: API change
2020-03-24 17:05:50 +08:00
TreeHugger Robot
e147a04661 Merge "MediaRouter: Rename methods in TransferCallback" into rvc-dev am: 9332d217af
Change-Id: I9afd559a2ca20fc43b9d3c19b1d40c38fbfa1317
2020-03-21 03:39:12 +00:00
Kyunglyul Hyun
f4552af502 MediaRouter: Rename methods in TransferCallback
Bug: 151455138
Test: cts test and atest mediaroutertest
Change-Id: I2bfc5c6c4ac6730d1a7162cd9516092ec64d16e7
2020-03-20 23:25:11 +09:00
Automerger Merge Worker
f23b13da86 Rename SampleMediaRoute2ProviderService to StubMediaRoute2ProviderService am: 1c888e2dbb
Change-Id: I9d0f69b50defac9bc8cc488cc6d0880b7cc8929f
2020-03-15 14:35:22 +00:00
Hyundo Moon
1c888e2dbb Rename SampleMediaRoute2ProviderService to StubMediaRoute2ProviderService
Bug: 151538499
Test: atest mediaroutertest
Change-Id: I1467acf7482ac5421b800281e367353f08358eab
2020-03-15 19:52:05 +09:00
Automerger Merge Worker
9eac89256a Merge "EffectsTest: Add multi-threaded client for Visualizer" am: 6fed7a9d16 am: 2d281436d7
Change-Id: Id31199988e430aae61154b0721afd25421d68cde
2020-03-14 01:07:08 +00:00
Automerger Merge Worker
0a57377073 Merge "EffectsTest: Add multi-threaded client for Visualizer" am: 6fed7a9d16 am: 2d281436d7
Change-Id: I404cf810732b4f2443b6da88b718cd5ee34bf533
2020-03-14 01:06:53 +00:00
Mikhail Naganov
60d2cb7e30 EffectsTest: Add multi-threaded client for Visualizer
Adding a multi-thread client helps to unveil problems
with concurrent use of VisualizerEffect.

Bug: 149375271
Test: enable "Multithreaded Use" in Visualizer Test
Change-Id: Id485790dc7e91fde5dc5844a287645e96f8ec253
2020-03-13 23:02:58 +00:00
Philip P. Moltmann
12ac3f406f Rename featureId -> attributionTag
In the core functionality this changes everything including aidl's and
field names:
- Context
- ContentProvider
- AppOps*
- Package parsing

For the rest, this is a shallow change to only change to the changed
APIs. This keeps the change small-ish

Exempt-From-Owner-Approval: Rename
Fixes: 148792795
Test: TH
Change-Id: I2a2245fe76e09e62cb13d5785d2efb4a304ba54a
Merged-In: I2a2245fe76e09e62cb13d5785d2efb4a304ba54a
2020-03-12 19:26:10 +00:00