Commit Graph

8839 Commits

Author SHA1 Message Date
Andrew Sapperstein
88d565e7e7 Update inner class constructor refs to use proper syntax.
Previously, we generally required fully qualified names for referring
to inner class constructors (like #Notification.Builder()) despite that
not being valid javadoc. Now, we properly support #Builder() syntax and
the old syntax will error.

Bug: 6963924
Test: make doc-comment-check-docs
Exempt-From-Owner-Approval: cherry-picked from master
Change-Id: Ib2e4360493275b79c72487ee1cb173bb5e0fd35f
Merged-In: Ib2e4360493275b79c72487ee1cb173bb5e0fd35f
(cherry picked from commit 4c4aa41272)
2020-05-01 18:33:15 +00:00
Andrew Sapperstein
8fe35e5f21 Fix broken @see tags in public documentation.
These were previously being suppressed by doclava but with this change,
all failures are fixed and the suppression logic has been removed.

To fix the issues, there were a few possible changes made:
- broken reference to a public API (such as incorrect parameters): fixed
- unnecessary @link inside an @see tag: fixed
- @see referring to an @hide or @SystemApi: reference removed
- broken references to inner class constructors
 - worked around by fully qualifying the constructor

Bug: 6963924
Test: make doc-comment-check-docs
Exempt-From-Owner-Approval: cherry-picked from master
Change-Id: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85
Merged-In: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85
(cherry picked from commit e0624c7a40)
2020-05-01 18:25:32 +00:00
James Wei
f545a3ac9e MTP: media info can not be retrieved via MTP#2
Under the new MtpStorageManager design,
media info like MP3 Track title, album and artist, Genre, etc
can not be retrieved via MTP
by Windows Media Player, Linux Rhythmbox and Some Car Kits

Bug: 112635346
Test: atest MtpTests
Test: atest MediaProviderTests
Test: Manual test: Windows Media Player
Change-Id: I57a947fe6d3a583a0990be5bd2b0678f39d948f2
2020-05-01 07:52:55 +00:00
TreeHugger Robot
ee6b90ef7f Merge "Tuner JNI: linearBlock and OnDestroyNotify" into rvc-dev 2020-04-30 00:52:35 +00:00
jiabin
fa7a0252b0 Reset audio port generation when having recording callback event.
In RecordingActivityMonitor, compare audio device type and address to
know if legacy remote submix is active, which requires querying audio
patches. When there is a recording callback event, the audio patches in
AudioManager may not be up to date. In that case, when getting a
recording callback event, reset audio port generation if the patch
handle is not found in the cached audio patches.

Test: repro steps in the bug
Bug: 144063329
Change-Id: Ife5c9a65243d2e85e4cd9480e3b415f8bfddc6f5
2020-04-29 09:59:53 -07:00
shubang
3aef4fe424 Tuner JNI: linearBlock and OnDestroyNotify
referred to ag/10877916 by Henry quxiangfang@

Bug: 139308734
Test: mmm
Change-Id: I7574d27cb1f582a5556e22eac4fff87335230b00
2020-04-27 13:18:46 -07:00
Kyunglyul Hyun
22d4e05e22 Correct SystemMediaRoute2Provider#requestCreateSession
It will call back onSessionCreated or onRequestFailed with
the correct arguments.

Bug: 152932787
Test: manually by cast -> phone multiple times via Output Switcher.
It includes the case that the target route changes (phone -> BT).

Change-Id: Icc324f3e7d6dfde71faa6d3bc919be383e7a5216
2020-04-27 21:44:55 +09:00
Ytai Ben-tsvi
f7d789b0ed Merge "Deliver internal server errors to the client" into rvc-dev 2020-04-25 01:34:06 +00:00
TreeHugger Robot
11ddcad881 Merge "AudioService: fix A2DP (dis)connection during media playback" into rvc-dev 2020-04-25 01:02:57 +00:00
Ytai Ben-Tsvi
458930753d Deliver internal server errors to the client
Due to a binder limitation (b/150808347), any unexpected exception
thrown by a binder service while processing an RPC call, will be
silently discarded and the client will get back a default-initialized
result parcelable (i.e. in most cases, won't know that anything wrong
happened).

We work around this issue by throwing a ServiceSpecificException,
which does get delivered, having a special code to designate an
internal error. Errors resulting from a HAL malfunctions will result
in a HAL reboot, which leads to recovery.

Bug: 154089179
Test: Manual verification of basic error recovery scenarios by
      injecting HAL error codes and crashes.
Change-Id: Ib5dbe08a362e545501c04204bebad5ab95f5d632
2020-04-24 16:39:36 -07:00
Phil Burk
abaa48139c Merge "audio: E_AC3 is also Dolby Digital Plus" into rvc-dev 2020-04-24 21:36:27 +00:00
Jean-Michel Trivi
e9e4a3de4a AudioService: fix A2DP (dis)connection during media playback
Fix issue with A2DP connection/disconnection during media
playback by modifying:
- how messages related to A2DP connection/disconnection are
  removed from the AudioDeviceBroker message handler: have
  .equals() be used when checking which object to remove,
  and correct which class is used for the messages in the
  queue:
    * MSG_IL_SET_A2DP_SINK_CONNECTION_STATE_*CONNECTED is
      using BtHelper.BluetoothA2dpDeviceInfo
    * MSG_L_A2DP_DEVICE_CONNECTION_CHANGE_EXT_CONNECTION
      is using BtDeviceConnectionInfo
- locking: use the AudioDeviceBroker main lock, mDeviceStateLock
  to synchronize posting events on the handler, and removing
  some of those messages to avoid race conditions the thread
  in which events are posted (e.g. BT's event thread) and the
  AudioDeviceBroker handler thread.

  Cleanup: annotation around audio formats from native defined
in AudioSystem, moved conversions to AudioSystem.

Bug: 142293357
Test: atest AudioDeviceBrokerTest
Change-Id: I2e8dc813354829fb1b2c7ca95ad395a14f8b70cf
2020-04-24 12:06:10 -07:00
TreeHugger Robot
53897fd7d1 Merge "media: fix MediaCodec operations using HardwareBuffer" into rvc-dev 2020-04-24 18:44:45 +00:00
Hyundo Moon
dc75d0436a Merge "MediaRouter2: Release controller when transfer result arrives" into rvc-dev 2020-04-23 11:27:16 +00:00
TreeHugger Robot
f24522ba3d Merge "RoutingSessionInfo: Modify toString() so that it can print uniqueId" into rvc-dev 2020-04-23 07:46:39 +00:00
Hyundo Moon
cacc4de46b MediaRouter2: Release controller when transfer result arrives
Previously when MediaRouter2#transferTo(route) is called, it directly
released current controller. This CL changes the release timing to
when the actual transfer result comes.

Also, this CL prevents a RoutingController instance from being passed
both to:
 - As 'oldController' in onTransfer()
 - As 'controller' in onStop()

These works make TransferCallback easy to use: when onStop() is called,
app can just stop playing media.

Bug: 154680146
Test: Passed CTS / Checked logs in onTransfer/onStop
      with output switcher
Change-Id: I4449021f98ca887252e05398356df9b53592c145
2020-04-23 16:11:26 +09:00
Hyundo Moon
18f8ac0ad2 RoutingSessionInfo: Modify toString() so that it can print uniqueId
Bug: 154778725
Test: Builds successfully
Change-Id: I6b0aacc45cf3297dae4ebad5f072c1484ef04426
2020-04-23 13:22:16 +09:00
TreeHugger Robot
42199418fd Merge "Tuner JNI: setLnb and close()" into rvc-dev 2020-04-22 23:25:35 +00:00
shubang
b3bfffeb97 Tuner JNI: setLnb and close()
Bug: 139308734
Test: mmm
Change-Id: I48ead59a638d83d2bfd9d8edabb0858715f0d473
2020-04-22 14:44:46 -07:00
Ytai Ben-Tsvi
d34d075175 Add OWNERS files to soundtrigger middleware
Bug: 154739107
Test: N/A
Change-Id: Ibbe7257a816af43fa604cb4c7782b7c792409e57
2020-04-22 19:01:18 +00:00
Andy Hung
6d5625c5ce Merge changes Ibca1d27b,I8cc6f5ce into rvc-dev
* changes:
  MediaMetrics: Update Audio Java logging
  MediaMetrics instrumentation
2020-04-22 17:04:27 +00:00
Andy Hung
6983695951 MediaMetrics: Update Audio Java logging
Convert to typed keys to ensure consistent spelling / usage.
Track volume state.
Track device state.

Test: media metrics dumpsys
Bug: 149850236
Merged-In: Ibca1d27baca3bea6c5c363c7ef0dbce04fe5debc
Change-Id: Ibca1d27baca3bea6c5c363c7ef0dbce04fe5debc
2020-04-21 23:51:42 -07: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
Wonsik Kim
b8ebdb38cb media: fix MediaCodec operations using HardwareBuffer
Bug: 154111004
Bug: 154108503
Test: atest CtsMediaTestCases:MediaCodecBlockModelTest
Change-Id: Ia2891f2fde5bc48055c093d450ca3ee2cc62f30d
2020-04-21 17:00:13 -07:00
Amy Zhang
aaa8e866d3 Merge "Complete the Cas System request/release/update implementation in TRM" into rvc-dev 2020-04-21 18:56:39 +00:00
Eric Laurent
81b99eda9b Merge "AudioManager: fix event handler" into rvc-dev 2020-04-21 16:07:15 +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
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
f3a10cd244 AudioManager: fix event handler
Fix access by reference to listener list outside of
synchronized block by cloning the list.

Bug: 154341343
Test: AudioPolicyTest#testAudioPorts, AudioManagerTest#testVolumeGroupCallback, AudioRoutingTest
Change-Id: I1f0fd62c1894dc0dbb07b01f2fd78899e48b4932
2020-04-21 01:17:12 +00:00
TreeHugger Robot
7c33cc554d Merge "Make some minor improvements to MediaFormat" into rvc-dev 2020-04-20 19:37:26 +00:00
Santiago Seifert
2a747f8d53 Make some minor improvements to MediaFormat
Test: atest CtsMediaTestCases:MediaExtractorTest
Test: atest CtsMediaParserTestCases
Bug: 154524134
Change-Id: Ie1d42b200f13a2ce5292c5a06ee979e8d74bbe43
2020-04-20 19:37:07 +00:00
Andrei Litvin
3b92b9682d Add support for GamePad api in ITvRemoteServiceInput.
Gamepad-specific API is a separtate input path from standard "remote"
service. Specifically it adds:
  - openGamepad that creates a virtual input device with
  gamepad-specific suport
  - send gamepad keys
  - send gamepad axis updates, which support joysticks, analog triggers
  and HAT axis (as an alternative to DPAD buttons).

Bug: 150764186

Test: atest media/lib/tvremote/tests/src/com/android/media/tv/remoteprovider/TvRemoteProviderTest.java

Test: flashed a ADT-3 device after the changes. Android TV Remote
      on my phone still worked in controlling the UI.

Merged-In: I49612fce5e74c4e00ca60c715c6c72954e73b7a3
Change-Id: I49612fce5e74c4e00ca60c715c6c72954e73b7a3
(cherry picked from commit 9b9f556af1)
2020-04-20 10:42:58 -04:00
shubang
40454dbdcb Tuner JNI: descrambler
And minor filter changes

Bug: 139308734
Test: mmm
Change-Id: Ibf4ac61476690438f86a93142547f7c80d1375d6
2020-04-17 21:23:06 -07:00
Amy Zhang
e1e65f18c0 Complete the Cas System request/release/update implementation in TRM
Test: atest
Bug: 154076250
Change-Id: Ifaf80a3e91807e1b47e780d2b5fd699412e1e7cc
2020-04-18 01:19:34 +00:00
Amy Zhang
8b28b4b058 Merge "Add client Id as the parameter of all the release resources APIs in TRM" into rvc-dev 2020-04-17 03:31:43 +00:00
Amy Zhang
2e5801340c Add client Id as the parameter of all the release resources APIs in TRM
Test: atest com.android.server.tv.tunerresourcemanager
Bug: 150952662
Change-Id: I7a028dfde8d93148f3a4c0dd1a607533f8a7b1a7
2020-04-16 17:32:59 -07:00
Amy Zhang
21095a62eb Merge "Complete Lnb update/request/release implementation in TRM" into rvc-dev 2020-04-16 23:26:50 +00:00
TreeHugger Robot
13646bb12e Merge changes from topic "tuner_cts_scanning" into rvc-dev
* changes:
  Complete Frontend release implementation in TRM
  Tuner FW: handle release frontend
2020-04-16 23:15:06 +00:00
Phil Burk
bdd222813b audio: E_AC3 is also Dolby Digital Plus
It was not clear that they are the same thing.

Bug: 154244998
Test: just a comment change
Change-Id: I18ebab3c3d66f47d03a9cf36e7c13401e0fa8a8f
2020-04-16 12:09:57 -07:00
Amy Zhang
492f8bae66 Complete Lnb update/request/release implementation in TRM
Test: atest
Bug: 150952662
Change-Id: I14b1e0ef291159ab9da3ed1e4a056317c44467a8
2020-04-15 21:48:12 -07:00
shubang
2f9cab383b Tuner FW: handle release frontend
This can unblock tune/scan CTS test cases.
If a frontend resource is acquired in a test case and not released,
it cannot be used by another test case.

Bug: 150952758
Test: atest android.media.tv.tuner.cts.TunerTest
Change-Id: Ib9bab003fc81fe008091a9d1aaefc43e454c3230
2020-04-15 21:47:29 -07:00
Hyundo Moon
f4314e3ae9 Merge "Prevent MediaRoute2ProviderService#onReleaseSession() from being called twice" into rvc-dev 2020-04-15 06:19:58 +00:00
Hyundo Moon
d274976b8c Prevent MediaRoute2ProviderService#onReleaseSession() from being called twice
Bug: 153934282
Test: Checked the logs that the method is called only once
      Also ran CTS / atest mediaroutertest
Change-Id: I0c27ecd5b1c83be241fcebe71a7e0ea9f1c9e349
2020-04-14 22:22:16 +09:00
TreeHugger Robot
35f960dff4 Merge "Add Multi Audio focus" into rvc-dev 2020-04-14 06:29:16 +00:00
Jin Seok Park
78552a888a Merge "Ensure thread-safety of SimpleDateFormat" into rvc-dev 2020-04-14 02:28:03 +00:00
Phil Burk
05f0262840 Merge "MIDI: check range of port counts" into rvc-dev 2020-04-14 01:13:20 +00:00
TreeHugger Robot
92b1b302a9 Merge "Fix tuner JNI breakage due to recent changes" into rvc-dev 2020-04-10 18:27:48 +00:00
Jin Seok Park
5ef6b0d6e0 Ensure thread-safety of SimpleDateFormat
Since ExifInterface supports multi-thread, SimpleDateFormat
should be thread-safe.

Bug: 152801859
Test: N/A
Change-Id: I9ad5a035162f5e3caff2a2d4aaff2ae0cd870cd2
2020-04-10 19:45:58 +09:00