diff --git a/apps/settings/main_controller.cpp b/apps/settings/main_controller.cpp index 75b598d87..4426d0349 100644 --- a/apps/settings/main_controller.cpp +++ b/apps/settings/main_controller.cpp @@ -20,11 +20,7 @@ constexpr SettingsMessageTree s_modelMathOptionsChildren[6] = {SettingsMessageTr constexpr SettingsMessageTree s_modelFontChildren[2] = {SettingsMessageTree(I18n::Message::LargeFont), SettingsMessageTree(I18n::Message::SmallFont)}; 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)}; constexpr SettingsMessageTree s_contributorsChildren[20] = {SettingsMessageTree(I18n::Message::Developers), SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::SandraSimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess), SettingsMessageTree(I18n::Message::David), SettingsMessageTree(I18n::Message::DamienNicolet), SettingsMessageTree(I18n::Message::EvannDreumont), SettingsMessageTree(I18n::Message::SzaboLevente), SettingsMessageTree(I18n::Message::VenceslasDuet), SettingsMessageTree(I18n::Message::CharlotteThomas), SettingsMessageTree(I18n::Message::AntoninLoubiere), SettingsMessageTree(I18n::Message::BetaTesters), SettingsMessageTree(I18n::Message::CyprienMejat), SettingsMessageTree(I18n::Message::TimeoArnouts), SettingsMessageTree(I18n::Message::JulieC), SettingsMessageTree(I18n::Message::LelahelHideux), SettingsMessageTree(I18n::Message::Madil), SettingsMessageTree(I18n::Message::HilaireLeRoux)}; -#ifdef OMEGA_USERNAME constexpr SettingsMessageTree s_modelAboutChildren[8] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::OmegaVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren)}; -#else -constexpr SettingsMessageTree s_modelAboutChildren[7] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::OmegaVersion), SettingsMessageTree(I18n::Message::MicroPythonVersion), SettingsMessageTree(I18n::Message::MemUse), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren)}; -#endif MainController::MainController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate) : ViewController(parentResponder), diff --git a/apps/settings/main_controller.h b/apps/settings/main_controller.h index 7ef06c84a..7052fc3f3 100644 --- a/apps/settings/main_controller.h +++ b/apps/settings/main_controller.h @@ -25,11 +25,7 @@ extern const Shared::SettingsMessageTree s_modelFontChildren[2]; extern const Shared::SettingsMessageTree s_modelDateTimeChildren[3]; extern const Shared::SettingsMessageTree s_accessibilityChildren[6]; extern const Shared::SettingsMessageTree s_contributorsChildren[20]; -#ifdef OMEGA_USERNAME extern const Shared::SettingsMessageTree s_modelAboutChildren[8]; -#else -extern const Shared::SettingsMessageTree s_modelAboutChildren[7]; -#endif extern const Shared::SettingsMessageTree s_model; class MainController : public ViewController, public ListViewDataSource, public SelectableTableViewDataSource { diff --git a/apps/settings/sub_menu/about_controller.cpp b/apps/settings/sub_menu/about_controller.cpp index a295eb029..53962af66 100644 --- a/apps/settings/sub_menu/about_controller.cpp +++ b/apps/settings/sub_menu/about_controller.cpp @@ -96,11 +96,15 @@ bool AboutController::handleEvent(Ion::Events::Event event) { return GenericSubController::handleEvent(event); } +int AboutController::numberOfRows() const { + return m_messageTreeModel->numberOfChildren() - (!hasUsernameCell()); +} + HighlightCell * AboutController::reusableCell(int index, int type) { assert(index >= 0); if (type == 0) { - assert(index < k_totalNumberOfCell-1); - return &m_cells[index]; + assert(index < k_totalNumberOfCell-1-(!hasUsernameCell())); + return &m_cells[index+(!hasUsernameCell())]; } assert(index == 0); return &m_contributorsCell; @@ -113,7 +117,7 @@ int AboutController::typeAtLocation(int i, int j) { int AboutController::reusableCellCount(int type) { switch (type) { case 0: - return k_totalNumberOfCell-1; + return k_totalNumberOfCell-1-(!hasUsernameCell()); case 1: return 1; default: @@ -122,13 +126,18 @@ int AboutController::reusableCellCount(int type) { } } +bool AboutController::hasUsernameCell() const { + return (*Ion::username()) != 0; +} + void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) { - GenericSubController::willDisplayCellForIndex(cell, index); + int i = index + (!hasUsernameCell()); + GenericSubController::willDisplayCellForIndex(cell, i); assert(index >= 0 && index < k_totalNumberOfCell); - if (m_messageTreeModel->childAtIndex(index)->label() == I18n::Message::Contributors) { + if (m_messageTreeModel->childAtIndex(i)->label() == I18n::Message::Contributors) { MessageTableCellWithChevronAndMessage * myTextCell = (MessageTableCellWithChevronAndMessage *)cell; myTextCell->setSubtitle(I18n::Message::Default); - } else if (m_messageTreeModel->childAtIndex(index)->label() == I18n::Message::MemUse) { + } else if (m_messageTreeModel->childAtIndex(i)->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'; @@ -146,17 +155,16 @@ void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) { MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)cell; static const char * mpVersion = MICROPY_VERSION_STRING; static const char * messages[] = { -#ifdef OMEGA_USERNAME Ion::username(), -#endif Ion::softwareVersion(), Ion::omegaVersion(), mpVersion, "", Ion::serialNumber(), - Ion::fccId() + Ion::fccId(), + "" }; - myCell->setAccessoryText(messages[index]); + myCell->setAccessoryText(messages[i]); } } diff --git a/apps/settings/sub_menu/about_controller.h b/apps/settings/sub_menu/about_controller.h index e94a6e2aa..beef15d95 100644 --- a/apps/settings/sub_menu/about_controller.h +++ b/apps/settings/sub_menu/about_controller.h @@ -20,12 +20,10 @@ public: int reusableCellCount(int type) override; void willDisplayCellForIndex(HighlightCell * cell, int index) override; int typeAtLocation(int i, int j) override; + int numberOfRows() const override; private: -#ifdef OMEGA_USERNAME constexpr static int k_totalNumberOfCell = 8; -#else - constexpr static int k_totalNumberOfCell = 7; -#endif + bool hasUsernameCell() const; ContributorsController m_contributorsController; MessageTableCellWithChevronAndMessage m_contributorsCell; //SelectableViewWithMessages m_view; diff --git a/ion/include/ion.h b/ion/include/ion.h index f0ce39b4d..78110f9f0 100644 --- a/ion/include/ion.h +++ b/ion/include/ion.h @@ -32,9 +32,7 @@ void ion_main(int argc, const char * const argv[]); namespace Ion { const char * serialNumber(); -#ifdef OMEGA_USERNAME const char * username(); -#endif const char * softwareVersion(); const char * omegaVersion(); const char * patchLevel(); diff --git a/ion/src/shared/platform_info.cpp b/ion/src/shared/platform_info.cpp index 84d5937ca..d4249ebbc 100644 --- a/ion/src/shared/platform_info.cpp +++ b/ion/src/shared/platform_info.cpp @@ -36,7 +36,7 @@ public: #ifdef OMEGA_USERNAME m_username{OMEGA_USERNAME}, #else - m_username{"\0"}, + m_username{"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, #endif m_ohm_footer(OmegaMagic) { } const char * version() const { @@ -57,7 +57,6 @@ public: assert(m_ohm_footer == OmegaMagic); return m_omegaVersion; } -#ifdef OMEGA_USERNAME const char * username() const { assert(m_storageAddress != nullptr); assert(m_storageSize != 0); @@ -67,7 +66,6 @@ public: assert(m_ohm_footer == OmegaMagic); return m_username; } -#endif const char * patchLevel() const { assert(m_storageAddress != nullptr); assert(m_storageSize != 0); @@ -102,11 +100,9 @@ const char * Ion::omegaVersion() { return platform_infos.omegaVersion(); } -#ifdef OMEGA_USERNAME const char * Ion::username() { return platform_infos.username(); } -#endif const char * Ion::patchLevel() { return platform_infos.patchLevel();