summaryrefslogtreecommitdiff
path: root/src/DisplayApp/Screens/FirmwareValidation.h
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-08-11 17:50:00 +0200
committerJF <jf@codingfield.com>2020-08-11 17:50:00 +0200
commitbbfc20c3ff4b741cd21b162389905a59a8e22f3f (patch)
tree75b8e00398b14aa8b887013e93adcb0edecfe75f /src/DisplayApp/Screens/FirmwareValidation.h
parent27fa273d8315f972931dba7971a99b0fbba7360e (diff)
Add new screen that allows the user to manually validate the new firmware he's just OTA'ed.
Still need to find a way to display this screen when needed.
Diffstat (limited to 'src/DisplayApp/Screens/FirmwareValidation.h')
-rw-r--r--src/DisplayApp/Screens/FirmwareValidation.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/DisplayApp/Screens/FirmwareValidation.h b/src/DisplayApp/Screens/FirmwareValidation.h
new file mode 100644
index 00000000..947f5575
--- /dev/null
+++ b/src/DisplayApp/Screens/FirmwareValidation.h
@@ -0,0 +1,42 @@
+#pragma once
+
+#include <cstdint>
+#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>
+
+namespace Pinetime {
+ namespace Controllers {
+ class FirmwareValidator;
+ }
+
+ namespace Applications {
+ namespace Screens {
+
+ class FirmwareValidation : public Screen{
+ public:
+ FirmwareValidation(DisplayApp* app, Pinetime::Controllers::FirmwareValidator& validator);
+ ~FirmwareValidation() override;
+
+ bool Refresh() override;
+ bool OnButtonPushed() override;
+
+ void OnButtonEvent(lv_obj_t *object, lv_event_t event);
+
+ private:
+ Pinetime::Controllers::FirmwareValidator& validator;
+
+ lv_obj_t* labelVersionInfo;
+ lv_obj_t* labelVersionValue;
+ char version[9];
+ lv_obj_t* labelIsValidated;
+ lv_obj_t* buttonValidate;
+ lv_obj_t* labelButtonValidate;
+ lv_obj_t* buttonReset;
+ lv_obj_t* labelButtonReset;
+ bool running = true;
+ };
+ }
+ }
+}