diff options
Diffstat (limited to 'src/displayapp/Screens/FirmwareUpdate.h')
-rw-r--r-- | src/displayapp/Screens/FirmwareUpdate.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/displayapp/Screens/FirmwareUpdate.h b/src/displayapp/Screens/FirmwareUpdate.h new file mode 100644 index 00000000..faaf3953 --- /dev/null +++ b/src/displayapp/Screens/FirmwareUpdate.h @@ -0,0 +1,41 @@ +#pragma once + +#include <cstdint> +#include <chrono> +#include "Screen.h" +#include <bits/unique_ptr.h> +#include <libs/lvgl/src/lv_core/lv_style.h> +#include <libs/lvgl/src/lv_core/lv_obj.h> +#include <Components/Ble/BleController.h> + +namespace Pinetime { + namespace Applications { + namespace Screens { + + class FirmwareUpdate : public Screen{ + public: + FirmwareUpdate(DisplayApp* app, Pinetime::Controllers::Ble& bleController); + ~FirmwareUpdate() override; + + bool Refresh() override; + bool OnButtonPushed() override; + + private: + enum class States { Idle, Running, Validated, Error }; + Pinetime::Controllers::Ble& bleController; + lv_obj_t* bar1; + lv_obj_t* percentLabel; + lv_obj_t* titleLabel; + mutable char percentStr[10]; + bool running = true; + States state; + + bool DisplayProgression() const; + + void UpdateValidated(); + + void UpdateError(); + }; + } + } +} |