feat: add DemoApp and ShutdownApp classes for interactive UI components and shutdown management
This commit is contained in:
39
main/ui/apps/shutdown_app.h
Normal file
39
main/ui/apps/shutdown_app.h
Normal file
@@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
|
||||
#include "ui/ui_app.h"
|
||||
#include "ui/app_registry.h"
|
||||
|
||||
/**
|
||||
* @brief Shutdown application - displays shutdown message
|
||||
*
|
||||
* Shown when the system is about to enter deep sleep or power off.
|
||||
* Displays a message and optionally a spinner animation.
|
||||
*/
|
||||
class ShutdownApp : public UIApp {
|
||||
public:
|
||||
ShutdownApp(std::string message = "");
|
||||
virtual ~ShutdownApp() = default;
|
||||
|
||||
esp_err_t init(lv_obj_t* container) override;
|
||||
esp_err_t deinit(void) override;
|
||||
std::string get_name(void) const override;
|
||||
|
||||
private:
|
||||
std::string _message;
|
||||
lv_obj_t* _label_message = nullptr;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief AppDescriptor for ShutdownApp
|
||||
*
|
||||
* Note: Shutdown app is typically not shown in the navigation bar
|
||||
* as it's only used during system shutdown.
|
||||
*/
|
||||
class ShutdownAppDescriptor : public AppDescriptor {
|
||||
public:
|
||||
ShutdownAppDescriptor();
|
||||
void draw_icon(lv_obj_t* parent) override;
|
||||
|
||||
private:
|
||||
static ShutdownApp* _app_instance;
|
||||
};
|
||||
Reference in New Issue
Block a user