~aleteoryx/muditaos

1e604614bf9a25db0ddece0030a97bd35818468c — Przemyslaw Brudny 4 years ago 0323d7c
[EGD-7919] Sim input popup interactions on back fix

Sim input popup interactions on back fix.
M module-apps/apps-common/locks/data/SimLockMessages.hpp => module-apps/apps-common/locks/data/SimLockMessages.hpp +3 -0
@@ 47,4 47,7 @@ namespace locks
    class DisableSimPin : public sys::DataMessage
    {};

    class ResetSimLockState : public sys::DataMessage
    {};

} // namespace locks

M module-apps/apps-common/locks/handlers/SimLockHandler.cpp => module-apps/apps-common/locks/handlers/SimLockHandler.cpp +7 -0
@@ 229,6 229,13 @@ namespace locks
        return sys::msgHandled();
    }

    sys::MessagePointer SimLockHandler::handleResetSimLockStateRequest()
    {
        lock.lockState = Lock::LockState::Unlocked;

        return sys::msgHandled();
    }

    sys::MessagePointer SimLockHandler::handleSimBlockedRequest()
    {
        setSimInputTypeAction(SimInputTypeAction::Blocked);

M module-apps/apps-common/locks/handlers/SimLockHandler.hpp => module-apps/apps-common/locks/handlers/SimLockHandler.hpp +1 -0
@@ 61,6 61,7 @@ namespace locks
        sys::MessagePointer handleSimPinChangeFailedRequest();
        sys::MessagePointer handleSimEnableRequest();
        sys::MessagePointer handleSimDisableRequest();
        sys::MessagePointer handleResetSimLockStateRequest();
        sys::MessagePointer handleSimBlockedRequest();
        sys::MessagePointer handleCMEErrorRequest(unsigned int errorCode);
        sys::MessagePointer handleSimUnlockedMessage();

M module-apps/apps-common/locks/handlers/SimLockSubject.cpp => module-apps/apps-common/locks/handlers/SimLockSubject.cpp +5 -0
@@ 21,6 21,11 @@ namespace locks
        owner->bus.sendUnicast(std::make_shared<locks::SetSim>(simSlot), service::name::appmgr);
    }

    void SimLockSubject::resetSimLockState()
    {
        owner->bus.sendUnicast(std::make_shared<locks::ResetSimLockState>(), service::name::appmgr);
    }

    void SimLockSubject::changeSimPin()
    {
        owner->bus.sendUnicast(std::make_shared<locks::ChangeSimPin>(), service::name::appmgr);

M module-apps/apps-common/locks/handlers/SimLockSubject.hpp => module-apps/apps-common/locks/handlers/SimLockSubject.hpp +1 -0
@@ 19,6 19,7 @@ namespace locks
        explicit SimLockSubject(sys::Service *owner);

        void setSim(cellular::api::SimSlot simSlot);
        void resetSimLockState();
        void changeSimPin();
        void enableSimPin();
        void disableSimPin();

M module-apps/apps-common/popups/lock-popups/SimLockInputWindow.cpp => module-apps/apps-common/popups/lock-popups/SimLockInputWindow.cpp +1 -0
@@ 87,6 87,7 @@ namespace gui
            else if (lock->isState(locks::Lock::LockState::InputInvalid)) {
                lock->consumeState();
            }
            application->getSimLockSubject().resetSimLockState();
            application->returnToPreviousWindow();
            return true;
        }

M products/PurePhone/services/appmgr/ApplicationManager.cpp => products/PurePhone/services/appmgr/ApplicationManager.cpp +3 -0
@@ 239,6 239,9 @@ namespace app::manager
            auto msg = static_cast<locks::UnLockSimInput *>(request);
            return simLockHandler.verifySimLockInput(msg->getInputData());
        });
        connect(typeid(locks::ResetSimLockState), [&](sys::Message *request) -> sys::MessagePointer {
            return simLockHandler.handleResetSimLockStateRequest();
        });
        connect(typeid(cellular::msg::notification::SimNeedPuk), [&](sys::Message *request) -> sys::MessagePointer {
            auto data = static_cast<cellular::msg::notification::SimNeedPuk *>(request);
            if (phoneLockHandler.isPhoneLocked()) {