Fix logging format and add test cases

For logging purpose, CachedBluetoothDevice#toString is more clear then BluetoothDevice#toString, so change to use CachedBluetoothDevice#toString

Bug: 307890347
Test: atest HearingDevicePairingFragmentTest
Change-Id: Ia0af65565ca7067fa6c4d5db286c3739fb65c1d2
This commit is contained in:
jasonwshsu
2024-02-09 13:00:56 +08:00
committed by Jason Hsu
parent 950d9e9fee
commit 8d80de8446
2 changed files with 23 additions and 10 deletions

View File

@@ -192,7 +192,7 @@ public class HearingDevicePairingFragment extends RestrictedDashboardFragment im
public void onDeviceBondStateChanged(@NonNull CachedBluetoothDevice cachedDevice, public void onDeviceBondStateChanged(@NonNull CachedBluetoothDevice cachedDevice,
int bondState) { int bondState) {
if (DEBUG) { if (DEBUG) {
Log.d(TAG, "onDeviceBondStateChanged: " + cachedDevice.getDevice() + ", state = " Log.d(TAG, "onDeviceBondStateChanged: " + cachedDevice + ", state = "
+ bondState); + bondState);
} }
if (bondState == BluetoothDevice.BOND_BONDED) { if (bondState == BluetoothDevice.BOND_BONDED) {
@@ -276,13 +276,13 @@ public class HearingDevicePairingFragment extends RestrictedDashboardFragment im
} }
mDevicePreferenceMap.put(cachedDevice, preference); mDevicePreferenceMap.put(cachedDevice, preference);
if (DEBUG) { if (DEBUG) {
Log.d(TAG, "Add device. device: " + cachedDevice.getDevice()); Log.d(TAG, "Add device. device: " + cachedDevice);
} }
} }
void removeDevice(CachedBluetoothDevice cachedDevice) { void removeDevice(CachedBluetoothDevice cachedDevice) {
if (DEBUG) { if (DEBUG) {
Log.d(TAG, "removeDevice: " + cachedDevice.getDevice()); Log.d(TAG, "removeDevice: " + cachedDevice);
} }
BluetoothDevicePreference preference = mDevicePreferenceMap.remove(cachedDevice); BluetoothDevicePreference preference = mDevicePreferenceMap.remove(cachedDevice);
if (mAvailableHearingDeviceGroup != null && preference != null) { if (mAvailableHearingDeviceGroup != null && preference != null) {
@@ -331,13 +331,13 @@ public class HearingDevicePairingFragment extends RestrictedDashboardFragment im
cachedDevice = mCachedDeviceManager.addDevice(device); cachedDevice = mCachedDeviceManager.addDevice(device);
} else if (cachedDevice.getBondState() == BluetoothDevice.BOND_BONDED) { } else if (cachedDevice.getBondState() == BluetoothDevice.BOND_BONDED) {
if (DEBUG) { if (DEBUG) {
Log.d(TAG, "Skip this device, already bonded: " + cachedDevice.getDevice()); Log.d(TAG, "Skip this device, already bonded: " + cachedDevice);
} }
return; return;
} }
if (cachedDevice.getHearingAidInfo() == null) { if (cachedDevice.getHearingAidInfo() == null) {
if (DEBUG) { if (DEBUG) {
Log.d(TAG, "Set hearing aid info on device: " + cachedDevice.getDevice()); Log.d(TAG, "Set hearing aid info on device: " + cachedDevice);
} }
cachedDevice.setHearingAidInfo(new HearingAidInfo.Builder().build()); cachedDevice.setHearingAidInfo(new HearingAidInfo.Builder().build());
} }
@@ -455,7 +455,7 @@ public class HearingDevicePairingFragment extends RestrictedDashboardFragment im
void discoverServices(CachedBluetoothDevice cachedDevice) { void discoverServices(CachedBluetoothDevice cachedDevice) {
if (DEBUG) { if (DEBUG) {
Log.d(TAG, "connectGattToCheckCompatibility, device: " + cachedDevice.getDevice()); Log.d(TAG, "connectGattToCheckCompatibility, device: " + cachedDevice);
} }
BluetoothGatt gatt = cachedDevice.getDevice().connectGatt(getContext(), false, BluetoothGatt gatt = cachedDevice.getDevice().connectGatt(getContext(), false,
new BluetoothGattCallback() { new BluetoothGattCallback() {
@@ -465,7 +465,7 @@ public class HearingDevicePairingFragment extends RestrictedDashboardFragment im
super.onConnectionStateChange(gatt, status, newState); super.onConnectionStateChange(gatt, status, newState);
if (DEBUG) { if (DEBUG) {
Log.d(TAG, "onConnectionStateChange, status: " + status + ", newState: " Log.d(TAG, "onConnectionStateChange, status: " + status + ", newState: "
+ newState + ", device: " + cachedDevice.getDevice()); + newState + ", device: " + cachedDevice);
} }
if (status == GATT_SUCCESS if (status == GATT_SUCCESS
&& newState == BluetoothProfile.STATE_CONNECTED) { && newState == BluetoothProfile.STATE_CONNECTED) {
@@ -481,14 +481,14 @@ public class HearingDevicePairingFragment extends RestrictedDashboardFragment im
super.onServicesDiscovered(gatt, status); super.onServicesDiscovered(gatt, status);
if (DEBUG) { if (DEBUG) {
Log.d(TAG, "onServicesDiscovered, status: " + status + ", device: " Log.d(TAG, "onServicesDiscovered, status: " + status + ", device: "
+ cachedDevice.getDevice()); + cachedDevice);
} }
if (status == GATT_SUCCESS) { if (status == GATT_SUCCESS) {
if (gatt.getService(BluetoothUuid.HEARING_AID.getUuid()) != null if (gatt.getService(BluetoothUuid.HEARING_AID.getUuid()) != null
|| gatt.getService(BluetoothUuid.HAS.getUuid()) != null) { || gatt.getService(BluetoothUuid.HAS.getUuid()) != null) {
if (DEBUG) { if (DEBUG) {
Log.d(TAG, "compatible with Android, device: " Log.d(TAG, "compatible with Android, device: "
+ cachedDevice.getDevice()); + cachedDevice);
} }
addDevice(cachedDevice); addDevice(cachedDevice);
} }

View File

@@ -178,7 +178,7 @@ public class HearingDevicePairingFragmentTest {
} }
@Test @Test
public void handleLeScanResult_isNotAndroidCompatible_() { public void handleLeScanResult_isNotAndroidCompatible_discoverServices() {
ScanResult scanResult = mock(ScanResult.class); ScanResult scanResult = mock(ScanResult.class);
doReturn(mDevice).when(scanResult).getDevice(); doReturn(mDevice).when(scanResult).getDevice();
doReturn(mCachedDevice).when(mCachedDeviceManager).findDevice(mDevice); doReturn(mCachedDevice).when(mCachedDeviceManager).findDevice(mDevice);
@@ -189,6 +189,19 @@ public class HearingDevicePairingFragmentTest {
verify(mFragment).discoverServices(mCachedDevice); verify(mFragment).discoverServices(mCachedDevice);
} }
@Test
public void handleLeScanResult_alreadyBonded_doNothing() {
ScanResult scanResult = mock(ScanResult.class);
doReturn(mDevice).when(scanResult).getDevice();
doReturn(mCachedDevice).when(mCachedDeviceManager).findDevice(mDevice);
doReturn(BluetoothDevice.BOND_BONDED).when(mCachedDevice).getBondState();
mFragment.handleLeScanResult(scanResult);
verify(mFragment, never()).addDevice(mCachedDevice);
verify(mFragment, never()).discoverServices(mCachedDevice);
}
@Test @Test
public void onProfileConnectionStateChanged_deviceConnected_inSelectedList_finish() { public void onProfileConnectionStateChanged_deviceConnected_inSelectedList_finish() {
doReturn(true).when(mCachedDevice).isConnected(); doReturn(true).when(mCachedDevice).isConnected();