diff --git a/apps/apps_container.cpp b/apps/apps_container.cpp index 050183f80..5136bf9b4 100644 --- a/apps/apps_container.cpp +++ b/apps/apps_container.cpp @@ -179,7 +179,7 @@ void AppsContainer::run() { if (!ExceptionRun(ecp)) { activeApp()->snapshot()->reset(); switchTo(appSnapshotAtIndex(0)); - activeApp()->displayWarning(I18n::Message::AppMemoryFull); + activeApp()->displayWarning(I18n::Message::AppMemoryFull, true); } Container::run(); switchTo(nullptr); diff --git a/escher/include/escher/app.h b/escher/include/escher/app.h index b86eeabfe..256e6924b 100644 --- a/escher/include/escher/app.h +++ b/escher/include/escher/app.h @@ -53,7 +53,7 @@ public: void displayModalViewController(ViewController * vc, float verticalAlignment, float horizontalAlignment, KDCoordinate topMargin = 0, KDCoordinate leftMargin = 0, KDCoordinate bottomMargin = 0, KDCoordinate rightMargin = 0); void dismissModalViewController(); - void displayWarning(I18n::Message warningMessage); + void displayWarning(I18n::Message warningMessage, bool specialExitKeys = false); const Container * container() const; uint8_t m_magic; // Poor man's RTTI diff --git a/escher/include/escher/warning_controller.h b/escher/include/escher/warning_controller.h index f89f9ffc6..a187d7263 100644 --- a/escher/include/escher/warning_controller.h +++ b/escher/include/escher/warning_controller.h @@ -9,8 +9,7 @@ class WarningController : public ViewController { public: WarningController(Responder * parentResponder, I18n::Message warningMessage); - void setLabel(I18n::Message message); - void setLabelAndSpecialExitKeys(I18n::Message message); + void setLabel(I18n::Message message, bool specialExitKeys); const char * title() override; View * view() override; bool handleEvent(Ion::Events::Event event) override; diff --git a/escher/src/app.cpp b/escher/src/app.cpp index 638cace85..59cbab7f3 100644 --- a/escher/src/app.cpp +++ b/escher/src/app.cpp @@ -96,8 +96,8 @@ void App::dismissModalViewController() { m_modalViewController.dismissModalViewController(); } -void App::displayWarning(I18n::Message warningMessage) { - m_warningController.setLabelAndSpecialExitKeys(warningMessage); +void App::displayWarning(I18n::Message warningMessage, bool specialExitKeys) { + m_warningController.setLabel(warningMessage, specialExitKeys); m_modalViewController.displayModalViewController(&m_warningController, 0.5f, 0.5f); } diff --git a/escher/src/warning_controller.cpp b/escher/src/warning_controller.cpp index cd36ec22f..5d9936d19 100644 --- a/escher/src/warning_controller.cpp +++ b/escher/src/warning_controller.cpp @@ -36,14 +36,9 @@ WarningController::WarningController(Responder * parentResponder, I18n::Message { } -void WarningController::setLabel(I18n::Message label) { +void WarningController::setLabel(I18n::Message label, bool specialExitKeys) { m_contentView.setLabel(label); - m_exitOnOKBackEXE = false; -} - -void WarningController::setLabelAndSpecialExitKeys(I18n::Message message) { - setLabel(message); - m_exitOnOKBackEXE = true; + m_exitOnOKBackEXE = specialExitKeys; } const char * WarningController::title() {