~aleteoryx/muditaos

3b41f4ac39c831e977553b5b4d4013c693f758e0 — Mateusz Piesta 4 years ago 9fe6ebd
[BH-1166] Disable temperature feature

Added possibility to enable/disable
displaying of temperature and corresponding
settings/onboarding views.
M products/BellHybrid/CMakeLists.txt => products/BellHybrid/CMakeLists.txt +3 -0
@@ 101,3 101,6 @@ add_subdirectory(apps)
add_subdirectory(keymap)
add_subdirectory(services)
add_subdirectory(sys)

option(CONFIG_ENABLE_TEMP "Enable displaying temperature" OFF)
configure_file(config/ProductConfig.in.hpp ${CMAKE_BINARY_DIR}/ProductConfig.hpp  @ONLY)

M products/BellHybrid/apps/application-bell-main/windows/BellHomeScreenWindow.cpp => products/BellHybrid/apps/application-bell-main/windows/BellHomeScreenWindow.cpp +15 -3
@@ 5,6 5,7 @@
#include "data/BellMainStyle.hpp"
#include "widgets/SnoozeTimer.hpp"
#include "BellBatteryStatusWindow.hpp"
#include "ProductConfig.hpp"

#include <application-bell-main/ApplicationBellMain.hpp>
#include <apps-common/widgets/BellBaseLayout.hpp>


@@ 18,7 19,6 @@
#include <time/time_constants.hpp>
#include <widgets/AlarmSetSpinner.hpp>
#include <widgets/TimeSetFmtSpinner.hpp>
#include <widgets/TimeSetSpinner.hpp>

#include <chrono>



@@ 117,11 117,12 @@ namespace gui
        bottomBox = new HBox(body->lastBox, 0, 0, 0, 0);
        bottomBox->setMinimumSize(style::bell_base_layout::outer_layouts_w, style::bell_base_layout::outer_layouts_h);
        bottomBox->setEdges(RectangleEdge::None);
        bottomBox->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));

        battery = new BellBattery(bottomBox, 0, 0, 0, 0);
        battery->setMinimumSize(battery::battery_widget_w, battery::battery_widget_h);
        battery->setEdges(RectangleEdge::None);
        battery->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
        battery->setAlignment(Alignment(Alignment::Horizontal::Left, Alignment::Vertical::Center));
        battery->setVisible(false);

        bottomText = new TextFixedSize(bottomBox, 0, 0, 0, 0);


@@ 187,19 188,25 @@ namespace gui

    void BellHomeScreenWindow::setTemperature(utils::temperature::Temperature newTemp)
    {
#if CONFIG_ENABLE_TEMP == 1
        bottomText->setFont(bellMainStyle::mainWindow::bottomDescription::font_normal);
        bottomText->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
        bottomText->setText(utils::temperature::tempToStrDec(newTemp));
        bottomBox->resizeItems();
#else
        bottomText->setVisible(false);
        bottomBox->resizeItems();
#endif
    }

    void BellHomeScreenWindow::setBottomDescription(const UTF8 &desc)
    {
        battery->setVisible(false);
        bottomBox->resizeItems();
        bottomText->setVisible(true);
        bottomText->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
        bottomText->setFont(bellMainStyle::mainWindow::bottomDescription::font_small);
        bottomText->setRichText(desc);
        bottomBox->resizeItems();
    }

    void BellHomeScreenWindow::setBatteryLevelState(const Store::Battery &batteryContext)


@@ 209,7 216,12 @@ namespace gui
            bottomText->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
        }
        else {
#if CONFIG_ENABLE_TEMP == 1
            bottomText->setAlignment(Alignment(Alignment::Horizontal::Right, Alignment::Vertical::Center));
            battery->setAlignment(Alignment(Alignment::Horizontal::Left, Alignment::Vertical::Center));
#else
            battery->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
#endif
        }
        bottomBox->resizeItems();
    }

M products/BellHybrid/apps/application-bell-settings/models/TimeUnitsModel.cpp => products/BellHybrid/apps/application-bell-settings/models/TimeUnitsModel.cpp +9 -1
@@ 5,10 5,10 @@
#include "widgets/TimeFormatSetListItem.hpp"
#include "widgets/TimeSetListItem.hpp"
#include "widgets/TemperatureUnitListItem.hpp"
#include "ProductConfig.hpp"

#include <gui/widgets/ListViewEngine.hpp>
#include <gui/widgets/Style.hpp>
#include <gui/widgets/Text.hpp>
#include <service-time/Constants.hpp>
#include <service-time/api/TimeSettingsApi.hpp>
#include <service-time/service-time/TimeMessage.hpp>


@@ 56,9 56,11 @@ namespace app::bell_settings
            timeSetListItem->timeSetFmtSpinner->setTimeFormat(timeFmtSetListItem->getTimeFmt());
        };

#if CONFIG_ENABLE_TEMP == 1
        temperatureUnitListItem =
            new gui::TemperatureUnitListItem(utils::translate("app_bell_settings_advanced_temp_scale"));
        internalData.push_back(temperatureUnitListItem);
#endif

        for (auto item : internalData) {
            item->deleteByList = false;


@@ 116,12 118,18 @@ namespace app::bell_settings

    auto TimeUnitsModel::getTemperatureUnit() const -> utils::temperature::Temperature::Unit
    {
#if CONFIG_ENABLE_TEMP == 1
        return *utils::temperature::strToUnit(temperatureUnitListItem->getUnitAsStr());
#else
        return utils::temperature::Temperature::Unit::Celsius;
#endif
    }

    auto TimeUnitsModel::setTemperatureUnit(const utils::temperature::Temperature::Unit unit) -> void
    {
#if CONFIG_ENABLE_TEMP == 1
        temperatureUnitListItem->setUnit(unit);
#endif
    }

    void TimeUnitsModelFactoryResetValues::loadData()

R products/BellHybrid/config.h => products/BellHybrid/config/ProductConfig.in.hpp +1 -1
@@ 3,4 3,4 @@

#pragma once

#define ENABLE_GSM (0)
#cmakedefine01 CONFIG_ENABLE_TEMP