Commit Graph

8250 Commits

Author SHA1 Message Date
Kyunglyul Hyun
efe4374eb4 MediaRouter: save sessions in media router service
Each MediaRoute2Provider instance saves session infos
published by MediaRoute2ProviderService.

For that, MediaRouter2ProviderService notifies provider info and session
infos simultaneously and to minimize the number of binder calls,
schedulePublishState is added into MediaRoute2ProviderService.

The saved sessions can be obtained by calling MRM.getActiveSessions().

Test: atest mediaroutertest
 && manually call MRM.getActiveSessions()

Change-Id: I6938105f8d154ad9542f7e7c6210a451ee4ae90d
2019-12-31 22:12:29 +09:00
Kyunglyul Hyun
f6a55e1ba1 Merge "MediaRouter: make request id globally unique" 2019-12-31 10:00:10 +00:00
Kyunglyul Hyun
c7847244ea MediaRouter: make request id globally unique
A unique request id can be used to identify each request
and the client of the request.

Test: atest mediaroutertest
Change-Id: I3234eaf0c4d398a47d412bc13ce711165d87e2db
2019-12-31 14:26:36 +09:00
Jean-Michel Trivi
1ec661823d AudioManager: annotate legacy callback registrations
Annotate legacy callback registration methods with @Nullable for
the Handler parameter.

Bug: 139645596
Test: atest AudioManagerTest
Change-Id: I212e506fffbd1ed436556c07f52d7cc92b9d9b56
2019-12-30 09:53:04 -08:00
Hyundo Moon
9be3548cc0 MediaRouter2: Unify terms (select, add, group) to 'select'
This CL unifies the different terms ([select, add, group] route)
which actually have the same meaning - into 'select'.

Same applies for ([deselect, remove]) -> deselect.

Bug: 146400872
Test: atest mediaroutertest
Change-Id: Ic985359dd53f8b30bba654e6a451fcdf3be6cf24
2019-12-30 19:59:00 +09:00
Hyundo Moon
a64ca9ec9e MediaRouter2: Add (un)registerSessionCallback
This CL pulls out the process of registering SessionCallback
from the method MediaRouter2#requestCreateSession.

Now the registered callback can be reused until unregistered.

Also, this renames existing (un)registerCallback methods to
(un)register'Route'Callback.

Bug: 146400872
Test: atest mediaroutertest
Change-Id: I68f71b0a857780ab9e2a0ca2a550af5ab4962f70
2019-12-30 19:58:42 +09:00
Kyunglyul Hyun
7b36ffb06c Merge "MediaRouter: add session related apis into provider" 2019-12-30 09:55:59 +00:00
Kyunglyul Hyun
cb8894dbc7 MediaRouter: add session related apis into provider
This CL adds session-related apis into MediaRouteProvider
so MediaRouterService can call them.

This CL also removes methods related to "route selection".

Test: atest mediaroutertest
Change-Id: I68c2cde91d305315e95e5d9ab1d6d23459c28c9d
2019-12-30 16:58:19 +09:00
TreeHugger Robot
cabf95fbad Merge "Complete LNB APIs" 2019-12-27 21:58:44 +00:00
TreeHugger Robot
5a9dcc85a0 Merge "Complete Filter & DVR APIs" 2019-12-27 21:58:23 +00:00
TreeHugger Robot
30faa348c6 Merge "Make RouteSessionController as inner class of MediaRouter2" 2019-12-27 11:12:30 +00:00
Hyundo Moon
8c4cf9e001 Make RouteSessionController as inner class of MediaRouter2
Bug: 146400872
Test: atest mediaroutertest
Change-Id: Ide7918b04dfec2fe0d1d5c07689dfd4f781fcf7a
2019-12-27 17:29:08 +09:00
Jaewan Kim
3603385896 Clean up unused codes around the RemoteUserInfo
RemoteUserInfo doesn't require IBinder for finer grained identification
among MediaControllers in the same process/package. So extra information
don't need to be shared across the processes.

