Merge "Minor edits for BT related utils and Enums" am: 9133fbd925 am: c11d573822
am: 9412f4bc1e
Change-Id: I451abe2a0407e03bb98036a6225e95aaffe8223a
diff --git a/acts/framework/acts/test_utils/abstract_devices/bluetooth_handsfree_abstract_device.py b/acts/framework/acts/test_utils/abstract_devices/bluetooth_handsfree_abstract_device.py
index bf4d549..1f13d26 100644
--- a/acts/framework/acts/test_utils/abstract_devices/bluetooth_handsfree_abstract_device.py
+++ b/acts/framework/acts/test_utils/abstract_devices/bluetooth_handsfree_abstract_device.py
@@ -29,8 +29,8 @@
NotImplementedError: if controller is missing one or more methods.
"""
ctlr_methods = inspect.getmembers(controller, predicate=callable)
- reqd_methods = inspect.getmembers(abstract_device_class,
- predicate=inspect.ismethod)
+ reqd_methods = inspect.getmembers(
+ abstract_device_class, predicate=inspect.ismethod)
expected_func_names = {method[0] for method in reqd_methods}
controller_func_names = {method[0] for method in ctlr_methods}
@@ -47,8 +47,7 @@
if inspect.signature(controller_func) != required_signature:
raise NotImplementedError(
'Method {} must have the signature {}{}.'.format(
- controller_func.__qualname__,
- controller_func.__name__,
+ controller_func.__qualname__, controller_func.__name__,
required_signature))
@@ -58,6 +57,7 @@
Desired controller classes should have a corresponding Bluetooth handsfree
abstract device class defined in this module.
"""
+
@property
def mac_address(self):
raise NotImplementedError
@@ -115,7 +115,8 @@
return self.pixel_buds_controller.bluetooth_address
def accept_call(self):
- return self.pixel_buds_controller.cmd(self.format_cmd('EventUsrAnswer'))
+ return self.pixel_buds_controller.cmd(
+ self.format_cmd('EventUsrAnswer'))
def end_call(self):
return self.pixel_buds_controller.cmd(
@@ -147,7 +148,8 @@
self.format_cmd('EventUsrAvrcpSkipBackward'))
def reject_call(self):
- return self.pixel_buds_controller.cmd(self.format_cmd('EventUsrReject'))
+ return self.pixel_buds_controller.cmd(
+ self.format_cmd('EventUsrReject'))
def volume_down(self):
return self.pixel_buds_controller.volume('Down')
@@ -158,7 +160,6 @@
class EarstudioReceiverBluetoothHandsfreeAbstractDevice(
BluetoothHandsfreeAbstractDevice):
-
def __init__(self, earstudio_controller):
self.earstudio_controller = earstudio_controller
@@ -205,7 +206,6 @@
class JaybirdX3EarbudsBluetoothHandsfreeAbstractDevice(
BluetoothHandsfreeAbstractDevice):
-
def __init__(self, jaybird_controller):
self.jaybird_controller = jaybird_controller
@@ -252,7 +252,6 @@
class AndroidHeadsetBluetoothHandsfreeAbstractDevice(
BluetoothHandsfreeAbstractDevice):
-
def __init__(self, ad_controller):
self.ad_controller = ad_controller
@@ -271,8 +270,7 @@
return self.ad_controller.droid.bluetoothMakeDiscoverable()
def next_track(self):
- return (self.ad_controller.droid.
- bluetoothMediaPassthrough("skipNext"))
+ return (self.ad_controller.droid.bluetoothMediaPassthrough("skipNext"))
def pause(self):
return self.ad_controller.droid.bluetoothMediaPassthrough("pause")
@@ -287,13 +285,15 @@
return self.ad_controller.droid.bluetoothToggleState(True)
def previous_track(self):
- return (self.ad_controller.droid.
- bluetoothMediaPassthrough("skipPrev"))
+ return (self.ad_controller.droid.bluetoothMediaPassthrough("skipPrev"))
def reject_call(self):
return self.ad_controller.droid.telecomCallDisconnect(
self.ad_controller.droid.telecomCallGetCallIds()[0])
+ def reset(self):
+ return self.ad_controller.droid.bluetoothFactoryReset()
+
def volume_down(self):
target_step = self.ad_controller.droid.getMediaVolume() - 1
target_step = max(target_step, 0)
diff --git a/acts/framework/acts/test_utils/bt/BtEnum.py b/acts/framework/acts/test_utils/bt/BtEnum.py
index a2010d0..b9fe6e2 100644
--- a/acts/framework/acts/test_utils/bt/BtEnum.py
+++ b/acts/framework/acts/test_utils/bt/BtEnum.py
@@ -103,3 +103,11 @@
PRIORITY_ON = 100
PRIORITY_OFF = 0
PRIORITY_UNDEFINED = -1
+
+class BluetoothA2dpCodecType(Enum):
+ SBC = 0
+ AAC = 1
+ APTX = 2
+ APTX_HD = 3
+ LDAC = 4
+ MAX = 5
diff --git a/acts/framework/acts/test_utils/bt/bt_test_utils.py b/acts/framework/acts/test_utils/bt/bt_test_utils.py
index 57992eb..f13002e 100644
--- a/acts/framework/acts/test_utils/bt/bt_test_utils.py
+++ b/acts/framework/acts/test_utils/bt/bt_test_utils.py
@@ -226,6 +226,7 @@
bonded_info = android.droid.bluetoothGetBondedDevices()
if headset.mac_address not in [info["address"] for info in bonded_info]:
# Use SL4A to pair and connect with headset.
+ headset.enter_pairing_mode()
android.droid.bluetoothDiscoverAndBond(headset.mac_address)
else: # Device is bonded but not connected
android.droid.bluetoothConnectBonded(headset.mac_address)