blob: 661a7e800b8ef456c57bec77eec034523a465690 [file] [log] [blame]
#/usr/bin/env python3.4
#
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
"""
Bluetooth adapter libraries
"""
from acts.test_utils.bt.bt_constants import bt_scan_mode_types
from acts.test_utils.bt.bt_test_utils import set_bt_scan_mode
import pprint
class BtaLib():
def __init__(self, log, dut, target_mac_address=None):
self.advertisement_list = []
self.dut = dut
self.log = log
self.target_mac_addr = target_mac_address
def set_target_mac_addr(self, mac_addr):
self.target_mac_addr = mac_addr
def set_scan_mode(self, scan_mode):
"""Set the Scan mode of the Bluetooth Adapter"""
set_bt_scan_mode(self.dut, bt_scan_mode_types[scan_mode])
def set_device_name(self, line):
"""Set Bluetooth Adapter Name"""
self.dut.droid.bluetoothSetLocalName(line)
def enable(self):
"""Enable Bluetooth Adapter"""
self.dut.droid.bluetoothToggleState(True)
def disable(self):
"""Disable Bluetooth Adapter"""
self.dut.droid.bluetoothToggleState(False)
def init_bond(self):
"""Initiate bond to PTS device"""
self.dut.droid.bluetoothDiscoverAndBond(self.target_mac_addr)
def start_discovery(self):
"""Start BR/EDR Discovery"""
self.dut.droid.bluetoothStartDiscovery()
def stop_discovery(self):
"""Stop BR/EDR Discovery"""
self.dut.droid.bluetoothCancelDiscovery()
def get_discovered_devices(self):
"""Get Discovered Br/EDR Devices"""
if self.dut.droid.bluetoothIsDiscovering():
self.dut.droid.bluetoothCancelDiscovery()
self.log.info(
pprint.pformat(self.dut.droid.bluetoothGetDiscoveredDevices()))
def bond(self):
"""Bond to PTS device"""
self.dut.droid.bluetoothBond(self.target_mac_addr)
def disconnect(self):
"""BTA disconnect"""
self.dut.droid.bluetoothDisconnectConnected(self.target_mac_addr)
def unbond(self):
"""Unbond from PTS device"""
self.dut.droid.bluetoothUnbond(self.target_mac_addr)
def start_pairing_helper(self, line):
"""Start or stop Bluetooth Pairing Helper"""
if line:
self.dut.droid.bluetoothStartPairingHelper(bool(line))
else:
self.dut.droid.bluetoothStartPairingHelper()
def push_pairing_pin(self, line):
"""Push pairing pin to the Android Device"""
self.dut.droid.eventPost("BluetoothActionPairingRequestUserConfirm",
line)
def get_pairing_pin(self):
"""Get pairing PIN"""
self.log.info(
self.dut.ed.pop_event("BluetoothActionPairingRequest", 1))
def fetch_uuids_with_sdp(self):
"""BTA fetch UUIDS with SDP"""
self.log.info(
self.dut.droid.bluetoothFetchUuidsWithSdp(self.target_mac_addr))
def connect_profiles(self):
"""Connect available profiles"""
self.dut.droid.bluetoothConnectBonded(self.target_mac_addr)
def tts_speak(self):
"""Open audio channel by speaking characters"""
self.dut.droid.ttsSpeak(self.target_mac_addr)