mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps] Spamm with the "need upgade" pop up after suspend
Change-Id: I7ca817ff9630a3f802ae4a7d01506dc117f6bb35
This commit is contained in:
@@ -15,12 +15,13 @@ AppsContainer::AppsContainer() :
|
||||
m_globalContext(),
|
||||
m_variableBoxController(&m_globalContext),
|
||||
m_examPopUpController(ExamPopUpController()),
|
||||
m_updateController(),
|
||||
m_ledTimer(LedTimer()),
|
||||
m_batteryTimer(BatteryTimer(this)),
|
||||
m_USBTimer(USBTimer(this)),
|
||||
m_suspendTimer(SuspendTimer(this)),
|
||||
m_backlightDimmingTimer(BacklightDimmingTimer()),
|
||||
m_onBoardingApp(new OnBoarding::App(this)),
|
||||
m_onBoardingApp(new OnBoarding::App(this, &m_updateController)),
|
||||
m_homeApp(new Home::App(this)),
|
||||
m_graphApp(new Graph::App(this, &m_globalContext)),
|
||||
m_probabilityApp(new Probability::App(this)),
|
||||
@@ -132,6 +133,9 @@ VariableBoxController * AppsContainer::variableBoxController() {
|
||||
}
|
||||
|
||||
void AppsContainer::suspend(bool checkIfPowerKeyReleased) {
|
||||
if (activeApp() != m_onBoardingApp) {
|
||||
activeApp()->displayModalViewController(&m_updateController, 0.f, 0.f);
|
||||
}
|
||||
Ion::Power::suspend(checkIfPowerKeyReleased);
|
||||
/* Ion::Power::suspend() completely shuts down the LCD controller. Therefore
|
||||
* the frame memory is lost. That's why we need to force a window redraw
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "calculation/app.h"
|
||||
#include "hardware_test/app.h"
|
||||
#include "on_boarding/app.h"
|
||||
#include "on_boarding/update_controller.h"
|
||||
#include "regression/app.h"
|
||||
#include "sequence/app.h"
|
||||
#include "settings/app.h"
|
||||
@@ -73,6 +74,7 @@ private:
|
||||
MathToolbox m_mathToolbox;
|
||||
VariableBoxController m_variableBoxController;
|
||||
ExamPopUpController m_examPopUpController;
|
||||
UpdateController m_updateController;
|
||||
LedTimer m_ledTimer;
|
||||
BatteryTimer m_batteryTimer;
|
||||
USBTimer m_USBTimer;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
namespace OnBoarding {
|
||||
|
||||
App::App(Container * container) :
|
||||
App::App(Container * container, UpdateController * updateController) :
|
||||
::App(container, &m_languageController),
|
||||
m_languageController(&m_modalViewController, &m_logoController),
|
||||
m_languageController(&m_modalViewController, &m_logoController, updateController),
|
||||
m_logoController()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -4,12 +4,13 @@
|
||||
#include <escher.h>
|
||||
#include "language_controller.h"
|
||||
#include "logo_controller.h"
|
||||
#include "update_controller.h"
|
||||
|
||||
namespace OnBoarding {
|
||||
|
||||
class App : public ::App {
|
||||
public:
|
||||
App(Container * container);
|
||||
App(Container * container, UpdateController * updateController);
|
||||
void reinitOnBoarding();
|
||||
bool hasTimer();
|
||||
Timer * timer();
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
|
||||
namespace OnBoarding {
|
||||
|
||||
LanguageController::LanguageController(Responder * parentResponder, LogoController * logoController) :
|
||||
LanguageController::LanguageController(Responder * parentResponder, LogoController * logoController, UpdateController * updateController) :
|
||||
ViewController(parentResponder),
|
||||
m_logoController(logoController),
|
||||
m_updateController(updateController),
|
||||
m_cells{MessageTableCell(I18n::Message::Default, KDText::FontSize::Large), MessageTableCell(I18n::Message::Default, KDText::FontSize::Large), MessageTableCell(I18n::Message::Default, KDText::FontSize::Large)},
|
||||
m_selectableTableView(SelectableTableView(this, this, 0, 1, (Ion::Display::Height - I18n::NumberOfLanguages*Metric::ParameterCellHeight)/2, Metric::CommonRightMargin, 0, Metric::CommonLeftMargin, this))
|
||||
{
|
||||
@@ -29,7 +30,7 @@ void LanguageController::didBecomeFirstResponder() {
|
||||
bool LanguageController::handleEvent(Ion::Events::Event event) {
|
||||
if (event == Ion::Events::OK || event == Ion::Events::EXE) {
|
||||
GlobalPreferences::sharedGlobalPreferences()->setLanguage((I18n::Language)(selectedRow()+1));
|
||||
app()->displayModalViewController(&m_updateController, 0.5f, 0.5f);
|
||||
app()->displayModalViewController(m_updateController, 0.5f, 0.5f);
|
||||
return true;
|
||||
}
|
||||
if (event == Ion::Events::Back) {
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace OnBoarding {
|
||||
|
||||
class LanguageController : public ViewController, public SimpleListViewDataSource, public SelectableTableViewDelegate {
|
||||
public:
|
||||
LanguageController(Responder * parentResponder, LogoController * logoController);
|
||||
LanguageController(Responder * parentResponder, LogoController * logoController, UpdateController * updateController);
|
||||
View * view() override;
|
||||
void reinitOnBoarding();
|
||||
void didBecomeFirstResponder() override;
|
||||
@@ -24,7 +24,7 @@ public:
|
||||
void willDisplayCellForIndex(HighlightCell * cell, int index) override;
|
||||
private:
|
||||
LogoController * m_logoController;
|
||||
UpdateController m_updateController;
|
||||
UpdateController * m_updateController;
|
||||
MessageTableCell m_cells[I18n::NumberOfLanguages];
|
||||
SelectableTableView m_selectableTableView;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user