From 663177ad49b2c0c476ad1d2779050b4d4f07a7f2 Mon Sep 17 00:00:00 2001 From: Lefucjusz Date: Fri, 4 Aug 2023 15:37:07 +0200 Subject: [PATCH] [MOS-170] Report domestic roaming as home network Changed behaviour of roaming indicator so that domestic roaming is displayed as home network. --- .../windows/network/SimCardsWindow.cpp | 6 +- module-cellular/at/response.cpp | 87 +++++++++++-------- module-cellular/at/response.hpp | 17 ++-- .../service-cellular/CellularServiceAPI.cpp | 2 + .../service-cellular/ServiceCellular.cpp | 60 +++++++++++-- .../service-cellular/ServiceCellular.hpp | 1 + .../src/ServiceCellularPriv.cpp | 14 ++- .../src/volte/VolteAllowedList.cpp | 2 +- .../src/volte/VolteAllowedListInterface.hpp | 4 +- module-utils/EventStore/EventStore.cpp | 24 ++--- module-utils/EventStore/EventStore.hpp | 4 +- pure_changelog.md | 1 + 12 files changed, 149 insertions(+), 73 deletions(-) diff --git a/module-apps/application-settings/windows/network/SimCardsWindow.cpp b/module-apps/application-settings/windows/network/SimCardsWindow.cpp index d19fc263a3f1886961fc6f19df3c0a4617bea693..b09b220294e005f234320ebc9fad62d0225db04e 100644 --- a/module-apps/application-settings/windows/network/SimCardsWindow.cpp +++ b/module-apps/application-settings/windows/network/SimCardsWindow.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "SimCardsWindow.hpp" @@ -118,6 +118,8 @@ namespace gui const std::string &phoneNumber) { std::list optList; + + const auto &simText = (phoneNumber.empty() ? simStr : (simStr + " / " + phoneNumber)); optList.emplace_back(std::make_unique( utils::translate("app_settings_network_active_card"), [=](gui::Item &item) { return createSwitchSimAction(sim); }, @@ -125,7 +127,7 @@ namespace gui this, gui::option::SettingRightItem::Text, false, - simStr + " / " + phoneNumber, + simText, true)); optList.emplace_back(std::make_unique( diff --git a/module-cellular/at/response.cpp b/module-cellular/at/response.cpp index 890a9e4764d6a6ff44eb32012f2ddfdee4a2c12d..b35798800b6ddf65fbea697a44ebe2f371b159c1 100644 --- a/module-cellular/at/response.cpp +++ b/module-cellular/at/response.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "response.hpp" @@ -209,7 +209,7 @@ namespace at } return false; } - bool parseCSQ(std::string cellularResponse, uint32_t &result) + bool parseCSQ(std::string cellularResponse, std::uint32_t &result) { std::string CSQstring; if (parseCSQ(cellularResponse, CSQstring)) { @@ -228,12 +228,12 @@ namespace at } namespace creg { - bool isRegistered(uint32_t commandData) + bool isRegistered(std::uint32_t commandData) { // Creg command returns 1 when registered in home network, 5 when registered in roaming - constexpr uint32_t registeredHome = 1; - constexpr uint32_t registeredRoaming = 5; + constexpr std::uint32_t registeredHome = 1; + constexpr std::uint32_t registeredRoaming = 5; if (commandData == registeredHome || commandData == registeredRoaming) { return true; @@ -241,7 +241,7 @@ namespace at return false; } } // namespace creg - bool parseCREG(std::string &response, uint32_t &result) + bool parseCREG(std::string &response, std::uint32_t &result) { auto resp = response; auto pos = resp.find(','); @@ -258,15 +258,15 @@ namespace at } bool parseCREG(std::string &response, std::string &result) { - std::map cregCodes; - cregCodes.insert(std::pair(0, "Not registered")); - cregCodes.insert(std::pair(1, "Registered, home network")); - cregCodes.insert(std::pair(2, "Not registered, searching")); - cregCodes.insert(std::pair(3, "Registration denied")); - cregCodes.insert(std::pair(4, "Unknown")); - cregCodes.insert(std::pair(5, "Registered, roaming")); - - uint32_t cregValue = 0; + std::map cregCodes; + cregCodes.insert(std::pair(0, "Not registered")); + cregCodes.insert(std::pair(1, "Registered, home network")); + cregCodes.insert(std::pair(2, "Not registered, searching")); + cregCodes.insert(std::pair(3, "Registration denied")); + cregCodes.insert(std::pair(4, "Unknown")); + cregCodes.insert(std::pair(5, "Registered, roaming")); + + std::uint32_t cregValue = 0; if (parseCREG(response, cregValue)) { auto cregCode = cregCodes.find(cregValue); if (cregCode != cregCodes.end()) { @@ -293,11 +293,22 @@ namespace at namespace qnwinfo { - uint32_t parseNetworkFrequency(std::string &response) + auto constexpr qnwinfoResponseSize = 4; + + std::string parseOperatorCode(const std::string &response) { - auto tokens = utils::split(response, ","); + auto const tokens = utils::split(response, ","); + auto constexpr operatorTokenPos = 1; + + if (tokens.size() != qnwinfoResponseSize) { + return ""; + } + return tokens[operatorTokenPos]; + } - auto constexpr qnwinfoResponseSize = 4; + std::uint32_t parseNetworkFrequency(std::string &response) + { + auto tokens = utils::split(response, ","); auto constexpr bandTokenPos = 2; if (tokens.size() == qnwinfoResponseSize) { @@ -313,7 +324,7 @@ namespace at } return 0; } - uint32_t parseNumericBandString(std::string &string) + std::uint32_t parseNumericBandString(std::string &string) { utils::findAndReplaceAll(string, gsmString, ""); utils::findAndReplaceAll(string, wcdmaString, ""); @@ -324,27 +335,27 @@ namespace at utils::toNumeric(string, freq); return freq; } - uint32_t parseLteBandString(std::string &string) + std::uint32_t parseLteBandString(std::string &string) { - std::map lteFreqs; - lteFreqs.insert(std::pair(band_1, band_1_freq)); - lteFreqs.insert(std::pair(band_2, band_2_freq)); - lteFreqs.insert(std::pair(band_3, band_3_freq)); - lteFreqs.insert(std::pair(band_4, band_4_freq)); - lteFreqs.insert(std::pair(band_5, band_5_freq)); - lteFreqs.insert(std::pair(band_7, band_7_freq)); - lteFreqs.insert(std::pair(band_8, band_8_freq)); - lteFreqs.insert(std::pair(band_12, band_12_freq)); - lteFreqs.insert(std::pair(band_13, band_13_freq)); - lteFreqs.insert(std::pair(band_18, band_18_freq)); - lteFreqs.insert(std::pair(band_20, band_20_freq)); - lteFreqs.insert(std::pair(band_25, band_25_freq)); - lteFreqs.insert(std::pair(band_26, band_26_freq)); - lteFreqs.insert(std::pair(band_28, band_28_freq)); - lteFreqs.insert(std::pair(band_38, band_38_freq)); - lteFreqs.insert(std::pair(band_40, band_40_freq)); - lteFreqs.insert(std::pair(band_41, band_41_freq)); + std::map lteFreqs; + lteFreqs.insert(std::pair(band_1, band_1_freq)); + lteFreqs.insert(std::pair(band_2, band_2_freq)); + lteFreqs.insert(std::pair(band_3, band_3_freq)); + lteFreqs.insert(std::pair(band_4, band_4_freq)); + lteFreqs.insert(std::pair(band_5, band_5_freq)); + lteFreqs.insert(std::pair(band_7, band_7_freq)); + lteFreqs.insert(std::pair(band_8, band_8_freq)); + lteFreqs.insert(std::pair(band_12, band_12_freq)); + lteFreqs.insert(std::pair(band_13, band_13_freq)); + lteFreqs.insert(std::pair(band_18, band_18_freq)); + lteFreqs.insert(std::pair(band_20, band_20_freq)); + lteFreqs.insert(std::pair(band_25, band_25_freq)); + lteFreqs.insert(std::pair(band_26, band_26_freq)); + lteFreqs.insert(std::pair(band_28, band_28_freq)); + lteFreqs.insert(std::pair(band_38, band_38_freq)); + lteFreqs.insert(std::pair(band_40, band_40_freq)); + lteFreqs.insert(std::pair(band_41, band_41_freq)); auto constexpr toRemove = "LTE BAND "; auto constexpr emptyString = ""; diff --git a/module-cellular/at/response.hpp b/module-cellular/at/response.hpp index 7e00f4aac242423975af545bb1269ad38d493f94..ccaf531a8e55e7b05dca623fd4b8780a4205d61e 100644 --- a/module-cellular/at/response.hpp +++ b/module-cellular/at/response.hpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once @@ -181,8 +181,8 @@ namespace at std::optional getTokensForATResults(const at::Result &resp, std::string_view head); bool parseCSQ(std::string response, std::string &result); - bool parseCSQ(std::string cellularResponse, uint32_t &result); - bool parseCREG(std::string &response, uint32_t &result); + bool parseCSQ(std::string cellularResponse, std::uint32_t &result); + bool parseCREG(std::string &response, std::uint32_t &result); bool parseCREG(std::string &response, std::string &result); bool parseQNWINFO(std::string &response, std::string &result); bool parseQPINC(const at::Result &resp, qpinc::AttemptsCounters &ret); @@ -208,7 +208,7 @@ namespace at bool parseQCFG_IMS(const at::Result &resp, std::pair &ret); namespace creg { - bool isRegistered(uint32_t commandData); + bool isRegistered(std::uint32_t commandData); } namespace qnwinfo { @@ -255,14 +255,15 @@ namespace at auto constexpr band_40_freq = 2300; auto constexpr band_41_freq = 2500; - uint32_t parseNetworkFrequency(std::string &response); - uint32_t parseNumericBandString(std::string &string); - uint32_t parseLteBandString(std::string &string); + std::string parseOperatorCode(const std::string &response); + std::uint32_t parseNetworkFrequency(std::string &response); + std::uint32_t parseNumericBandString(std::string &string); + std::uint32_t parseLteBandString(std::string &string); } // namespace qnwinfo namespace clir { - constexpr uint32_t clirTokens = 2; + constexpr std::uint32_t clirTokens = 2; enum class ServiceState { diff --git a/module-services/service-cellular/CellularServiceAPI.cpp b/module-services/service-cellular/CellularServiceAPI.cpp index db5c18fdc400fa443290f4b9733c21fdc72e63e5..7f3478b22c57a647f347b42e7ed6bfb7b68fc167 100644 --- a/module-services/service-cellular/CellularServiceAPI.cpp +++ b/module-services/service-cellular/CellularServiceAPI.cpp @@ -197,6 +197,7 @@ bool CellularServiceAPI::GetCSQ(sys::Service *serv, std::string &response) } return false; } + bool CellularServiceAPI::GetCREG(sys::Service *serv, std::string &response) { auto msg = std::make_shared(); @@ -210,6 +211,7 @@ bool CellularServiceAPI::GetCREG(sys::Service *serv, std::string &response) } return false; } + bool CellularServiceAPI::GetQNWINFO(sys::Service *serv, std::string &response) { auto msg = std::make_shared(); diff --git a/module-services/service-cellular/ServiceCellular.cpp b/module-services/service-cellular/ServiceCellular.cpp index f54dbd57938e7d3062caf9ced7ab2f2375e3c46f..1fbf439fe03ae0f66cb5af176a81d47d716ede7c 100644 --- a/module-services/service-cellular/ServiceCellular.cpp +++ b/module-services/service-cellular/ServiceCellular.cpp @@ -1166,6 +1166,23 @@ bool ServiceCellular::getIMSI(std::string &destination, bool fullNumber) return false; } +bool ServiceCellular::getQNWINFO(std::string &destination) +{ + const auto channel = cmux->get(CellularMux::Channel::Commands); + if (channel == nullptr) { + LOG_ERROR("No cmux channel provided"); + return false; + } + + auto result = channel->cmd(at::AT::QNWINFO); + if (result.code != at::Result::Code::OK) { + LOG_ERROR("Failed to get QNWINFO"); + return false; + } + + return at::response::parseQNWINFO(result.response[0], destination); +} + std::vector ServiceCellular::getNetworkInfo() { std::vector data; @@ -1736,7 +1753,6 @@ void ServiceCellular::apnListChanged(const std::string &value) auto ServiceCellular::handleCellularAnswerIncomingCallMessage([[maybe_unused]] CellularMessage *msg) -> std::shared_ptr { - LOG_INFO("%s", __PRETTY_FUNCTION__); auto ret = ongoingCall->handle(call::event::Answer{}); return std::make_shared(ret); } @@ -1772,7 +1788,6 @@ namespace auto ServiceCellular::handleCellularCallRequestMessage(cellular::CallRequestMessage *msg) -> std::shared_ptr { - LOG_INFO("%s", __PRETTY_FUNCTION__); auto channel = cmux->get(CellularMux::Channel::Commands); if (channel == nullptr) { LOG_WARN("commands channel not ready"); @@ -1808,7 +1823,6 @@ auto ServiceCellular::handleCellularCallRequestMessage(cellular::CallRequestMess void ServiceCellular::handleCellularHangupCallMessage([[maybe_unused]] cellular::HangupCallMessage *msg) { - LOG_INFO("%s", __PRETTY_FUNCTION__); if (!ongoingCall->handle(call::event::Reject{})) { LOG_ERROR("Failed to end ongoing call"); } @@ -1874,7 +1888,6 @@ auto ServiceCellular::handleDBNotificationMessage(db::NotificationMessage *msg) auto ServiceCellular::handleCellularRingingMessage(cellular::RingingMessage *msg) -> std::shared_ptr { - LOG_INFO("%s", __PRETTY_FUNCTION__); return std::make_shared( ongoingCall->handle(call::event::StartCall{CallType::CT_OUTGOING, msg->number})); } @@ -2079,6 +2092,7 @@ auto ServiceCellular::handlePowerUpProcedureCompleteNotification([[maybe_unused] } return std::make_shared(true); } + auto ServiceCellular::handlePowerDownDeregisteringNotification([[maybe_unused]] sys::Message *msg) -> std::shared_ptr { @@ -2088,12 +2102,14 @@ auto ServiceCellular::handlePowerDownDeregisteringNotification([[maybe_unused]] } return std::make_shared(false); } + auto ServiceCellular::handlePowerDownDeregisteredNotification([[maybe_unused]] sys::Message *msg) -> std::shared_ptr { priv->state->set(State::ST::PowerDownWaiting); return std::make_shared(true); } + auto ServiceCellular::handleNewIncomingSMSNotification(sys::Message *msg) -> std::shared_ptr { auto message = static_cast(msg); @@ -2108,15 +2124,48 @@ auto ServiceCellular::handleSmsDoneNotification([[maybe_unused]] sys::Message *m auto resp = handleTextMessagesInit(); return std::make_shared(resp); } + auto ServiceCellular::handleSignalStrengthUpdateNotification([[maybe_unused]] sys::Message *msg) -> std::shared_ptr { return std::make_shared(false); } + auto ServiceCellular::handleNetworkStatusUpdateNotification([[maybe_unused]] sys::Message *msg) -> std::shared_ptr { - return std::make_shared(false); + constexpr auto mccLength = 3; + + if (Store::GSM::get()->getNetwork().status != Store::Network::Status::RegisteredRoaming) { + return std::make_shared(true); + } + + std::string simCardMcc{}; + if (!getIMSI(simCardMcc)) { + LOG_ERROR("Failed to get SIM card's MCC code!"); + return std::make_shared(false); + } + + std::string qnwinfo{}; + if (!getQNWINFO(qnwinfo)) { + LOG_ERROR("Failed to get QNWINFO!"); + return std::make_shared(false); + } + + const auto operatorMcc = at::response::qnwinfo::parseOperatorCode(qnwinfo).substr(0, mccLength); + if (operatorMcc.empty()) { + LOG_ERROR("Failed to get operator's MCC code!"); + return std::make_shared(false); + } + + if (simCardMcc == operatorMcc) { + LOG_INFO("SIM card MCC is the same as operator MCC (%s), phone is in domestic roaming", operatorMcc.c_str()); + + auto network = Store::GSM::get()->getNetwork(); + network.status = Store::Network::Status::RegisteredHomeNetwork; + Store::GSM::get()->setNetwork(network); + } + return std::make_shared(true); } auto ServiceCellular::handleUrcIncomingNotification([[maybe_unused]] sys::Message *msg) @@ -2143,7 +2192,6 @@ auto ServiceCellular::handleCellularSetFlightModeMessage(sys::Message *msg) -> s auto ServiceCellular::handleCellularRingNotification([[maybe_unused]] sys::Message *msg) -> std::shared_ptr { - LOG_INFO("%s", __PRETTY_FUNCTION__); ongoingCall->handle(call::event::RING{}); return std::make_shared(true); } diff --git a/module-services/service-cellular/service-cellular/ServiceCellular.hpp b/module-services/service-cellular/service-cellular/ServiceCellular.hpp index b8e17f232c0b247ae29632024cc8261ee0db5e53..bef15a1ccd808f3f1962ca284a3b86741ce36d57 100644 --- a/module-services/service-cellular/service-cellular/ServiceCellular.hpp +++ b/module-services/service-cellular/service-cellular/ServiceCellular.hpp @@ -93,6 +93,7 @@ class ServiceCellular : public sys::Service * @return true when succeed, false when fails */ bool getIMSI(std::string &destination, bool fullNumber = false); + bool getQNWINFO(std::string &destination); std::vector getNetworkInfo(); void externalUSSDRequestHandled(); diff --git a/module-services/service-cellular/src/ServiceCellularPriv.cpp b/module-services/service-cellular/src/ServiceCellularPriv.cpp index 5549b18546d9208463123eadb37f64acf87486e0..c12d2a5ff79bef575f1af0cb0d7e7adadb4aeaad 100644 --- a/module-services/service-cellular/src/ServiceCellularPriv.cpp +++ b/module-services/service-cellular/src/ServiceCellularPriv.cpp @@ -65,10 +65,9 @@ namespace cellular::internal auto channel = owner->cmux->get(CellularMux::Channel::Commands); auto permitVolte = volteCapability->isVolteAllowed(*channel); auto enableVolte = - owner->settings->getValue(settings::Cellular::volteEnabled, settings::SettingsScope::Global) == "1" - ? true - : false; - bool volteNeedReset = false; + owner->settings->getValue(settings::Cellular::volteEnabled, settings::SettingsScope::Global) == "1"; + auto volteNeedReset = false; + try { volteNeedReset = !volteHandler->switchVolte(*channel, permitVolte, enableVolte); auto notification = std::make_shared(volteHandler->getVolteState()); @@ -105,6 +104,7 @@ namespace cellular::internal void ServiceCellularPriv::connectSimCard() { using namespace cellular::msg; + /** * Request message handlers */ @@ -115,6 +115,7 @@ namespace cellular::internal simCard->handleSimCardSelected(); return std::make_shared(result); }); + owner->connect(typeid(request::sim::GetPinSettings), [&](sys::Message *) -> sys::MessagePointer { if (!simCard->isSimCardInserted()) { owner->bus.sendMulticast(); @@ -126,6 +127,7 @@ namespace cellular::internal } return std::make_shared(simLockState.value()); }); + owner->connect(typeid(request::sim::ChangePin), [&](sys::Message *request) -> sys::MessagePointer { auto msg = static_cast(request); if (!simCard->isSimCardInserted()) { @@ -134,6 +136,7 @@ namespace cellular::internal } return std::make_shared(simCard->handleChangePin(msg->oldPin, msg->pin)); }); + owner->connect(typeid(request::sim::UnblockWithPuk), [&](sys::Message *request) -> sys::MessagePointer { auto msg = static_cast(request); if (!simCard->isSimCardInserted()) { @@ -143,6 +146,7 @@ namespace cellular::internal return std::make_shared( simCard->handleUnblockWithPuk(msg->puk, msg->pin)); }); + owner->connect(typeid(request::sim::SetPinLock), [&](sys::Message *request) -> sys::MessagePointer { auto msg = static_cast(request); if (!simCard->isSimCardInserted()) { @@ -152,6 +156,7 @@ namespace cellular::internal return std::make_shared( simCard->handleSetPinLock(msg->pin, msg->pinLock), msg->pinLock); }); + owner->connect(typeid(request::sim::PinUnlock), [&](sys::Message *request) -> sys::MessagePointer { auto msg = static_cast(request); if (!simCard->isSimCardInserted()) { @@ -168,6 +173,7 @@ namespace cellular::internal simCard->handleTrayState(); return sys::MessageNone{}; }); + owner->connect(typeid(cellular::SimInsertedNotication), [&](sys::Message *request) -> sys::MessagePointer { auto message = static_cast(request); diff --git a/module-services/service-cellular/src/volte/VolteAllowedList.cpp b/module-services/service-cellular/src/volte/VolteAllowedList.cpp index cdc9f0a3dcea23d668f178af4021d28f47fc9be7..fc9f2a3dddad748f58ade62df59d5e439a94000a 100644 --- a/module-services/service-cellular/src/volte/VolteAllowedList.cpp +++ b/module-services/service-cellular/src/volte/VolteAllowedList.cpp @@ -26,7 +26,7 @@ namespace cellular::service { auto VolteAllowedList::isVolteAllowed(const std::string &imsi) const -> bool { - for (auto country : allowedList) { + for (const auto &country : allowedList) { if (country.isAllowed(imsi)) { LOG_INFO("MCC supported, VoLTE allowed."); return true; diff --git a/module-services/service-cellular/src/volte/VolteAllowedListInterface.hpp b/module-services/service-cellular/src/volte/VolteAllowedListInterface.hpp index 1ce9ba890c038e646eea49a9ee23aac62224d473..9ce47474cf4ab237a2c6412f4fc47cfcdfaebc76 100644 --- a/module-services/service-cellular/src/volte/VolteAllowedListInterface.hpp +++ b/module-services/service-cellular/src/volte/VolteAllowedListInterface.hpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once @@ -12,6 +12,6 @@ namespace cellular::service public: virtual ~VolteAllowedListInterface() = default; - auto virtual isVolteAllowed(const std::string &imsi) const -> bool = 0; + virtual auto isVolteAllowed(const std::string &imsi) const -> bool = 0; }; } // namespace cellular::service diff --git a/module-utils/EventStore/EventStore.cpp b/module-utils/EventStore/EventStore.cpp index f8f6381d12eed1b6d9e3746e690333f8dc4b65bb..461b4cd982075b093b6bde8aeb10728bf1f20fa7 100644 --- a/module-utils/EventStore/EventStore.cpp +++ b/module-utils/EventStore/EventStore.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "EventStore.hpp" @@ -46,15 +46,15 @@ namespace Store return ptr; } - void GSM::setSignalStrength(const SignalStrength &signalStrength) + void GSM::setSignalStrength(const SignalStrength &newSignalStrength) { cpp_freertos::LockGuard lock(mutex); LOG_INFO("Setting signal strength to rssi = %d dBm (%d) : %d bars", - signalStrength.rssidBm, - signalStrength.rssi, - static_cast(signalStrength.rssiBar)); + newSignalStrength.rssidBm, + newSignalStrength.rssi, + static_cast(newSignalStrength.rssiBar)); - this->signalStrength = signalStrength; + signalStrength = newSignalStrength; } SignalStrength GSM::getSignalStrength() const @@ -63,10 +63,10 @@ namespace Store return signalStrength; } - void GSM::setNetwork(const Network &network) + void GSM::setNetwork(const Network &newNetwork) { cpp_freertos::LockGuard lock(mutex); - this->network = network; + network = newNetwork; } Network GSM::getNetwork() const @@ -80,21 +80,25 @@ namespace Store cpp_freertos::LockGuard lock(mutex); return (sim == SIM::SIM1 || sim == SIM::SIM2); } + void GSM::setNetworkOperatorName(const std::string &newNetworkOperatorName) { cpp_freertos::LockGuard lock(mutex); networkOperatorName = newNetworkOperatorName; } + std::string GSM::getNetworkOperatorName() const { cpp_freertos::LockGuard lock(mutex); return networkOperatorName; } - void GSM::setTethering(const Tethering &tethering) + + void GSM::setTethering(const Tethering &newTethering) { cpp_freertos::LockGuard lock(mutex); - this->tethering = tethering; + tethering = newTethering; } + Tethering GSM::getTethering() const { cpp_freertos::LockGuard lock(mutex); diff --git a/module-utils/EventStore/EventStore.hpp b/module-utils/EventStore/EventStore.hpp index a5f86aba84ef74c2db820847e6b24369ade4617e..1a6a5b09f69bfeb99fa8f684566629fd64f2500a 100644 --- a/module-utils/EventStore/EventStore.hpp +++ b/module-utils/EventStore/EventStore.hpp @@ -168,7 +168,7 @@ namespace Store ON_INITIALIZED, /// modem is on, and it's fully initialized } modem = Modem::OFF; - void setSignalStrength(const SignalStrength &signalStrength); + void setSignalStrength(const SignalStrength &newSignalStrength); SignalStrength getSignalStrength() const; void setNetwork(const Network &network); @@ -177,7 +177,7 @@ namespace Store void setNetworkOperatorName(const std::string &newNetworkOperatorName); std::string getNetworkOperatorName() const; - void setTethering(const Tethering &tethering); + void setTethering(const Tethering &newTethering); Tethering getTethering() const; static GSM *get(); diff --git a/pure_changelog.md b/pure_changelog.md index e866b5edd2091f06658ebff125059a54eac8fbb0..650d9f387b9326a3ed6e982f63c8e11a3451e151 100644 --- a/pure_changelog.md +++ b/pure_changelog.md @@ -12,6 +12,7 @@ ### Changed / Improved * General improvement in Eink display and error handling +* Change roaming indicator to show domestic roaming as home network ### Fixed