From 1dcef4be76451fe23fffe74bff782021e24849f4 Mon Sep 17 00:00:00 2001 From: Ɓukasz Rymanowski Date: Mon, 17 Mar 2025 17:42:06 +0000 Subject: flag: Remove adm_fix_disconnect_of_set_member flag Flag has been delivered Bug: 374320313 Test: mmm packages/modules/Bluetooth Flag: EXEMPT, flag cleanup Change-Id: I2d35742a6205ef9bbd9e83bea35826c465f427a0 --- .../bluetooth/btservice/ActiveDeviceManager.java | 9 ---- .../btservice/ActiveDeviceManagerTest.java | 55 ---------------------- flags/active_device_manager.aconfig | 10 ---- 3 files changed, 74 deletions(-) diff --git a/android/app/src/com/android/bluetooth/btservice/ActiveDeviceManager.java b/android/app/src/com/android/bluetooth/btservice/ActiveDeviceManager.java index 46fda180fa..3482dea3a4 100644 --- a/android/app/src/com/android/bluetooth/btservice/ActiveDeviceManager.java +++ b/android/app/src/com/android/bluetooth/btservice/ActiveDeviceManager.java @@ -575,9 +575,6 @@ public class ActiveDeviceManager implements AdapterService.BluetoothStateCallbac boolean hasFallbackDevice = false; if (Objects.equals(mLeAudioActiveDevice, device)) { hasFallbackDevice = setFallbackDeviceActiveLocked(device); - if (!hasFallbackDevice && !Flags.admFixDisconnectOfSetMember()) { - leAudioService.removeActiveDevice(false); - } } leAudioService.deviceDisconnected(device, hasFallbackDevice); } @@ -1102,12 +1099,6 @@ public class ActiveDeviceManager implements AdapterService.BluetoothStateCallbac @GuardedBy("mLock") private boolean areSameGroupMembers(BluetoothDevice firstDevice, BluetoothDevice secondDevice) { - - if (!Flags.admFixDisconnectOfSetMember()) { - /* This function shall return false without the fix flag. */ - return false; - } - if (firstDevice == null || secondDevice == null) { return false; } diff --git a/android/app/tests/unit/src/com/android/bluetooth/btservice/ActiveDeviceManagerTest.java b/android/app/tests/unit/src/com/android/bluetooth/btservice/ActiveDeviceManagerTest.java index e4f6d08fbe..55dddd2cf2 100644 --- a/android/app/tests/unit/src/com/android/bluetooth/btservice/ActiveDeviceManagerTest.java +++ b/android/app/tests/unit/src/com/android/bluetooth/btservice/ActiveDeviceManagerTest.java @@ -50,7 +50,6 @@ import android.content.Context; import android.media.AudioDeviceInfo; import android.media.AudioManager; import android.platform.test.annotations.DisableFlags; -import android.platform.test.annotations.EnableFlags; import android.platform.test.flag.junit.SetFlagsRule; import android.util.ArrayMap; import android.util.SparseIntArray; @@ -925,7 +924,6 @@ public class ActiveDeviceManagerTest { /** One LE Audio is connected and disconnected later. Should then set active device to null. */ @Test - @EnableFlags(Flags.FLAG_ADM_FIX_DISCONNECT_OF_SET_MEMBER) public void lastLeAudioDisconnected_clearLeAudioActive() { when(mLeAudioService.getGroupId(mLeAudioDevice)).thenReturn(1); when(mLeAudioService.getLeadDevice(mLeAudioDevice)).thenReturn(mLeAudioDevice); @@ -940,22 +938,6 @@ public class ActiveDeviceManagerTest { verify(mLeAudioService).deviceDisconnected(mLeAudioDevice, false); } - /** One LE Audio is connected and disconnected later. Should then set active device to null. */ - @Test - @DisableFlags(Flags.FLAG_ADM_FIX_DISCONNECT_OF_SET_MEMBER) - public void lastLeAudioDisconnected_clearLeAudioActive_NoFixDisconnectFlag() { - when(mLeAudioService.getGroupId(mLeAudioDevice)).thenReturn(1); - when(mLeAudioService.getLeadDevice(mLeAudioDevice)).thenReturn(mLeAudioDevice); - - leAudioConnected(mLeAudioDevice); - mTestLooper.dispatchAll(); - verify(mLeAudioService).setActiveDevice(mLeAudioDevice); - - leAudioDisconnected(mLeAudioDevice); - mTestLooper.dispatchAll(); - verify(mLeAudioService).removeActiveDevice(false); - } - /** Two LE Audio are connected and active device is explicitly set. */ @Test public void leAudioActiveDeviceSelected_setActive() { @@ -1005,7 +987,6 @@ public class ActiveDeviceManagerTest { * fallback device should not be set to true active device to fallback device. */ @Test - @EnableFlags(Flags.FLAG_ADM_FIX_DISCONNECT_OF_SET_MEMBER) public void leAudioSecondDeviceDisconnected_noFallbackDeviceActive_ModeNormal() { when(mAudioManager.getMode()).thenReturn(AudioManager.MODE_NORMAL); @@ -1036,7 +1017,6 @@ public class ActiveDeviceManagerTest { * fallback device should not be set to true active device to fallback device. */ @Test - @EnableFlags(Flags.FLAG_ADM_FIX_DISCONNECT_OF_SET_MEMBER) public void leAudioSecondDeviceDisconnected_noFallbackDeviceActive_ModeInCall() { when(mAudioManager.getMode()).thenReturn(AudioManager.MODE_IN_CALL); @@ -1067,7 +1047,6 @@ public class ActiveDeviceManagerTest { * fallback device should not be set to true active device to fallback device. */ @Test - @EnableFlags(Flags.FLAG_ADM_FIX_DISCONNECT_OF_SET_MEMBER) public void twoLeAudioSets_OneSetDisconnected_FallbackToAnotherOne_ModeNormal() { when(mAudioManager.getMode()).thenReturn(AudioManager.MODE_NORMAL); @@ -1114,7 +1093,6 @@ public class ActiveDeviceManagerTest { * fallback device should not be set to true active device to fallback device. */ @Test - @EnableFlags(Flags.FLAG_ADM_FIX_DISCONNECT_OF_SET_MEMBER) public void twoLeAudioSets_OneSetDisconnected_FallbackToAnotherOne_ModeInCall() { when(mAudioManager.getMode()).thenReturn(AudioManager.MODE_IN_CALL); @@ -1295,7 +1273,6 @@ public class ActiveDeviceManagerTest { } @Test - @EnableFlags(Flags.FLAG_ADM_FIX_DISCONNECT_OF_SET_MEMBER) public void leAudioSetConnectedGroupThenDisconnected_noFallback() { when(mAudioManager.getMode()).thenReturn(AudioManager.MODE_NORMAL); @@ -1326,38 +1303,6 @@ public class ActiveDeviceManagerTest { order.verify(mLeAudioService).deviceDisconnected(mLeAudioDevice, false); } - @Test - @DisableFlags(Flags.FLAG_ADM_FIX_DISCONNECT_OF_SET_MEMBER) - public void leAudioSetConnectedGroupThenDisconnected_noFallback_NoFixDisconnectFlag() { - when(mAudioManager.getMode()).thenReturn(AudioManager.MODE_NORMAL); - - when(mLeAudioService.getGroupId(mLeAudioDevice)).thenReturn(1); - when(mLeAudioService.getGroupId(mLeAudioDevice2)).thenReturn(1); - when(mLeAudioService.getLeadDevice(mLeAudioDevice2)).thenReturn(mLeAudioDevice); - when(mLeAudioService.getLeadDevice(mLeAudioDevice)).thenReturn(mLeAudioDevice); - - InOrder order = inOrder(mLeAudioService); - - leAudioConnected(mLeAudioDevice); - mTestLooper.dispatchAll(); - order.verify(mLeAudioService).setActiveDevice(mLeAudioDevice); - - leAudioConnected(mLeAudioDevice2); - mTestLooper.dispatchAll(); - order.verify(mLeAudioService, never()).setActiveDevice(any()); - - leAudioDisconnected(mLeAudioDevice2); - mTestLooper.dispatchAll(); - order.verify(mLeAudioService, never()).setActiveDevice(any()); - order.verify(mLeAudioService, never()).removeActiveDevice(anyBoolean()); - order.verify(mLeAudioService).deviceDisconnected(mLeAudioDevice2, false); - - leAudioDisconnected(mLeAudioDevice); - mTestLooper.dispatchAll(); - order.verify(mLeAudioService).removeActiveDevice(false); - order.verify(mLeAudioService).deviceDisconnected(mLeAudioDevice, false); - } - /** * An A2DP connected. An LE Audio connected. The LE Audio disconnected. Then the A2DP should be * the active one. diff --git a/flags/active_device_manager.aconfig b/flags/active_device_manager.aconfig index ebaf40fdb9..bd55d35e16 100644 --- a/flags/active_device_manager.aconfig +++ b/flags/active_device_manager.aconfig @@ -1,16 +1,6 @@ package: "com.android.bluetooth.flags" container: "com.android.bt" -flag { - name: "adm_fix_disconnect_of_set_member" - namespace: "bluetooth" - description: "Fix disconnecting of the set member device. Make sure the other set member is not considered as fallback device." - bug: "374320313" - metadata { - purpose: PURPOSE_BUGFIX - } -} - flag { name: "adm_remove_handling_wired" namespace: "bluetooth" -- cgit v1.2.3-59-g8ed1b