diff --git a/apps/apps_container.h b/apps/apps_container.h index 76fdf3612..7611dba15 100644 --- a/apps/apps_container.h +++ b/apps/apps_container.h @@ -4,7 +4,6 @@ #include "home/app.h" #include "on_boarding/app.h" #include "hardware_test/app.h" -#include "on_boarding/update_controller.h" #include "usb/app.h" #include "apps_window.h" #include "empty_battery_window.h" @@ -21,6 +20,10 @@ #include "picview/picview_app.h" #endif +#if EPSILON_SOFTWARE_UPDATE_PROMPT +#include "on_boarding/pop_up_controller.h" +#endif + #include class AppsContainer : public Container, ExamPopUpControllerDelegate { diff --git a/apps/on_boarding/Makefile b/apps/on_boarding/Makefile index 45a7ce92a..b11b5d216 100644 --- a/apps/on_boarding/Makefile +++ b/apps/on_boarding/Makefile @@ -3,7 +3,7 @@ app_objs += $(addprefix apps/on_boarding/,\ language_controller.o\ logo_controller.o\ logo_view.o\ - update_controller.o\ + pop_up_controller.o\ ) i18n_files += $(addprefix apps/on_boarding/,\ diff --git a/apps/on_boarding/app.h b/apps/on_boarding/app.h index a41fa72f1..11de77f28 100644 --- a/apps/on_boarding/app.h +++ b/apps/on_boarding/app.h @@ -4,7 +4,6 @@ #include #include "language_controller.h" #include "logo_controller.h" -#include "update_controller.h" namespace OnBoarding { diff --git a/apps/on_boarding/update_controller.cpp b/apps/on_boarding/pop_up_controller.cpp similarity index 73% rename from apps/on_boarding/update_controller.cpp rename to apps/on_boarding/pop_up_controller.cpp index ecc8d1e4e..928ce7d12 100644 --- a/apps/on_boarding/update_controller.cpp +++ b/apps/on_boarding/pop_up_controller.cpp @@ -1,21 +1,23 @@ -#include "update_controller.h" +#include "pop_up_controller.h" #include "../apps_container.h" #include namespace OnBoarding { -UpdateController::MessageViewWithSkip::MessageViewWithSkip(I18n::Message * messages, KDColor * colors, uint8_t numberOfMessages) : +#if EPSILON_SOFTWARE_UPDATE_PROMPT + +PopUpController::MessageViewWithSkip::MessageViewWithSkip(I18n::Message * messages, KDColor * colors, uint8_t numberOfMessages) : MessageView(messages, colors, numberOfMessages), m_skipView(KDFont::SmallFont, I18n::Message::Skip, 1.0f, 0.5f), m_okView() { } -int UpdateController::MessageViewWithSkip::numberOfSubviews() const { +int PopUpController::MessageViewWithSkip::numberOfSubviews() const { return MessageView::numberOfSubviews() + 2; } -View * UpdateController::MessageViewWithSkip::subviewAtIndex(int index) { +View * PopUpController::MessageViewWithSkip::subviewAtIndex(int index) { uint8_t numberOfMainMessages = MessageView::numberOfSubviews(); if (index < numberOfMainMessages) { return MessageView::subviewAtIndex(index); @@ -30,7 +32,7 @@ View * UpdateController::MessageViewWithSkip::subviewAtIndex(int index) { return nullptr; } -void UpdateController::MessageViewWithSkip::layoutSubviews() { +void PopUpController::MessageViewWithSkip::layoutSubviews() { // Layout the main message MessageView::layoutSubviews(); // Layout the "skip (OK)" @@ -42,6 +44,28 @@ void UpdateController::MessageViewWithSkip::layoutSubviews() { m_okView.setFrame(KDRect(width - okSize.width()-k_okMargin, height-okSize.height()-k_okMargin, okSize)); } +PopUpController::PopUpController(I18n::Message * messages, KDColor * colors, uint8_t numberOfMessages) : + ViewController(nullptr), + m_messageViewWithSkip(messages, colors, numberOfMessages) +{ +} + +bool PopUpController::handleEvent(Ion::Events::Event event) { + if (event != Ion::Events::Back && event != Ion::Events::OnOff && event != Ion::Events::USBPlug && event != Ion::Events::USBEnumeration) { + app()->dismissModalViewController(); + AppsContainer * appsContainer = (AppsContainer *)app()->container(); + if (appsContainer->activeApp()->snapshot() == appsContainer->onBoardingAppSnapshot()) { + appsContainer->switchTo(appsContainer->appSnapshotAtIndex(0)); + } + return true; + } + return false; +} + +#endif + +#if EPSILON_SOFTWARE_UPDATE_PROMPT + static I18n::Message sOnBoardingMessages[] = { I18n::Message::UpdateAvailable, I18n::Message::UpdateMessage1, @@ -59,21 +83,8 @@ static KDColor sOnBoardingColors[] = { Palette::YellowDark}; UpdateController::UpdateController() : - ViewController(nullptr), - m_messageViewWithSkip(sOnBoardingMessages, sOnBoardingColors, 6) -{ -} + PopUpController(sOnBoardingMessages, sOnBoardingColors, 6) {} -bool UpdateController::handleEvent(Ion::Events::Event event) { - if (event != Ion::Events::Back && event != Ion::Events::OnOff && event != Ion::Events::USBPlug && event != Ion::Events::USBEnumeration) { - app()->dismissModalViewController(); - AppsContainer * appsContainer = (AppsContainer *)app()->container(); - if (appsContainer->activeApp()->snapshot() == appsContainer->onBoardingAppSnapshot()) { - appsContainer->switchTo(appsContainer->appSnapshotAtIndex(0)); - } - return true; - } - return false; -} +#endif } diff --git a/apps/on_boarding/update_controller.h b/apps/on_boarding/pop_up_controller.h similarity index 70% rename from apps/on_boarding/update_controller.h rename to apps/on_boarding/pop_up_controller.h index e59a2ce53..21f0ac6cd 100644 --- a/apps/on_boarding/update_controller.h +++ b/apps/on_boarding/pop_up_controller.h @@ -1,5 +1,5 @@ -#ifndef ON_BOARDING_UPDATE_CONTROLLER_H -#define ON_BOARDING_UPDATE_CONTROLLER_H +#ifndef ON_BOARDING_POP_UP_CONTROLLER_H +#define ON_BOARDING_POP_UP_CONTROLLER_H #include #include "../i18n.h" @@ -8,9 +8,11 @@ namespace OnBoarding { -class UpdateController : public ViewController { +#if EPSILON_SOFTWARE_UPDATE_PROMPT + +class PopUpController : public ViewController { public: - UpdateController(); + PopUpController(I18n::Message * messages, KDColor * colors, uint8_t numberOfMessages); View * view() override { return &m_messageViewWithSkip; } bool handleEvent(Ion::Events::Event event) override; private: @@ -31,6 +33,17 @@ private: MessageViewWithSkip m_messageViewWithSkip; }; +#endif + +#if EPSILON_SOFTWARE_UPDATE_PROMPT + +class UpdateController : public PopUpController { +public: + UpdateController(); +}; + +#endif + } #endif