Default route denotes the route that will be selected by
SystemMediaRoute2Provider by default. While the device route denotes the
route that is currenctly active among the phone speaker and wired headsets.
Also, some variables and methods are renamed for readability.
Bug: 149796428
Test: pass MR2 tests
Change-Id: I9133bb106ce6b509147e5f837cc30f229a762088
Use AudioAttributes.getSystemUsage() instead of getUsage()
when comparing attributes as getUsage() defaults to UNKNOWN for
system usages and causes a false match.
Bug: 136121584
Test: build & run cts-dev -m CtsMediaTestCase --test android.media.cts.AudioProductStrategyTest
Change-Id: I377e840b18443c33fb0b562b27fbc706aaeb8055
When enabling Live Caption, remote submix device will be set as fixed
and full volume device in audio service. In that case, volume control
for remote submix will not be forwarded anymore. However, it is expected
to have volume control when the device is on chromecast mirror mode.
To solve the problem, tracking legacy remote submix device is active or
not in RecordingActivityMonitor. When legacy remote submix device is
active, remote submix will not be treated as fixed/full volume device.
In audio policy manager, the remote submix that is used by dynamic
policy will still be fixed volume device.
Bug: 144063329
Test: repo steps in bug
Change-Id: I1cb83c17f34e636763bb989e37ac8e021217cc39
Merged-In: I1cb83c17f34e636763bb989e37ac8e021217cc39
This CL adds more route features to give
media apps more information.
It also clarifies the values of pre defined route features.
Bug: 152024707
Test: cts test and mediaroutertest
Change-Id: Ia89b45191c4f3fe23210aaca7f336637725fe3b3
Move Tuner specific methods to SystemApi
to match Tuner Api visibility.
Update return value annotation on getters.
Test: AudioTrackTest#testTunerConfiguration
Bug: 151178170
Change-Id: I5461d62db38cd912b5896b9c27fd1fef29306bae
1. Now permission check is done in system process,
TunerResourceManagerService.
2. Settings or configs classes themselves don't access tuner resouces,
so permission is not necessary. Permissions are checked when they are
used as parameters to access tuner resource. i.e.
openFilter(filterConfig, ...)
Bug: 149785806
Test: mmm
Change-Id: Id0d7a6aa3b8c894acece109885b58f774ab1b024
This allows vendor/OEMs to dynamically change whether sessions should
be used as buttons sessions or not.
Bug: 147027868
Test: Manually
Change-Id: I9db0d298d5caca0b61b41d94455e8f8f1b1ea685
Feedback from API review.
And other minor changes mentioned in b/150725571
Bug: 150725571
Test: mmm;
Change-Id: I566e8725ed850708313b23c1bec73538aee6844e
Add @GuardedBy annotations and ensure they are met when
doing an ErrorProne build.
Refactored Java code to simplify handling messages
from the native code by using 'Handler.post' with
Runnable instances.
Bug: 149375271
Bug: 151442554
Test: RUN_ERROR_PRONE=true m framework-minus-apex
check warnings for Visualizer class
Test: run EffectsTest for Visualizer both in single
threaded and multi-threaded usage scenarios,
validate there are no lockups in the app
and no messages from FORTIFY in the log
Change-Id: I50752fad02f2a23ed8d0368b2550dbf7f879a706
Merged-In: I50752fad02f2a23ed8d0368b2550dbf7f879a706