Memory usage display.

This commit is contained in:
M4x1m3
2020-01-28 22:45:13 +01:00
parent 5e95afe9e4
commit 26b624ef0d
11 changed files with 66 additions and 18 deletions

View File

@@ -57,3 +57,4 @@ SymbolMultiplicationAutoSymbol = "automatisch "
PythonFont = "Python schriftart"
Large = "Groß "
Small = "Klein "
MemUse = "Speicher"

View File

@@ -57,3 +57,4 @@ SymbolMultiplicationAutoSymbol = "Auto "
PythonFont = "Python Font"
Large = "Large "
Small = "Small "
MemUse = "Memory"

View File

@@ -57,3 +57,4 @@ SymbolMultiplicationAutoSymbol = "Auto "
PythonFont = "Fuente Python"
Large = "Grande "
Small = "Pequeña "
MemUse = "Memoria"

View File

@@ -57,3 +57,4 @@ SymbolMultiplicationAutoSymbol = "Automatique "
PythonFont = "Police Python"
Large = "Grand "
Small = "Petit "
MemUse = "Mémoire"

View File

@@ -57,3 +57,4 @@ SymbolMultiplicationAutoSymbol = "Automata "
PythonFont = "Python Betütipus"
Large = "Nagy "
Small = "Kicsi "
MemUse = "Memória"

View File

@@ -57,3 +57,4 @@ SymbolMultiplicationAutoSymbol = "automático "
PythonFont = "Fonte Python"
Large = "Ampla "
Small = "Pequeno "
MemUse = "Memória"

View File

@@ -19,9 +19,9 @@ constexpr SettingsMessageTree s_modelExamChildren[3] = {SettingsMessageTree(I18n
constexpr SettingsMessageTree s_pythonFont[2] = {SettingsMessageTree(I18n::Message::Large), SettingsMessageTree(I18n::Message::Small)};
constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)};
#ifdef USERNAME
constexpr SettingsMessageTree s_modelAboutChildren[7] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
constexpr SettingsMessageTree s_modelAboutChildren[8] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
#else
constexpr SettingsMessageTree s_modelAboutChildren[6] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
constexpr SettingsMessageTree s_modelAboutChildren[7] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
#endif
constexpr SettingsMessageTree s_modelMenu[] =
@@ -33,12 +33,12 @@ constexpr SettingsMessageTree s_modelMenu[] =
SettingsMessageTree(I18n::Message::BetaPopUp),
SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6),
#ifdef USERNAME
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 7)};
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 8)};
#else
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 6)};
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 7)};
#endif
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 8);
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 7);
I18n::Message MainController::promptMessage() const {
return I18n::Message::BetaPopUp;

View File

@@ -20,9 +20,9 @@ constexpr SettingsMessageTree s_modelExamChildren[3] = {SettingsMessageTree(I18n
constexpr SettingsMessageTree s_pythonFont[2] = {SettingsMessageTree(I18n::Message::Large), SettingsMessageTree(I18n::Message::Small)};
constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)};
#ifdef USERNAME
constexpr SettingsMessageTree s_modelAboutChildren[7] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
constexpr SettingsMessageTree s_modelAboutChildren[8] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
#else
constexpr SettingsMessageTree s_modelAboutChildren[6] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
constexpr SettingsMessageTree s_modelAboutChildren[7] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
#endif
constexpr SettingsMessageTree s_modelMenu[] =
@@ -33,9 +33,9 @@ constexpr SettingsMessageTree s_modelMenu[] =
SettingsMessageTree(I18n::Message::PythonFont, s_pythonFont, 2),
SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6),
#ifdef USERNAME
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 7)};
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 8)};
#else
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 6)};
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 7)};
#endif
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 7);

View File

