fix(settings): Show passive info when device is connected but AAP unavailable

This commit is contained in:
darken
2026-04-14 11:28:41 +02:00
committed by Matthias Urhahn
parent 65a74e9bc1
commit a37b9b0213
5 changed files with 67 additions and 8 deletions
@@ -53,6 +53,7 @@ class DeviceSettingsViewModelTest : BaseTest() {
private lateinit var devicesFlow: MutableStateFlow<List<PodDevice>>
private lateinit var upgradeInfoFlow: MutableStateFlow<UpgradeRepo.Info>
private lateinit var connectedDevicesFlow: MutableStateFlow<List<BluetoothDevice2>>
private fun mockBondedDevice(address: BluetoothAddress): BluetoothDevice2 = mockk {
every { this@mockk.address } returns address
@@ -80,9 +81,11 @@ class DeviceSettingsViewModelTest : BaseTest() {
upgradeRepo = mockk<UpgradeRepo>().also {
every { it.upgradeInfo } returns upgradeInfoFlow
}
connectedDevicesFlow = MutableStateFlow(emptyList())
bluetoothManager = mockk(relaxed = true) {
every { isNudgeAvailable } returns true
every { bondedDevices() } returns flowOf(emptySet())
every { connectedDevices } returns connectedDevicesFlow
}
profilesRepo = mockk(relaxed = true)
generalSettings = mockk(relaxed = true)
@@ -275,4 +278,24 @@ class DeviceSettingsViewModelTest : BaseTest() {
sendFailed.command shouldBe AapCommand.SetDeviceName("NewName")
sendFailed.message shouldBe "socket closed"
}
@Test
fun `isClassicallyConnected is true when device address is in connected devices`() = runTest(testDispatcher) {
connectedDevicesFlow.value = listOf(mockBondedDevice(testAddress))
val vm = createViewModel()
vm.initialize(testAddress)
vm.state.first().isClassicallyConnected shouldBe true
}
@Test
fun `isClassicallyConnected is false when device address is not in connected devices`() = runTest(testDispatcher) {
connectedDevicesFlow.value = listOf(mockBondedDevice("XX:XX:XX:XX:XX:XX"))
val vm = createViewModel()
vm.initialize(testAddress)
vm.state.first().isClassicallyConnected shouldBe false
}
}
@@ -17,7 +17,6 @@ class AutoConnectLogicTest : BaseTest() {
autoConnect = AutoConnect(
bluetoothManager = mockk(relaxed = true),
deviceMonitor = mockk(relaxed = true),
generalSettings = mockk(relaxed = true),
)
}