Merge "[Audiosharing] Only check the active state of lead device." into main

This commit is contained in:
Yiyi Shen
2023-12-06 08:08:43 +00:00
committed by Android (Google) Code Review

View File

@@ -42,6 +42,7 @@ import java.util.stream.Collectors;
public class AudioSharingUtils {
private static final String TAG = "AudioSharingUtils";
private static final boolean DEBUG = BluetoothUtils.D;
/**
* Fetch {@link CachedBluetoothDevice}s connected to the broadcast assistant. The devices are
@@ -77,6 +78,9 @@ public class AudioSharingUtils {
}
groupedDevices.get(groupId).add(cachedDevice);
}
if (DEBUG) {
Log.d(TAG, "fetchConnectedDevicesByGroupId: " + groupedDevices);
}
return groupedDevices;
}
@@ -221,16 +225,7 @@ public class AudioSharingUtils {
* @return Whether the device is an active le audio device.
*/
public static boolean isActiveLeAudioDevice(CachedBluetoothDevice cachedDevice) {
if (BluetoothUtils.isActiveLeAudioDevice(cachedDevice)) {
return true;
}
// Return true if member device is an active le audio device.
for (CachedBluetoothDevice device : cachedDevice.getMemberDevice()) {
if (BluetoothUtils.isActiveLeAudioDevice(device)) {
return true;
}
}
return false;
return BluetoothUtils.isActiveLeAudioDevice(cachedDevice);
}
/**
@@ -296,7 +291,10 @@ public class AudioSharingUtils {
}
}
if (targetDevice != null && !isActiveLeAudioDevice(targetDevice)) {
Log.d(TAG, "Set active device: " + targetDevice.getDevice().getAnonymizedAddress());
Log.d(
TAG,
"updateActiveDeviceIfNeeded, set active device: "
+ targetDevice.getDevice().getAnonymizedAddress());
targetDevice.setActive();
}
}