diff options
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/audio/AudioDeviceBrokerTest.java | 59 |
1 files changed, 34 insertions, 25 deletions
diff --git a/services/tests/servicestests/src/com/android/server/audio/AudioDeviceBrokerTest.java b/services/tests/servicestests/src/com/android/server/audio/AudioDeviceBrokerTest.java index cc3c880b8927..f1c1dc365b90 100644 --- a/services/tests/servicestests/src/com/android/server/audio/AudioDeviceBrokerTest.java +++ b/services/tests/servicestests/src/com/android/server/audio/AudioDeviceBrokerTest.java @@ -266,18 +266,22 @@ public class AudioDeviceBrokerTest { .adoptShellPermissionIdentity(Manifest.permission.BLUETOOTH_PRIVILEGED); // no metadata set - assertTrue(mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, - DEVICE_TYPE_DEFAULT.getBytes())); - assertFalse( - mAudioDeviceBroker.isBluetoothAudioDeviceCategoryFixed( - mFakeBtDevice.getAddress())); + if (mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, + DEVICE_TYPE_DEFAULT.getBytes())) { + assertFalse(mAudioDeviceBroker.isBluetoothAudioDeviceCategoryFixed( + mFakeBtDevice.getAddress())); + } // metadata set - assertTrue(mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, - DEVICE_TYPE_HEADSET.getBytes())); - assertTrue(mAudioDeviceBroker.isBluetoothAudioDeviceCategoryFixed( - mFakeBtDevice.getAddress())); + if (mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, + DEVICE_TYPE_HEADSET.getBytes())) { + assertTrue(mAudioDeviceBroker.isBluetoothAudioDeviceCategoryFixed( + mFakeBtDevice.getAddress())); + } } finally { + // reset the metadata device type + mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, + DEVICE_TYPE_DEFAULT.getBytes()); InstrumentationRegistry.getInstrumentation().getUiAutomation() .dropShellPermissionIdentity(); } @@ -304,25 +308,30 @@ public class AudioDeviceBrokerTest { .adoptShellPermissionIdentity(Manifest.permission.BLUETOOTH_PRIVILEGED); // no metadata set - assertTrue(mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, - DEVICE_TYPE_DEFAULT.getBytes())); - assertEquals(AudioManager.AUDIO_DEVICE_CATEGORY_SPEAKER, - mAudioDeviceBroker.getAndUpdateBtAdiDeviceStateCategoryForAddress( - mFakeBtDevice.getAddress())); - verify(mMockAudioService, - timeout(MAX_MESSAGE_HANDLING_DELAY_MS).times(0)).onUpdatedAdiDeviceState( - eq(devState)); + if (mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, + DEVICE_TYPE_DEFAULT.getBytes())) { + assertEquals(AudioManager.AUDIO_DEVICE_CATEGORY_SPEAKER, + mAudioDeviceBroker.getAndUpdateBtAdiDeviceStateCategoryForAddress( + mFakeBtDevice.getAddress())); + verify(mMockAudioService, + timeout(MAX_MESSAGE_HANDLING_DELAY_MS).times(0)).onUpdatedAdiDeviceState( + eq(devState)); + } // metadata set - assertTrue(mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, - DEVICE_TYPE_HEADSET.getBytes())); - assertEquals(AudioManager.AUDIO_DEVICE_CATEGORY_HEADPHONES, - mAudioDeviceBroker.getAndUpdateBtAdiDeviceStateCategoryForAddress( - mFakeBtDevice.getAddress())); - verify(mMockAudioService, - timeout(MAX_MESSAGE_HANDLING_DELAY_MS)).onUpdatedAdiDeviceState( - any()); + if (mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, + DEVICE_TYPE_HEADSET.getBytes())) { + assertEquals(AudioManager.AUDIO_DEVICE_CATEGORY_HEADPHONES, + mAudioDeviceBroker.getAndUpdateBtAdiDeviceStateCategoryForAddress( + mFakeBtDevice.getAddress())); + verify(mMockAudioService, + timeout(MAX_MESSAGE_HANDLING_DELAY_MS)).onUpdatedAdiDeviceState( + any()); + } } finally { + // reset the metadata device type + mFakeBtDevice.setMetadata(BluetoothDevice.METADATA_DEVICE_TYPE, + DEVICE_TYPE_DEFAULT.getBytes()); InstrumentationRegistry.getInstrumentation().getUiAutomation() .dropShellPermissionIdentity(); } |