@@ -19,9 +19,9 @@ constexpr SettingsMessageTree s_modelExamChildren[3] = {SettingsMessageTree(I18n
constexpr SettingsMessageTree s_pythonFont[2] = {SettingsMessageTree(I18n::Message::Large), SettingsMessageTree(I18n::Message::Small)};
constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)};
#ifdef USERNAME
constexpr SettingsMessageTree s_modelAboutChildren[7] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
constexpr SettingsMessageTree s_modelAboutChildren[8] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
#else
constexpr SettingsMessageTree s_modelAboutChildren[6] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
constexpr SettingsMessageTree s_modelAboutChildren[7] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 7)};
#endif
constexpr SettingsMessageTree s_modelMenu[] =
@@ -33,12 +33,12 @@ constexpr SettingsMessageTree s_modelMenu[] =
SettingsMessageTree(I18n::Message::UpdatePopUp),
SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6),
#ifdef USERNAME
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 7)};
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 8)};
#else
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 6)};
SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 7)};
#endif
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 8);
constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 7);
I18n::Message MainController::promptMessage() const {
return I18n::Message::UpdatePopUp;

View File

@@ -3,6 +3,8 @@
#include <assert.h>
#include <cmath>
#include <apps/settings/main_controller.h>
#include <poincare/integer.h>
#include <ion/storage.h>
#define MP_STRINGIFY_HELPER(x) #x
#define MP_STRINGIFY(x) MP_STRINGIFY_HELPER(x)
@@ -56,6 +58,33 @@ bool AboutController::handleEvent(Ion::Events::Event event) {
myCell->setAccessoryText(Ion::customSoftwareVersion());
return true;
}
if (childLabel == I18n::Message::MemUse) {
MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell();
char memUseBuffer[15];
if (strchr(myCell->accessoryText(), '%') == NULL) {
int len = Poincare::Integer((int)((float)(Ion::Storage::k_storageSize - Ion::Storage::sharedStorage()->availableSize()) / (float)(Ion::Storage::k_storageSize) * 100.0f)).serialize(memUseBuffer, 4);
memUseBuffer[len] = '%';
memUseBuffer[len+1] = '\0';
myCell->setAccessoryText(memUseBuffer);
} else {
int len = Poincare::Integer((int)((float) (Ion::Storage::k_storageSize - Ion::Storage::sharedStorage()->availableSize()) / 1024.f)).serialize(memUseBuffer, 4);
memUseBuffer[len] = 'k';
memUseBuffer[len+1] = 'B';
memUseBuffer[len+2] = '/';
len = Poincare::Integer((int)((float) Ion::Storage::k_storageSize / 1024.f)).serialize(memUseBuffer + len + 3, 4) + len + 3;
memUseBuffer[len] = 'k';
memUseBuffer[len+1] = 'B';
memUseBuffer[len+2] = '\0';
myCell->setAccessoryText(memUseBuffer);
}
return true;
}
}
return false;
}
@@ -94,8 +123,20 @@ void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) {
if (m_messageTreeModel->children(index)->label() == I18n::Message::Contributors) {
MessageTableCellWithChevronAndMessage * myTextCell = (MessageTableCellWithChevronAndMessage *)cell;
myTextCell->setSubtitle(I18n::Message::Default);
}
else {
} else if (m_messageTreeModel->children(index)->label() == I18n::Message::MemUse) {
char memUseBuffer[15];
int len = Poincare::Integer((int)((float) (Ion::Storage::k_storageSize - Ion::Storage::sharedStorage()->availableSize()) / 1024.f)).serialize(memUseBuffer, 4);
memUseBuffer[len] = 'k';
memUseBuffer[len+1] = 'B';
memUseBuffer[len+2] = '/';
len = Poincare::Integer((int)((float) Ion::Storage::k_storageSize / 1024.f)).serialize(memUseBuffer + len + 3, 4) + len + 3;
memUseBuffer[len] = 'k';
memUseBuffer[len+1] = 'B';
MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)cell;
myCell->setAccessoryText(memUseBuffer);
} else {
MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)cell;
static const char * mpVersion = MICROPY_VERSION_STRING;
static const char * messages[] = {
@@ -105,6 +146,7 @@ void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) {
Ion::softwareVersion(),
Ion::customSoftwareVersion(),
mpVersion,
"",
Ion::serialNumber(),
Ion::fccId()
};

View File

@@ -17,9 +17,9 @@ public:
int typeAtLocation(int i, int j) override;
private:
#ifdef USERNAME
constexpr static int k_totalNumberOfCell = 7;
constexpr static int k_totalNumberOfCell = 8;
#else
constexpr static int k_totalNumberOfCell = 6;
constexpr static int k_totalNumberOfCell = 7;
#endif
ContributorsController m_contributorsController;
MessageTableCellWithChevronAndMessage m_contributorsCell;