audiohal : add support for call_screen mode

Bug: 140384450
Test: make
Change-Id: Iea7816ba35538e5ee966dae4f57abf147d203bd0
This commit is contained in:
Jaideep Sharma
2020-01-23 16:26:02 +05:30
committed by Eric Laurent
parent 5d372032d2
commit 9e62926f25
2 changed files with 14 additions and 1 deletions

View File

@@ -203,6 +203,9 @@ Return<Result> PrimaryDevice::setMode(AudioMode mode) {
case AudioMode::RINGTONE:
case AudioMode::IN_CALL:
case AudioMode::IN_COMMUNICATION:
#if MAJOR_VERSION >= 6
case AudioMode::CALL_SCREEN:
#endif
break; // Valid values
default:
return Result::INVALID_ARGUMENTS;

View File

@@ -244,7 +244,13 @@ TEST_P(OutputStreamTest, updateSourceMetadata) {
TEST_P(AudioPrimaryHidlTest, setMode) {
doc::test("Make sure setMode always succeeds if mode is valid and fails otherwise");
// Test Invalid values
for (int mode : {-2, -1, int(AudioMode::IN_COMMUNICATION) + 1}) {
#if MAJOR_VERSION >= 6
int maxMode = int(AudioMode::CALL_SCREEN);
#else
int maxMode = int(AudioMode::IN_COMMUNICATION);
#endif
for (int mode : {-2, -1, maxMode + 1}) {
ASSERT_RESULT(Result::INVALID_ARGUMENTS, getDevice()->setMode(AudioMode(mode)))
<< "mode=" << mode;
}
@@ -253,6 +259,10 @@ TEST_P(AudioPrimaryHidlTest, setMode) {
AudioMode::NORMAL /* Make sure to leave the test in normal mode */}) {
ASSERT_OK(getDevice()->setMode(mode)) << "mode=" << toString(mode);
}
// AudioMode::CALL_SCREEN as support is optional
#if MAJOR_VERSION >= 6
ASSERT_RESULT(okOrNotSupportedOrInvalidArgs, getDevice()->setMode(AudioMode::CALL_SCREEN));
#endif
}
TEST_P(AudioPrimaryHidlTest, setBtHfpSampleRate) {