summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Oleynik (GitHub) <aoleynik@luxoft.com>2017-11-13 10:38:43 +0200
committerAndriy Byzhynar <AByzhynar@luxoft.com>2018-01-18 12:03:51 +0200
commit48f0999d896d828b78eaeef825d1ec6b1a46fa4b (patch)
tree8a8124397bd3d1a1c7517ebf7d1ecdd3df40ad69
parentd92414259d14bce5ddd8cdf77776790d68cabc12 (diff)
downloadsdl_core-48f0999d896d828b78eaeef825d1ec6b1a46fa4b.tar.gz
Fixes sending 'transport_switch' signal back to adapter/device
After StopDevice call BT device channel is not usable anymore, so to talk back to system USB channel is used. Fixes unit test as well.
-rw-r--r--src/components/transport_manager/src/transport_manager_impl.cc12
-rw-r--r--src/components/transport_manager/test/transport_manager_impl_test.cc2
2 files changed, 8 insertions, 6 deletions
diff --git a/src/components/transport_manager/src/transport_manager_impl.cc b/src/components/transport_manager/src/transport_manager_impl.cc
index 05c54db210..2b4660700c 100644
--- a/src/components/transport_manager/src/transport_manager_impl.cc
+++ b/src/components/transport_manager/src/transport_manager_impl.cc
@@ -735,18 +735,20 @@ bool TransportManagerImpl::TryDeviceSwitch(
DeviceToAdapterMap::iterator value) {
LOG4CXX_AUTO_TRACE(logger_);
const auto device_uid = value->first;
- const auto adapter = value->second;
+ const auto old_adapter = value->second;
- if (transport_adapter::DeviceType::IOS_BT != adapter->GetDeviceType()) {
+ if (transport_adapter::DeviceType::IOS_BT != old_adapter->GetDeviceType()) {
LOG4CXX_DEBUG(logger_, "Adapter type is not IOS_BT.");
return false;
}
- adapter->StopDevice(device_uid);
- adapter->DeviceSwitched(device_uid);
+
+ const auto new_adapter = ta;
+ old_adapter->StopDevice(device_uid);
+ new_adapter->DeviceSwitched(device_uid);
DeactivateDeviceConnections(device_uid);
- value->second = ta;
+ value->second = new_adapter;
device_to_reconnect_ = device_uid;
const uint32_t timeout = get_settings().app_transport_change_timer() +
diff --git a/src/components/transport_manager/test/transport_manager_impl_test.cc b/src/components/transport_manager/test/transport_manager_impl_test.cc
index 2e0e66a7a9..cd5bb27a0f 100644
--- a/src/components/transport_manager/test/transport_manager_impl_test.cc
+++ b/src/components/transport_manager/test/transport_manager_impl_test.cc
@@ -1159,7 +1159,7 @@ TEST_F(TransportManagerImplTest,
transport_adapter::DeviceType::IOS_USB);
EXPECT_CALL(*mock_adapter_, StopDevice(mac_address_));
- EXPECT_CALL(*mock_adapter_, DeviceSwitched(mac_address_));
+ EXPECT_CALL(*second_mock_adapter, DeviceSwitched(mac_address_));
EXPECT_CALL(mock_transport_manager_settings_, app_transport_change_timer())
.WillOnce(Return(timeout));