M module-apps/application-onboarding/ApplicationOnBoarding.cpp => module-apps/application-onboarding/ApplicationOnBoarding.cpp +12 -1
@@ 19,9 19,11 @@
#include <application-settings/windows/system/ChangeTimeZone.hpp>
#include <apps-common/locks/data/PhoneLockMessages.hpp>
+#include <apps-common/locks/data/SimLockMessages.hpp>
#include <service-appmgr/Constants.hpp>
#include <service-appmgr/messages/GetCurrentDisplayLanguageResponse.hpp>
#include <service-db/agents/settings/SystemSettings.hpp>
+#include <EventStore.hpp>
namespace app
{
@@ 93,8 95,17 @@ namespace app
return sys::msgHandled();
});
+ connect(typeid(locks::SimSwitched), [&](sys::Message *msg) {
+ auto simState = Store::GSM::get()->sim;
+ if (simState == Store::GSM::SIM::SIM1 || simState == Store::GSM::SIM::SIM2) {
+ phoneLockSubject.setPhoneLock();
+ return sys::msgHandled();
+ }
+ return sys::msgNotHandled();
+ });
+
connect(typeid(cellular::msg::notification::SimReady), [&](sys::Message *msg) {
- if (getCurrentWindow()->getName() == gui::window::name::onBoarding_sim_select) {
+ if (getCurrentWindow()->getName() != gui::popup::window::sim_switching_window) {
phoneLockSubject.setPhoneLock();
return sys::msgHandled();
}
M module-apps/apps-common/locks/handlers/SimLockSubject.cpp => module-apps/apps-common/locks/handlers/SimLockSubject.cpp +1 -1
@@ 53,6 53,6 @@ namespace locks
void SimLockSubject::simSwitched()
{
- owner->bus.sendUnicast(std::make_shared<locks::SimSwitched>(), service::name::appmgr);
+ owner->bus.sendMulticast(std::make_shared<locks::SimSwitched>(), sys::BusChannel::PhoneLockChanges);
}
} // namespace locks
M pure_changelog.md => pure_changelog.md +1 -0
@@ 39,6 39,7 @@
* Fixed memory leaks in APN settings
* Fixed windows flow regarding PUK requests after too many PIN mistakes
* Fixed disappearing "confirm" button in PIN entering screen
+* Fixed looping on the SIM card selection screen
### Added
* Added a popup for changing the SIM card