Bug: 146815343
Test: Build
Change-Id: I6935c9c43b5fdfa0c608c753779e17b6cf0d341e
2019-12-27 17:08:37 +09:00
shubang
793e570c3a Complete Filter & DVR APIs
Test: make;
Change-Id: I32ada63c20760d010f3ddaefe7eb189deff19150
2019-12-26 17:47:03 -08:00
shubang
847fc0af04 Complete LNB APIs
Test: make;
Change-Id: Id9e20ab1a0048a2210b283f02c470c02d7cafd80
2019-12-26 16:54:10 -08:00
TreeHugger Robot
9d3954ff77 Merge "getFrontendStatus and Frontend status class" 2019-12-26 23:11:20 +00:00
TreeHugger Robot
a82eca78b0 Merge "Complete descrambler APIs" 2019-12-26 22:43:36 +00:00
TreeHugger Robot
3f7103e312 Merge "Filter Event classes" 2019-12-26 22:05:42 +00:00
TreeHugger Robot
ef0d5e9c13 Merge "Add result constants" 2019-12-26 21:55:28 +00:00
shubang
1512ec10e9 getFrontendStatus and Frontend status class
Test: make
Change-Id: I77e8446d7d3a6efce66a992e93eccdc963ae2bda
2019-12-26 13:04:28 -08:00
Kyunglyul Hyun
e6b623842f MediaRouter: move controlHints into RouteSessionInfo
Since RouteSessionInfo and controlHints are passed
simultaenously, move controlHints into the session info
for simplicity.

Test: atest mediaroutertest

Change-Id: Id99e4d71744ab438e8fcd99101895c28e2585662
2019-12-26 20:22:31 +09:00
Hyundo Moon
63a0540597 MediaRouter2: Add requestCreateSession
Bug: 146471105
Test: atest mediaroutertest
Change-Id: I80d5b4eeb20544898d61401c72cafc16ebfdd51f
2019-12-26 16:44:28 +09:00
TreeHugger Robot
338bb0d715 Merge "MediaRouter: Add missing info to MediaRoute2Info" 2019-12-24 05:33:11 +00:00
Kyunglyul Hyun
3aeabe0e29 MediaRouter: Add missing info to MediaRoute2Info
This CL adds
 - connectionState : whether the route is connected/disconnected
 - mIconUri : uri of the icon of the route
 - deviceType : type of the route (BT, speaker, tv)
into MediaRoute2Info and corresponding tests

Bug: 146605788
Test: atest mediaroutertest

Change-Id: I8b3f33967478fd66d5a380bf5d069579f006b890
2019-12-24 13:01:25 +09:00
TreeHugger Robot
6848be180f Merge "Add Scan to tuner" 2019-12-23 20:27:34 +00:00
shubang
d5b845f537 Add Scan to tuner
Test: make;
Change-Id: Ia7d971a13be89865eb3a6426024cfd88ecc394c7
2019-12-23 10:48:36 -08:00
Automerger Merge Worker
9908f0473e Merge "Refactor AudioPlaybackConfiguration to reduce usages of hidden APIs" am: dcb8aa7cba am: 21984f9031 am: 98b09fda03
Change-Id: I5c67a499fb6d5028cd09bf95c6bcca91018b17ec
2019-12-23 18:48:10 +00:00
Automerger Merge Worker
98b09fda03 Merge "Refactor AudioPlaybackConfiguration to reduce usages of hidden APIs" am: dcb8aa7cba am: 21984f9031
Change-Id: I1e0e5b57ff169354c33ac4c22bc5db83d87f19a3
2019-12-23 18:30:25 +00:00
Treehugger Robot
dcb8aa7cba Merge "Refactor AudioPlaybackConfiguration to reduce usages of hidden APIs" 2019-12-23 18:03:35 +00:00
Automerger Merge Worker
d56dcd2f71 Merge "Add OPUS encoding to the framework" am: 7252ee13be am: dfe9af14d3 am: 5a1fd6750b
Change-Id: Iad78f4366d0c2311a472aadcf0cf07227d3d71e7
2019-12-23 10:41:28 +00:00
Automerger Merge Worker
5a1fd6750b Merge "Add OPUS encoding to the framework" am: 7252ee13be am: dfe9af14d3
Change-Id: Id49eb5581d46a855bd89f2c6485f2b5d5962d5e7
2019-12-23 10:24:45 +00:00
Kyunglyul Hyun
7ec3d498ae Merge "MediaRouter: Add session-releated APIs to route provider" 2019-12-23 06:30:51 +00:00
Kyunglyul Hyun
24cc66f946 MediaRouter: Add session-releated APIs to route provider
This CL introduces "session" into MediaRouterProviderService.
When a client wants to use a route of a provider, it should
request the provider to create a new session and then,
the client will control the session instead of a route.

Clients can add/remove routes into/from the session
(a.k.a. dynamic grouping) and transfer media to the other
route in a provider with less delay.

