[apps/on_boarding] Light up the LED to indicate battery level

This commit is contained in:
Léa Saviot
2019-04-19 15:12:25 +02:00
parent 94434815ba
commit e4cd72cf32
2 changed files with 18 additions and 1 deletions

View File

@@ -1,11 +1,14 @@
#include "logo_controller.h"
#include <ion/led.h>
#include <ion/battery.h>
namespace OnBoarding {
LogoController::LogoController() :
ViewController(nullptr),
Timer(10),
m_logoView()
m_logoView(),
m_previousLEDColor(KDColorBlack)
{
}
@@ -18,4 +21,15 @@ bool LogoController::fire() {
return true;
}
void LogoController::viewWillAppear() {
ViewController::viewWillAppear();
m_previousLEDColor = Ion::LED::getColor();
Ion::LED::setColor(Ion::Battery::level() == Ion::Battery::Charge::FULL ? KDColorGreen : KDColorRed);
}
void LogoController::viewDidDisappear() {
Ion::LED::setColor(m_previousLEDColor);
ViewController::viewDidDisappear();
}
}

View File

@@ -10,9 +10,12 @@ class LogoController : public ViewController, public Timer {
public:
LogoController();
View * view() override;
void viewWillAppear() override;
void viewDidDisappear() override;
private:
bool fire() override;
LogoView m_logoView;
KDColor m_previousLEDColor;
};
}