~aleteoryx/muditaos

61ebc08069909d2ea80e48cc160d3ef16ee04200 — Lefucjusz 2 years ago de5a92f
[MOS-929] Block executing call when phone number empty

Fix of the issue that when trying to call empty
number when entering number via keypad
on main screen, popup 'Something went wrong'
would appear, while no action should
happen in such case.
M module-apps/application-call/windows/CallWindow.cpp => module-apps/application-call/windows/CallWindow.cpp +3 -2
@@ 33,6 33,7 @@ namespace gui
        presenter.attachCallbacks();
        buildInterface();
    }

    CallWindow::~CallWindow() noexcept
    {
        presenter.clearModel();


@@ 43,6 44,7 @@ namespace gui
        destroyInterface();
        buildInterface();
    }

    void CallWindow::buildInterface()
    {
        AppWindow::buildInterface();


@@ 54,7 56,6 @@ namespace gui
        navBar->setText(nav_bar::Side::Right, utils::translate(style::strings::common::back));
        navBar->setText(gui::nav_bar::Side::Center, utils::translate(strings::message));

        // top circle image
        imageCircleTop = new gui::Image(this, imageCircleTop::x, imageCircleTop::y, 0, 0, imageCircleTop::name);
        imageCircleBottom =
            new gui::Image(this, imageCircleBottom::x, imageCircleBottom::y, 0, 0, imageCircleBottom::name);


@@ 244,6 245,7 @@ namespace gui
        navBar->setActive(gui::nav_bar::Side::Center, false);
        navBar->setActive(gui::nav_bar::Side::Right, false);
    }

    void CallWindow::setIncomingCallLayout(bool isValidCallerId)
    {
        navBar->setText(gui::nav_bar::Side::Left, utils::translate(strings::answer), true);


@@ 315,5 317,4 @@ namespace gui
    {
        speakerIcon->set(icon);
    }

} /* namespace gui */

M module-apps/application-call/windows/NumberWindow.cpp => module-apps/application-call/windows/NumberWindow.cpp +7 -5
@@ 6,14 6,11 @@
#include "CallSwitchData.hpp"
#include "NumberWindow.hpp"

#include <ContactRecord.hpp>
#include <gui/widgets/Image.hpp>
#include <gui/widgets/text/Label.hpp>
#include <gui/widgets/Window.hpp>
#include <i18n/i18n.hpp>
#include <text/modes/InputMode.hpp>
#include <service-appmgr/Controller.hpp>
#include <service-cellular/CellularServiceAPI.hpp>

#include <cassert>



@@ 79,15 76,20 @@ namespace gui

    bool NumberWindow::onInput(const InputEvent &inputEvent)
    {
        auto code = translator.handle(inputEvent.getRawKey(), InputMode({InputMode::phone}).get());
        const auto code = translator.handle(inputEvent.getRawKey(), InputMode({InputMode::phone}).get());

        if (inputEvent.isShortRelease()) {
            // Call function
            if (inputEvent.is(KeyCode::KEY_LF)) {
                if (enteredNumber.empty()) {
                    return false;
                }
                interface->handleCallEvent(enteredNumber);
                return true;
            }

            // Clear/back function
            else if (inputEvent.is(KeyCode::KEY_RF)) {
            if (inputEvent.is(KeyCode::KEY_RF)) {
                // if there isn't any char in phone number field return to previous application
                if (enteredNumber.empty()) {
                    formatter->Clear();

M pure_changelog.md => pure_changelog.md +1 -0
@@ 14,6 14,7 @@
* General improvement in Eink display and error handling
* Change roaming indicator to show domestic roaming as home network
* Optimized ServiceAudio power management
* Blocked call execution with empty phone number field

### Fixed