mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
[poincare] When memory exception, stay in the app and display popup
This commit is contained in:
@@ -143,7 +143,7 @@ bool AppsContainer::processEvent(Ion::Events::Event event) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void AppsContainer::switchTo(App::Snapshot * snapshot) {
|
||||
void AppsContainer::switchTo(App::Snapshot * snapshot, bool forceSwitch) {
|
||||
if (activeApp() && snapshot != activeApp()->snapshot()) {
|
||||
resetShiftAlphaStatus();
|
||||
}
|
||||
@@ -155,7 +155,7 @@ void AppsContainer::switchTo(App::Snapshot * snapshot) {
|
||||
if (snapshot) {
|
||||
m_window.setTitle(snapshot->descriptor()->upperName());
|
||||
}
|
||||
Container::switchTo(snapshot);
|
||||
Container::switchTo(snapshot, forceSwitch);
|
||||
}
|
||||
|
||||
void AppsContainer::run() {
|
||||
@@ -177,9 +177,8 @@ void AppsContainer::run() {
|
||||
* tree for the jump to work. */
|
||||
Poincare::ExceptionCheckpoint ecp;
|
||||
if (!ExceptionRun(ecp)) {
|
||||
switchTo(appSnapshotAtIndex(0));
|
||||
activeApp()->displayModalViewController(&m_updateController, 0.f, 0.f); //TODO this is debug
|
||||
//displayMemoryExhaustionPopUp(); TODO
|
||||
switchTo(activeApp()->snapshot(), true);
|
||||
activeApp()->displayWarning(I18n::Message::AppMemoryFull);
|
||||
}
|
||||
Container::run();
|
||||
switchTo(nullptr);
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
VariableBoxController * variableBoxController();
|
||||
void suspend(bool checkIfPowerKeyReleased = false);
|
||||
virtual bool dispatchEvent(Ion::Events::Event event) override;
|
||||
void switchTo(App::Snapshot * snapshot) override;
|
||||
void switchTo(App::Snapshot * snapshot, bool forceSwitch = false) override;
|
||||
void run() override;
|
||||
bool updateBatteryState();
|
||||
void refreshPreferences();
|
||||
|
||||
@@ -2,6 +2,7 @@ ActivateDesactivate = "Aktivieren/Deaktivieren"
|
||||
ActiveExamModeMessage1 = "Alle Ihre Daten werden "
|
||||
ActiveExamModeMessage2 = "geloscht, wenn Sie den "
|
||||
ActiveExamModeMessage3 = "Testmodus einschalten."
|
||||
AppMemoryFull = "Memory full for this app"
|
||||
Axis = "Achsen"
|
||||
Cancel = "Abbrechen"
|
||||
ClearColumn = "Spalte loschen"
|
||||
|
||||
@@ -2,6 +2,7 @@ ActivateDesactivate = "Turn on/off"
|
||||
ActiveExamModeMessage1 = "All your data will be "
|
||||
ActiveExamModeMessage2 = "deleted when you activate "
|
||||
ActiveExamModeMessage3 = "the exam mode."
|
||||
AppMemoryFull = "Memory full for this app"
|
||||
Axis = "Axes"
|
||||
Cancel = "Cancel"
|
||||
ClearColumn = "Clear column"
|
||||
|
||||
@@ -2,6 +2,7 @@ ActivateDesactivate = "Activar/Desactivar"
|
||||
ActiveExamModeMessage1 = "Todos sus datos se "
|
||||
ActiveExamModeMessage2 = "eliminaran al activar "
|
||||
ActiveExamModeMessage3 = "el modo examen."
|
||||
AppMemoryFull = "Memory full for this app"
|
||||
Axis = "Ejes"
|
||||
Cancel = "Cancelar"
|
||||
ClearColumn = "Borrar la columna"
|
||||
|
||||
@@ -2,6 +2,7 @@ ActivateDesactivate = "Activer/Desactiver"
|
||||
ActiveExamModeMessage1 = "Toutes vos donnees seront "
|
||||
ActiveExamModeMessage2 = "supprimees si vous activez "
|
||||
ActiveExamModeMessage3 = "le mode examen."
|
||||
AppMemoryFull = "Memory full for this app"
|
||||
Axis = "Axes"
|
||||
Cancel = "Annuler"
|
||||
ClearColumn = "Effacer la colonne"
|
||||
|
||||
@@ -2,6 +2,7 @@ ActivateDesactivate = "Activar/Desactivar"
|
||||
ActiveExamModeMessage1 = "Todos os seus dados serao "
|
||||
ActiveExamModeMessage2 = "apagados se voce ligar "
|
||||
ActiveExamModeMessage3 = "o modo de exame."
|
||||
AppMemoryFull = "Memory full for this app"
|
||||
Axis = "Eixos"
|
||||
Cancel = "Cancelar"
|
||||
ClearColumn = "Excluir coluna"
|
||||
|
||||
@@ -27,7 +27,7 @@ public:
|
||||
virtual void run();
|
||||
App * activeApp();
|
||||
virtual bool dispatchEvent(Ion::Events::Event event) override;
|
||||
virtual void switchTo(App::Snapshot * snapshot);
|
||||
virtual void switchTo(App::Snapshot * snapshot, bool forceSwitch = false);
|
||||
protected:
|
||||
virtual Window * window() = 0;
|
||||
private:
|
||||
|
||||
@@ -14,8 +14,8 @@ Container::~Container() {
|
||||
}
|
||||
}
|
||||
|
||||
void Container::switchTo(App::Snapshot * snapshot) {
|
||||
if (m_activeApp && snapshot == m_activeApp->snapshot()) {
|
||||
void Container::switchTo(App::Snapshot * snapshot, bool forceSwitch) {
|
||||
if (!forceSwitch && m_activeApp && snapshot == m_activeApp->snapshot()) {
|
||||
return;
|
||||
}
|
||||
if (m_activeApp) {
|
||||
|
||||
Reference in New Issue
Block a user