~aleteoryx/muditaos

dbb7b27c46f9b2722f13e4331d0d0c385972e523 — Wojciech Rzepecki 4 years ago 4f185d7
[BH-955] Fix onClose when popup displayed

no action on onClose when switched to popup window
M module-apps/apps-common/ApplicationCommon.cpp => module-apps/apps-common/ApplicationCommon.cpp +12 -4
@@ 540,9 540,17 @@ namespace app
            }
            if (!isCurrentWindow(msg->getWindowName())) {
                if (!windowsStack.isEmpty()) {
                    const auto closeReason = msg->getReason() == SwitchReason::PhoneLock
                                                 ? gui::Window::CloseReason::PhoneLock
                                                 : gui::Window::CloseReason::WindowSwitch;
                    auto closeReason = gui::Window::CloseReason::WindowSwitch;
                    switch (msg->getReason()) {
                    case SwitchReason::PhoneLock:
                        closeReason = gui::Window::CloseReason::PhoneLock;
                        break;
                    case SwitchReason::Popup:
                        closeReason = gui::Window::CloseReason::Popup;
                        break;
                    default:
                        break;
                    }
                    getCurrentWindow()->onClose(closeReason);
                }
                setActiveWindow(msg->getWindowName());


@@ 919,7 927,7 @@ namespace app
                         std::make_unique<gui::AlarmPopupRequestParams>(popupParams));
        }
        else {
            switchWindow(gui::popup::resolveWindowName(id));
            switchWindow(gui::popup::resolveWindowName(id), gui::ShowMode::GUI_SHOW_INIT, nullptr, SwitchReason::Popup);
        }
    }


M module-apps/apps-common/ApplicationCommon.hpp => module-apps/apps-common/ApplicationCommon.hpp +2 -1
@@ 81,7 81,8 @@ namespace app
    enum class SwitchReason
    {
        SwitchRequest,
        PhoneLock
        PhoneLock,
        Popup
    };

    struct StartInBackground

M module-gui/gui/widgets/Window.hpp => module-gui/gui/widgets/Window.hpp +2 -1
@@ 39,7 39,8 @@ namespace gui
        {
            ApplicationClose,
            WindowSwitch,
            PhoneLock
            PhoneLock,
            Popup
        };

        Window() = delete;

M products/BellHybrid/apps/application-bell-settings/windows/BellSettingsBedtimeToneWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/BellSettingsBedtimeToneWindow.cpp +3 -1
@@ 68,6 68,8 @@ namespace gui

    void BellSettingsBedtimeToneWindow::onClose(CloseReason reason)
    {
        presenter->eraseProviderData();
        if (reason != CloseReason::Popup) {
            presenter->eraseProviderData();
        }
    }
} /* namespace gui */

M products/BellHybrid/apps/application-bell-settings/windows/advanced/BellSettingsFrontlightWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/advanced/BellSettingsFrontlightWindow.cpp +4 -2
@@ 64,8 64,10 @@ namespace gui
            window::bell_finished::defaultName,
            BellFinishedWindowData::Factory::create("circle_success_big", window::name::bellSettingsAdvanced));
    }
    void BellSettingsFrontlightWindow::onClose(Window::CloseReason)
    void BellSettingsFrontlightWindow::onClose(Window::CloseReason reason)
    {
        presenter->eraseProviderData();
        if (reason != CloseReason::Popup) {
            presenter->eraseProviderData();
        }
    }
} /* namespace gui */

M products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsSnoozeWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsSnoozeWindow.cpp +4 -2
@@ 71,8 71,10 @@ namespace gui
            window::bell_finished::defaultName,
            BellFinishedWindowData::Factory::create("circle_success_big", BellSettingsAlarmSettingsMenuWindow::name));
    }
    void BellSettingsAlarmSettingsSnoozeWindow::onClose(Window::CloseReason)
    void BellSettingsAlarmSettingsSnoozeWindow::onClose(Window::CloseReason reason)
    {
        presenter->eraseProviderData();
        if (reason != CloseReason::Popup) {
            presenter->eraseProviderData();
        }
    }
} // namespace gui

M products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsWindow.cpp +3 -1
@@ 72,6 72,8 @@ namespace gui

    void BellSettingsAlarmSettingsWindow::onClose(CloseReason reason)
    {
        presenter->eraseProviderData();
        if (reason != CloseReason::Popup) {
            presenter->eraseProviderData();
        }
    }
} /* namespace gui */

M products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsPrewakeUpWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsPrewakeUpWindow.cpp +3 -1
@@ 71,6 71,8 @@ namespace gui

    void BellSettingsPrewakeUpWindow::onClose(CloseReason reason)
    {
        presenter->eraseProviderData();
        if (reason != CloseReason::Popup) {
            presenter->eraseProviderData();
        }
    }
} /* namespace gui */