RouteSessionInfo holds information about a session and
MediaRoute2ProviderService must set session info and implement
abstract methods.

Bug: 142762829
Test: atest mediaroutertest

Change-Id: Iaf668d9a2c360cd9c7dbc5f1766d14e0d81bb3e3
2019-12-23 10:29:30 +09:00
TreeHugger Robot
d3ab322a12 Merge "Create a utils class and handle filter subtypes" 2019-12-21 02:58:21 +00:00
shubang
99c8992ab3 Complete descrambler APIs
Test: make;
Change-Id: I41a660aaf0213b4966274cd512537b581ffc95d5
2019-12-20 17:48:53 -08:00
shubang
1c53a33968 Create a utils class and handle filter subtypes
Also move checkPermission to Utils

Test: make;
Change-Id: I2958ca9fa39c822f50e8b998def4fd3233512673
2019-12-20 16:49:07 -08:00
Rahul Sabnis
eeef865a2a Refactor AudioPlaybackConfiguration to reduce usages of hidden APIs
Bug: 141947725
Test: Manual
Change-Id: Ia95776cda3408c321d94494cb25b9cd85cb8662a
2019-12-20 14:48:57 -08:00
shubang
e65b686cdf Complete frontend APIs
Test: make;
Change-Id: I576df2ee27809b50c9797a6bc80ebf3dc771a83e
2019-12-20 14:27:37 -08:00
Kevin Rocard
3ae06329dc Add OPUS encoding to the framework
Audio offload support was added to AudioTrack in Q,
but only a few encoding were exposed (MP3 & AAC).

This patch adds only Opus support.
For R we probably want to expose all format that the framework supports.

Bug: 146540917
Test: AudioTrackOffloadTest AudioFormatTest
Change-Id: I2ca57d45081668f76f8d9e153f66d1fd41209685
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-12-20 19:30:18 +00:00
TreeHugger Robot
b9a35bbaff Merge "MediaRouter2: add MRM.getActiveRoutes" 2019-12-20 10:18:42 +00:00
TreeHugger Robot
9b3d0531a5 Merge "MediaRouter: Renames supportControlCategory as supportControlCategories" 2019-12-20 10:03:53 +00:00
Kyunglyul Hyun
86998f446b MediaRouter2: add MRM.getActiveRoutes
This method will list up routes that are actively used
by some applications.

Once dynamic grouping is implemented, it will return
sessions instead of routes.

Bug: 146604082
Test: atest mediaroutertest

Change-Id: Ic013d3c2ded47b7ebca0b4cf99d2a7ea75045dc1
2019-12-20 17:45:24 +09:00
Kyunglyul Hyun
5c9a55ea9a MediaRouter: Renames supportControlCategory as supportControlCategories
Also adds a supportControlCategory that checks a single category.

Test: atest mediaroutertest
Change-Id: If878aa7df89fb61b38b52abad0adedccacb6df21
2019-12-20 17:29:59 +09:00
TreeHugger Robot
7a8341aadc Merge "MediaMuxer:allow negative presentation timestamps" 2019-12-20 07:29:44 +00:00
TreeHugger Robot
f050259df6 Merge "Unhide Descrambler class" 2019-12-20 04:13:54 +00:00
shubang
0ce6ae1560 Unhide Descrambler class
Test: make;
Bug: 139308734

Change-Id: I78f8fda2f83786cd46a9293949c50fc43f5cafd6
2019-12-19 16:29:56 -08:00
Mikhail Naganov
8dfb438b52 Merge "Add audio stream and usage for virtual assistant" 2019-12-20 00:08:22 +00:00
Shubang Lu
74c4faa398 Merge "Mark frontend APIs @SystemApi" 2019-12-19 23:20:59 +00:00
Kim Baekgyeong
b64fac77b5 Add audio stream and usage for virtual assistant
New stream type: AUDIO_STREAM_ASSISTANT
This is intended to be used by a virtual assistant like
Google Assistant, Bixby, etc.

The audio stream has own volume alias and the volume
does not change by volume changes of other streams.

Bug: 123745215
Test: make
Change-Id: Iad07d9f0b25ea35c6d565be677af7815bf2f6bd7
2019-12-19 21:35:34 +00:00
Automerger Merge Worker
90dc909c3a Merge "Revert "Use new UnsupportedAppUsage annotation."" am: edf7ce4f38 am: 019286764f am: f6253ef435
Change-Id: Id33f64eb9c8aa7d68cc52f7359b4f0a3d2675d8a
2019-12-19 12:13:32 +00:00