[on_boarding] Add EPSILON_SOFTWARE_UPDATE_PROMPT flag to build

UpdateController only when required
This commit is contained in:
Émilie Feral
2018-10-12 10:31:28 +02:00
committed by LeaNumworks
parent c87adf79cc
commit b4143bb276
7 changed files with 36 additions and 4 deletions

View File

@@ -17,7 +17,9 @@ AppsContainer::AppsContainer() :
m_globalContext(),
m_variableBoxController(&m_globalContext),
m_examPopUpController(this),
#if EPSILON_SOFTWARE_UPDATE_PROMPT
m_updateController(),
#endif
m_batteryTimer(BatteryTimer(this)),
m_suspendTimer(SuspendTimer(this)),
m_backlightDimmingTimer(),
@@ -225,9 +227,11 @@ bool AppsContainer::updateAlphaLock() {
return m_window.updateAlphaLock();
}
#if EPSILON_SOFTWARE_UPDATE_PROMPT
OnBoarding::UpdateController * AppsContainer::updatePopUpController() {
return &m_updateController;
}
#endif
void AppsContainer::redrawWindow() {
m_window.redraw();

View File

@@ -48,7 +48,9 @@ public:
void displayExamModePopUp(bool activate);
void shutdownDueToLowBattery();
void setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus newStatus);
#if EPSILON_SOFTWARE_UPDATE_PROMPT
OnBoarding::UpdateController * updatePopUpController();
#endif
void redrawWindow();
// Exam pop-up controller delegate
void examDeactivatingPopUpIsDismissed() override;
@@ -71,7 +73,9 @@ private:
MathToolbox m_mathToolbox;
VariableBoxController m_variableBoxController;
ExamPopUpController m_examPopUpController;
#if EPSILON_SOFTWARE_UPDATE_PROMPT
OnBoarding::UpdateController m_updateController;
#endif
BatteryTimer m_batteryTimer;
SuspendTimer m_suspendTimer;
BacklightDimmingTimer m_backlightDimmingTimer;

View File

@@ -3,7 +3,9 @@
GlobalPreferences::GlobalPreferences() :
m_language(I18n::Language::EN),
m_examMode(ExamMode::Desactivate),
#if EPSILON_SOFTWARE_UPDATE_PROMPT
m_showUpdatePopUp(true),
#endif
m_brightnessLevel(Ion::Backlight::MaxBrightness)
{
}
@@ -33,6 +35,7 @@ void GlobalPreferences::setExamMode(ExamMode examMode) {
}
}
#if EPSILON_SOFTWARE_UPDATE_PROMPT
bool GlobalPreferences::showUpdatePopUp() const {
return m_showUpdatePopUp;
}
@@ -42,6 +45,7 @@ void GlobalPreferences::setShowUpdatePopUp(bool showUpdatePopUp) {
m_showUpdatePopUp = showUpdatePopUp;
}
}
#endif
int GlobalPreferences::brightnessLevel() const {
return m_brightnessLevel;

View File

@@ -15,15 +15,19 @@ public:
void setLanguage(I18n::Language language);
ExamMode examMode() const;
void setExamMode(ExamMode examMode);
#if EPSILON_SOFTWARE_UPDATE_PROMPT
bool showUpdatePopUp() const;
void setShowUpdatePopUp(bool showUpdatePopUp);
#endif
int brightnessLevel() const;
void setBrightnessLevel(int brightnessLevel);
constexpr static int NumberOfBrightnessStates = 5;
private:
I18n::Language m_language;
ExamMode m_examMode;
#if EPSILON_SOFTWARE_UPDATE_PROMPT
bool m_showUpdatePopUp;
#endif
int m_brightnessLevel;
};

View File

@@ -15,7 +15,11 @@ App::Descriptor * App::Snapshot::descriptor() {
App::App(Container * container, Snapshot * snapshot) :
::App(container, snapshot, &m_languageController),
m_languageController(&m_modalViewController, &m_logoController, ((AppsContainer *)container)->updatePopUpController()),
m_languageController(&m_modalViewController, &m_logoController
#if EPSILON_SOFTWARE_UPDATE_PROMPT
, ((AppsContainer *)container)->updatePopUpController()
#endif
),
m_logoController()
{
}

View File

@@ -4,7 +4,12 @@
namespace OnBoarding {
LanguageController::LanguageController(Responder * parentResponder, LogoController * logoController, UpdateController * updateController) :
LanguageController::LanguageController(Responder * parentResponder, LogoController * logoController
#if EPSILON_SOFTWARE_UPDATE_PROMPT
, UpdateController * updateController) :
#else
) :
#endif
Shared::LanguageController(parentResponder, (Ion::Display::Height - I18n::NumberOfLanguages*Metric::ParameterCellHeight)/2),
#if EPSILON_SOFTWARE_UPDATE_PROMPT
m_updateController(updateController),

View File

@@ -4,13 +4,20 @@
#include <escher.h>
#include "../shared/language_controller.h"
#include "logo_controller.h"
#include "update_controller.h"
#if EPSILON_SOFTWARE_UPDATE_PROMPT
#include "pop_up_controller.h"
#endif
namespace OnBoarding {
class LanguageController : public Shared::LanguageController {
public:
LanguageController(Responder * parentResponder, LogoController * logoController, UpdateController * updateController);
LanguageController(Responder * parentResponder, LogoController * logoController
#if EPSILON_SOFTWARE_UPDATE_PROMPT
, UpdateController * updateController);
#else
);
#endif
void reinitOnBoarding();
bool handleEvent(Ion::Events::Event event) override;
private: