From e4cd72cf323c80a5f23e76abfafde66bbd0f38c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Fri, 19 Apr 2019 15:12:25 +0200 Subject: [PATCH] [apps/on_boarding] Light up the LED to indicate battery level --- apps/on_boarding/logo_controller.cpp | 16 +++++++++++++++- apps/on_boarding/logo_controller.h | 3 +++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/apps/on_boarding/logo_controller.cpp b/apps/on_boarding/logo_controller.cpp index 3068da16c..356fc17c5 100644 --- a/apps/on_boarding/logo_controller.cpp +++ b/apps/on_boarding/logo_controller.cpp @@ -1,11 +1,14 @@ #include "logo_controller.h" +#include +#include 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(); +} + } diff --git a/apps/on_boarding/logo_controller.h b/apps/on_boarding/logo_controller.h index 8fdc82de2..72196e581 100644 --- a/apps/on_boarding/logo_controller.h +++ b/apps/on_boarding/logo_controller.h @@ -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; }; }