Loading android/app/src/com/android/bluetooth/bass_client/BassClientService.java +3 −13 Original line number Diff line number Diff line Loading @@ -54,8 +54,7 @@ import com.android.bluetooth.btservice.ProfileService; import com.android.bluetooth.btservice.ServiceFactory; import com.android.bluetooth.btservice.storage.DatabaseManager; import com.android.bluetooth.csip.CsipSetCoordinatorService; import com.android.bluetooth.flags.FeatureFlags; import com.android.bluetooth.flags.FeatureFlagsImpl; import com.android.bluetooth.flags.Flags; import com.android.bluetooth.le_audio.LeAudioService; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -108,7 +107,6 @@ public class BassClientService extends ProfileService { private final Map<BluetoothDevice, List<Integer>> mGroupManagedSources = new ConcurrentHashMap<>(); private final Map<BluetoothDevice, List<Integer>> mActiveSourceMap = new ConcurrentHashMap<>(); private final FeatureFlags mFeatureFlags; private final Map<BluetoothDevice, BluetoothLeBroadcastMetadata> mBroadcastMetadataMap = new ConcurrentHashMap<>(); private final LinkedList<BluetoothDevice> mPausedBroadcastSinks = new LinkedList<>(); Loading Loading @@ -152,13 +150,6 @@ public class BassClientService extends ProfileService { public BassClientService(Context ctx) { super(ctx); mFeatureFlags = new FeatureFlagsImpl(); } @VisibleForTesting BassClientService(Context ctx, FeatureFlags featureFlags) { super(ctx); mFeatureFlags = featureFlags; } public static boolean isEnabled() { Loading Loading @@ -876,8 +867,7 @@ public class BassClientService extends ProfileService { device, this, mAdapterService, mStateMachinesThread.getLooper(), mFeatureFlags); mStateMachinesThread.getLooper()); if (stateMachine != null) { mStateMachines.put(device, stateMachine); } Loading Loading @@ -1898,7 +1888,7 @@ public class BassClientService extends ProfileService { } private boolean isAllowedToAddSource() { if (mFeatureFlags.leaudioBroadcastAudioHandoverPolicies()) { if (Flags.leaudioBroadcastAudioHandoverPolicies()) { /* Check if should wait for status update */ if (mUnicastSourceStreamStatus.isEmpty()) { /* Assistant was not active, inform about activation */ Loading android/app/src/com/android/bluetooth/bass_client/BassClientStateMachine.java +6 −16 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ import com.android.bluetooth.BluetoothMethodProxy; import com.android.bluetooth.Utils; import com.android.bluetooth.btservice.AdapterService; import com.android.bluetooth.btservice.ProfileService; import com.android.bluetooth.flags.FeatureFlags; import com.android.bluetooth.flags.Flags; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.State; import com.android.internal.util.StateMachine; Loading @@ -70,7 +70,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Scanner; import java.util.UUID; import java.util.stream.IntStream; Loading Loading @@ -128,7 +127,6 @@ public class BassClientStateMachine extends StateMachine { private final Connected mConnected = new Connected(); private final Connecting mConnecting = new Connecting(); private final ConnectedProcessing mConnectedProcessing = new ConnectedProcessing(); private final FeatureFlags mFeatureFlags; private final List<Pair<ScanResult, Integer>> mSourceSyncRequestsQueue = new ArrayList<Pair<ScanResult, Integer>>(); Loading Loading @@ -186,14 +184,12 @@ public class BassClientStateMachine extends StateMachine { BassClientService svc, AdapterService adapterService, Looper looper, int connectTimeoutMs, FeatureFlags featureFlags) { int connectTimeoutMs) { super(TAG + "(" + device.toString() + ")", looper); mDevice = device; mService = svc; mAdapterService = adapterService; mConnectTimeoutMs = connectTimeoutMs; mFeatureFlags = Objects.requireNonNull(featureFlags, "Feature Flags cannot be null"); addState(mDisconnected); addState(mConnected); addState(mConnecting); Loading @@ -214,8 +210,7 @@ public class BassClientStateMachine extends StateMachine { BluetoothDevice device, BassClientService svc, AdapterService adapterService, Looper looper, FeatureFlags featureFlags) { Looper looper) { Log.d(TAG, "make for device " + device); if (!BassClientPeriodicAdvertisingManager Loading @@ -226,12 +221,7 @@ public class BassClientStateMachine extends StateMachine { BassClientStateMachine BassclientSm = new BassClientStateMachine( device, svc, adapterService, looper, BassConstants.CONNECT_TIMEOUT_MS, featureFlags); device, svc, adapterService, looper, BassConstants.CONNECT_TIMEOUT_MS); BassclientSm.start(); return BassclientSm; } Loading Loading @@ -646,7 +636,7 @@ public class BassClientStateMachine extends StateMachine { } } metaData.setEncrypted(encrypted); if (mFeatureFlags.leaudioBroadcastMonitorSourceSyncStatus()) { if (Flags.leaudioBroadcastMonitorSourceSyncStatus()) { // update the rssi value ScanResult scanRes = mService.getCachedBroadcast(result.getBroadcastId()); if (scanRes != null) { Loading Loading @@ -1185,7 +1175,7 @@ public class BassClientStateMachine extends StateMachine { @Override public void onSyncLost(int syncHandle) { log("OnSyncLost" + syncHandle); if (mFeatureFlags.leaudioBroadcastMonitorSourceSyncStatus()) { if (Flags.leaudioBroadcastMonitorSourceSyncStatus()) { int broadcastId = mService.getBroadcastIdForSyncHandle(syncHandle); if (broadcastId != BassConstants.INVALID_BROADCAST_ID) { log("Notify broadcast source lost, broadcast id: " + broadcastId); Loading android/app/src/com/android/bluetooth/bass_client/BassObjectsFactory.java +2 −5 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import android.util.Log; import com.android.bluetooth.Utils; import com.android.bluetooth.btservice.AdapterService; import com.android.bluetooth.flags.FeatureFlags; import com.android.internal.annotations.VisibleForTesting; /** Loading Loading @@ -70,16 +69,14 @@ public class BassObjectsFactory { * @param device the remote device associated with this state machine * @param svc the bass client service * @param looper the thread that the state machine is supposed to run on * @param featureFlags feature flag from bass client service * @return a state machine that is initialized and started, ready to go */ public BassClientStateMachine makeStateMachine( BluetoothDevice device, BassClientService svc, AdapterService adapterService, Looper looper, FeatureFlags featureFlags) { return BassClientStateMachine.make(device, svc, adapterService, looper, featureFlags); Looper looper) { return BassClientStateMachine.make(device, svc, adapterService, looper); } /** Loading android/app/tests/unit/src/com/android/bluetooth/bass_client/BassClientServiceTest.java +13 −8 Original line number Diff line number Diff line Loading @@ -68,7 +68,6 @@ import com.android.bluetooth.btservice.AdapterService; import com.android.bluetooth.btservice.ServiceFactory; import com.android.bluetooth.btservice.storage.DatabaseManager; import com.android.bluetooth.csip.CsipSetCoordinatorService; import com.android.bluetooth.flags.FakeFeatureFlagsImpl; import com.android.bluetooth.flags.Flags; import com.android.bluetooth.le_audio.LeAudioService; Loading Loading @@ -139,7 +138,6 @@ public class BassClientServiceTest { private BluetoothDevice mCurrentDevice; private BluetoothDevice mCurrentDevice1; private BassIntentReceiver mBassIntentReceiver; private FakeFeatureFlagsImpl mFakeFlagsImpl; @Spy private BassObjectsFactory mObjectsFactory = BassObjectsFactory.getInstance(); @Mock private AdapterService mAdapterService; Loading Loading @@ -240,14 +238,11 @@ public class BassClientServiceTest { return stateMachine; }) .when(mObjectsFactory) .makeStateMachine(any(), any(), any(), any(), any()); .makeStateMachine(any(), any(), any(), any()); doReturn(mBluetoothLeScannerWrapper).when(mObjectsFactory) .getBluetoothLeScannerWrapper(any()); mFakeFlagsImpl = new FakeFeatureFlagsImpl(); mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_AUDIO_HANDOVER_POLICIES, false); mBassClientService = new BassClientService(mTargetContext, mFakeFlagsImpl); mBassClientService = new BassClientService(mTargetContext); mBassClientService.start(); mBassClientService.setAvailable(true); Loading Loading @@ -355,7 +350,6 @@ public class BassClientServiceTest { eq(mCurrentDevice), eq(mBassClientService), eq(mAdapterService), any(), any()); BassClientStateMachine stateMachine = mStateMachines.get(mCurrentDevice); assertThat(stateMachine).isNotNull(); Loading Loading @@ -499,10 +493,21 @@ public class BassClientServiceTest { -1)); } private void handleHandoverSupport() { if (Flags.leaudioBroadcastAudioHandoverPolicies()) { /* Unicast finished streaming */ mBassClientService.handleUnicastSourceStreamStatusChange( 2 /* STATUS_LOCAL_STREAM_SUSPENDED */); } } private void verifyAddSourceForGroup(BluetoothLeBroadcastMetadata meta) { // Add broadcast source mBassClientService.addSource(mCurrentDevice, meta, true); /* In case if device supporth handover, Source stream status needs to be updated */ handleHandoverSupport(); // Verify all group members getting ADD_BCAST_SOURCE message assertThat(mStateMachines.size()).isEqualTo(2); for (BassClientStateMachine sm: mStateMachines.values()) { Loading android/app/tests/unit/src/com/android/bluetooth/bass_client/BassClientStateMachineTest.java +8 −14 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ import android.os.Bundle; import android.os.HandlerThread; import android.os.Looper; import android.os.Message; import android.platform.test.flag.junit.SetFlagsRule; import androidx.test.InstrumentationRegistry; import androidx.test.filters.MediumTest; Loading @@ -91,8 +92,6 @@ import com.android.bluetooth.BluetoothMethodProxy; import com.android.bluetooth.TestUtils; import com.android.bluetooth.Utils; import com.android.bluetooth.btservice.AdapterService; import com.android.bluetooth.flags.FakeFeatureFlagsImpl; import com.android.bluetooth.flags.FeatureFlags; import com.android.bluetooth.flags.Flags; import org.hamcrest.core.IsInstanceOf; Loading Loading @@ -120,6 +119,8 @@ public class BassClientStateMachineTest { @Rule public final MockitoRule mockito = MockitoJUnit.rule(); @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private static final int CONNECTION_TIMEOUT_MS = 1_000; private static final int TIMEOUT_MS = 2_000; private static final int WAIT_MS = 1_200; Loading @@ -132,7 +133,6 @@ public class BassClientStateMachineTest { private BluetoothDevice mTestDevice; private BluetoothDevice mSourceTestDevice; private BluetoothDevice mEmptyTestDevice; private FakeFeatureFlagsImpl mFakeFlagsImpl; @Mock private AdapterService mAdapterService; @Mock private BassClientService mBassClientService; Loading @@ -150,9 +150,6 @@ public class BassClientStateMachineTest { TestUtils.setAdapterService(mAdapterService); mFakeFlagsImpl = new FakeFeatureFlagsImpl(); mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS, false); mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_AUDIO_HANDOVER_POLICIES, false); BluetoothMethodProxy.setInstanceForTesting(mMethodProxy); doNothing().when(mMethodProxy).periodicAdvertisingManagerTransferSync( any(), any(), anyInt(), anyInt()); Loading Loading @@ -183,9 +180,7 @@ public class BassClientStateMachineTest { mBassClientService, mAdapterService, mHandlerThread.getLooper(), CONNECTION_TIMEOUT_MS, mFakeFlagsImpl); assertThat(mBassClientStateMachine).isNotNull(); CONNECTION_TIMEOUT_MS); mBassClientStateMachine.start(); } Loading Loading @@ -1941,7 +1936,7 @@ public class BassClientStateMachineTest { @Test public void periodicAdvertisingCallbackOnSyncLost_notifySourceLost() { mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS, true); mSetFlagsRule.enableFlags(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS); PeriodicAdvertisingCallback cb = mBassClientStateMachine.mLocalPeriodicAdvCallback; BassClientService.Callbacks callbacks = Mockito.mock(BassClientService.Callbacks.class); int syncHandle = 1; Loading @@ -1955,7 +1950,7 @@ public class BassClientStateMachineTest { @Test public void periodicAdvertisingCallbackOnBigInfoAdvertisingReport_updateRssi() { mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS, true); mSetFlagsRule.enableFlags(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS); PeriodicAdvertisingCallback cb = mBassClientStateMachine.mLocalPeriodicAdvCallback; BassClientService.Callbacks callbacks = Mockito.mock(BassClientService.Callbacks.class); int testRssi = -40; Loading Loading @@ -2178,9 +2173,8 @@ public class BassClientStateMachineTest { BassClientService service, AdapterService adapterService, Looper looper, int connectTimeout, FeatureFlags featureFlags) { super(device, service, adapterService, looper, connectTimeout, featureFlags); int connectTimeout) { super(device, service, adapterService, looper, connectTimeout); } @Override Loading Loading
android/app/src/com/android/bluetooth/bass_client/BassClientService.java +3 −13 Original line number Diff line number Diff line Loading @@ -54,8 +54,7 @@ import com.android.bluetooth.btservice.ProfileService; import com.android.bluetooth.btservice.ServiceFactory; import com.android.bluetooth.btservice.storage.DatabaseManager; import com.android.bluetooth.csip.CsipSetCoordinatorService; import com.android.bluetooth.flags.FeatureFlags; import com.android.bluetooth.flags.FeatureFlagsImpl; import com.android.bluetooth.flags.Flags; import com.android.bluetooth.le_audio.LeAudioService; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -108,7 +107,6 @@ public class BassClientService extends ProfileService { private final Map<BluetoothDevice, List<Integer>> mGroupManagedSources = new ConcurrentHashMap<>(); private final Map<BluetoothDevice, List<Integer>> mActiveSourceMap = new ConcurrentHashMap<>(); private final FeatureFlags mFeatureFlags; private final Map<BluetoothDevice, BluetoothLeBroadcastMetadata> mBroadcastMetadataMap = new ConcurrentHashMap<>(); private final LinkedList<BluetoothDevice> mPausedBroadcastSinks = new LinkedList<>(); Loading Loading @@ -152,13 +150,6 @@ public class BassClientService extends ProfileService { public BassClientService(Context ctx) { super(ctx); mFeatureFlags = new FeatureFlagsImpl(); } @VisibleForTesting BassClientService(Context ctx, FeatureFlags featureFlags) { super(ctx); mFeatureFlags = featureFlags; } public static boolean isEnabled() { Loading Loading @@ -876,8 +867,7 @@ public class BassClientService extends ProfileService { device, this, mAdapterService, mStateMachinesThread.getLooper(), mFeatureFlags); mStateMachinesThread.getLooper()); if (stateMachine != null) { mStateMachines.put(device, stateMachine); } Loading Loading @@ -1898,7 +1888,7 @@ public class BassClientService extends ProfileService { } private boolean isAllowedToAddSource() { if (mFeatureFlags.leaudioBroadcastAudioHandoverPolicies()) { if (Flags.leaudioBroadcastAudioHandoverPolicies()) { /* Check if should wait for status update */ if (mUnicastSourceStreamStatus.isEmpty()) { /* Assistant was not active, inform about activation */ Loading
android/app/src/com/android/bluetooth/bass_client/BassClientStateMachine.java +6 −16 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ import com.android.bluetooth.BluetoothMethodProxy; import com.android.bluetooth.Utils; import com.android.bluetooth.btservice.AdapterService; import com.android.bluetooth.btservice.ProfileService; import com.android.bluetooth.flags.FeatureFlags; import com.android.bluetooth.flags.Flags; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.State; import com.android.internal.util.StateMachine; Loading @@ -70,7 +70,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Scanner; import java.util.UUID; import java.util.stream.IntStream; Loading Loading @@ -128,7 +127,6 @@ public class BassClientStateMachine extends StateMachine { private final Connected mConnected = new Connected(); private final Connecting mConnecting = new Connecting(); private final ConnectedProcessing mConnectedProcessing = new ConnectedProcessing(); private final FeatureFlags mFeatureFlags; private final List<Pair<ScanResult, Integer>> mSourceSyncRequestsQueue = new ArrayList<Pair<ScanResult, Integer>>(); Loading Loading @@ -186,14 +184,12 @@ public class BassClientStateMachine extends StateMachine { BassClientService svc, AdapterService adapterService, Looper looper, int connectTimeoutMs, FeatureFlags featureFlags) { int connectTimeoutMs) { super(TAG + "(" + device.toString() + ")", looper); mDevice = device; mService = svc; mAdapterService = adapterService; mConnectTimeoutMs = connectTimeoutMs; mFeatureFlags = Objects.requireNonNull(featureFlags, "Feature Flags cannot be null"); addState(mDisconnected); addState(mConnected); addState(mConnecting); Loading @@ -214,8 +210,7 @@ public class BassClientStateMachine extends StateMachine { BluetoothDevice device, BassClientService svc, AdapterService adapterService, Looper looper, FeatureFlags featureFlags) { Looper looper) { Log.d(TAG, "make for device " + device); if (!BassClientPeriodicAdvertisingManager Loading @@ -226,12 +221,7 @@ public class BassClientStateMachine extends StateMachine { BassClientStateMachine BassclientSm = new BassClientStateMachine( device, svc, adapterService, looper, BassConstants.CONNECT_TIMEOUT_MS, featureFlags); device, svc, adapterService, looper, BassConstants.CONNECT_TIMEOUT_MS); BassclientSm.start(); return BassclientSm; } Loading Loading @@ -646,7 +636,7 @@ public class BassClientStateMachine extends StateMachine { } } metaData.setEncrypted(encrypted); if (mFeatureFlags.leaudioBroadcastMonitorSourceSyncStatus()) { if (Flags.leaudioBroadcastMonitorSourceSyncStatus()) { // update the rssi value ScanResult scanRes = mService.getCachedBroadcast(result.getBroadcastId()); if (scanRes != null) { Loading Loading @@ -1185,7 +1175,7 @@ public class BassClientStateMachine extends StateMachine { @Override public void onSyncLost(int syncHandle) { log("OnSyncLost" + syncHandle); if (mFeatureFlags.leaudioBroadcastMonitorSourceSyncStatus()) { if (Flags.leaudioBroadcastMonitorSourceSyncStatus()) { int broadcastId = mService.getBroadcastIdForSyncHandle(syncHandle); if (broadcastId != BassConstants.INVALID_BROADCAST_ID) { log("Notify broadcast source lost, broadcast id: " + broadcastId); Loading
android/app/src/com/android/bluetooth/bass_client/BassObjectsFactory.java +2 −5 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import android.util.Log; import com.android.bluetooth.Utils; import com.android.bluetooth.btservice.AdapterService; import com.android.bluetooth.flags.FeatureFlags; import com.android.internal.annotations.VisibleForTesting; /** Loading Loading @@ -70,16 +69,14 @@ public class BassObjectsFactory { * @param device the remote device associated with this state machine * @param svc the bass client service * @param looper the thread that the state machine is supposed to run on * @param featureFlags feature flag from bass client service * @return a state machine that is initialized and started, ready to go */ public BassClientStateMachine makeStateMachine( BluetoothDevice device, BassClientService svc, AdapterService adapterService, Looper looper, FeatureFlags featureFlags) { return BassClientStateMachine.make(device, svc, adapterService, looper, featureFlags); Looper looper) { return BassClientStateMachine.make(device, svc, adapterService, looper); } /** Loading
android/app/tests/unit/src/com/android/bluetooth/bass_client/BassClientServiceTest.java +13 −8 Original line number Diff line number Diff line Loading @@ -68,7 +68,6 @@ import com.android.bluetooth.btservice.AdapterService; import com.android.bluetooth.btservice.ServiceFactory; import com.android.bluetooth.btservice.storage.DatabaseManager; import com.android.bluetooth.csip.CsipSetCoordinatorService; import com.android.bluetooth.flags.FakeFeatureFlagsImpl; import com.android.bluetooth.flags.Flags; import com.android.bluetooth.le_audio.LeAudioService; Loading Loading @@ -139,7 +138,6 @@ public class BassClientServiceTest { private BluetoothDevice mCurrentDevice; private BluetoothDevice mCurrentDevice1; private BassIntentReceiver mBassIntentReceiver; private FakeFeatureFlagsImpl mFakeFlagsImpl; @Spy private BassObjectsFactory mObjectsFactory = BassObjectsFactory.getInstance(); @Mock private AdapterService mAdapterService; Loading Loading @@ -240,14 +238,11 @@ public class BassClientServiceTest { return stateMachine; }) .when(mObjectsFactory) .makeStateMachine(any(), any(), any(), any(), any()); .makeStateMachine(any(), any(), any(), any()); doReturn(mBluetoothLeScannerWrapper).when(mObjectsFactory) .getBluetoothLeScannerWrapper(any()); mFakeFlagsImpl = new FakeFeatureFlagsImpl(); mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_AUDIO_HANDOVER_POLICIES, false); mBassClientService = new BassClientService(mTargetContext, mFakeFlagsImpl); mBassClientService = new BassClientService(mTargetContext); mBassClientService.start(); mBassClientService.setAvailable(true); Loading Loading @@ -355,7 +350,6 @@ public class BassClientServiceTest { eq(mCurrentDevice), eq(mBassClientService), eq(mAdapterService), any(), any()); BassClientStateMachine stateMachine = mStateMachines.get(mCurrentDevice); assertThat(stateMachine).isNotNull(); Loading Loading @@ -499,10 +493,21 @@ public class BassClientServiceTest { -1)); } private void handleHandoverSupport() { if (Flags.leaudioBroadcastAudioHandoverPolicies()) { /* Unicast finished streaming */ mBassClientService.handleUnicastSourceStreamStatusChange( 2 /* STATUS_LOCAL_STREAM_SUSPENDED */); } } private void verifyAddSourceForGroup(BluetoothLeBroadcastMetadata meta) { // Add broadcast source mBassClientService.addSource(mCurrentDevice, meta, true); /* In case if device supporth handover, Source stream status needs to be updated */ handleHandoverSupport(); // Verify all group members getting ADD_BCAST_SOURCE message assertThat(mStateMachines.size()).isEqualTo(2); for (BassClientStateMachine sm: mStateMachines.values()) { Loading
android/app/tests/unit/src/com/android/bluetooth/bass_client/BassClientStateMachineTest.java +8 −14 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ import android.os.Bundle; import android.os.HandlerThread; import android.os.Looper; import android.os.Message; import android.platform.test.flag.junit.SetFlagsRule; import androidx.test.InstrumentationRegistry; import androidx.test.filters.MediumTest; Loading @@ -91,8 +92,6 @@ import com.android.bluetooth.BluetoothMethodProxy; import com.android.bluetooth.TestUtils; import com.android.bluetooth.Utils; import com.android.bluetooth.btservice.AdapterService; import com.android.bluetooth.flags.FakeFeatureFlagsImpl; import com.android.bluetooth.flags.FeatureFlags; import com.android.bluetooth.flags.Flags; import org.hamcrest.core.IsInstanceOf; Loading Loading @@ -120,6 +119,8 @@ public class BassClientStateMachineTest { @Rule public final MockitoRule mockito = MockitoJUnit.rule(); @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private static final int CONNECTION_TIMEOUT_MS = 1_000; private static final int TIMEOUT_MS = 2_000; private static final int WAIT_MS = 1_200; Loading @@ -132,7 +133,6 @@ public class BassClientStateMachineTest { private BluetoothDevice mTestDevice; private BluetoothDevice mSourceTestDevice; private BluetoothDevice mEmptyTestDevice; private FakeFeatureFlagsImpl mFakeFlagsImpl; @Mock private AdapterService mAdapterService; @Mock private BassClientService mBassClientService; Loading @@ -150,9 +150,6 @@ public class BassClientStateMachineTest { TestUtils.setAdapterService(mAdapterService); mFakeFlagsImpl = new FakeFeatureFlagsImpl(); mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS, false); mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_AUDIO_HANDOVER_POLICIES, false); BluetoothMethodProxy.setInstanceForTesting(mMethodProxy); doNothing().when(mMethodProxy).periodicAdvertisingManagerTransferSync( any(), any(), anyInt(), anyInt()); Loading Loading @@ -183,9 +180,7 @@ public class BassClientStateMachineTest { mBassClientService, mAdapterService, mHandlerThread.getLooper(), CONNECTION_TIMEOUT_MS, mFakeFlagsImpl); assertThat(mBassClientStateMachine).isNotNull(); CONNECTION_TIMEOUT_MS); mBassClientStateMachine.start(); } Loading Loading @@ -1941,7 +1936,7 @@ public class BassClientStateMachineTest { @Test public void periodicAdvertisingCallbackOnSyncLost_notifySourceLost() { mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS, true); mSetFlagsRule.enableFlags(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS); PeriodicAdvertisingCallback cb = mBassClientStateMachine.mLocalPeriodicAdvCallback; BassClientService.Callbacks callbacks = Mockito.mock(BassClientService.Callbacks.class); int syncHandle = 1; Loading @@ -1955,7 +1950,7 @@ public class BassClientStateMachineTest { @Test public void periodicAdvertisingCallbackOnBigInfoAdvertisingReport_updateRssi() { mFakeFlagsImpl.setFlag(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS, true); mSetFlagsRule.enableFlags(Flags.FLAG_LEAUDIO_BROADCAST_MONITOR_SOURCE_SYNC_STATUS); PeriodicAdvertisingCallback cb = mBassClientStateMachine.mLocalPeriodicAdvCallback; BassClientService.Callbacks callbacks = Mockito.mock(BassClientService.Callbacks.class); int testRssi = -40; Loading Loading @@ -2178,9 +2173,8 @@ public class BassClientStateMachineTest { BassClientService service, AdapterService adapterService, Looper looper, int connectTimeout, FeatureFlags featureFlags) { super(device, service, adapterService, looper, connectTimeout, featureFlags); int connectTimeout) { super(device, service, adapterService, looper, connectTimeout); } @Override Loading