1、按键驱动重构:从GPIO中断改为iot_button组件,支持BOOT/KEY2的单击/双击/长按6种事件; 2、新增按键导航管理器(key_nav):9种上下文状态机,统一分发按键事件到对应界面业务逻辑; 3、BLE模块改造:广播默认关闭由按键触发,新增设备间图片传输(GATT Client),支持扫描配对→MTU协商→分包发送; 4、新增6个UI界面:配对(Peiwang)、更新(Update)、发送等待(ImageShar)、接收等待(ImageReception)、发送中(Sharing)、接收中(Receiving); 5、新增电池指示器组件(battery_ui):支持多界面真实电量显示,3秒渐隐效果; 6、Home界面重构:移除手势事件,改为airhub背景图+电池指示器; 7、Img界面重构:移除触摸事件,新增删除二次确认边框机制; 8、禁用ScreenSet/ScreenChar界面(保留文件),禁用触摸初始化(保留代码可恢复); 9、sleep_mgr简化:移除ScreenSet亮度UI依赖,按键唤醒由key_nav统一处理; 10、新增9张图片资源(airhub背景、配对、传输状态、电池图标等); Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
41 lines
1.3 KiB
C
41 lines
1.3 KiB
C
// 更新界面 - 显示更新图标 + GIF动画
|
||
// 手机APP上传图片时自动切换到此界面
|
||
|
||
#include "../ui.h"
|
||
#include "ui_ScreenUpdate.h"
|
||
|
||
lv_obj_t *ui_ScreenUpdate = NULL;
|
||
static lv_obj_t *gengxin_img = NULL;
|
||
static lv_obj_t *update_gif_obj = NULL;
|
||
|
||
void ui_ScreenUpdate_screen_init(void) {
|
||
ui_ScreenUpdate = lv_obj_create(NULL);
|
||
lv_obj_clear_flag(ui_ScreenUpdate, LV_OBJ_FLAG_SCROLLABLE);
|
||
lv_obj_set_style_bg_color(ui_ScreenUpdate, lv_color_hex(0x000000), LV_PART_MAIN);
|
||
lv_obj_set_style_bg_opa(ui_ScreenUpdate, 255, LV_PART_MAIN);
|
||
|
||
// "更新"文字图片(172x54),居中偏上
|
||
gengxin_img = lv_img_create(ui_ScreenUpdate);
|
||
lv_img_set_src(gengxin_img, &Gengxin);
|
||
lv_obj_set_align(gengxin_img, LV_ALIGN_CENTER);
|
||
lv_obj_set_y(gengxin_img, -30);
|
||
lv_obj_clear_flag(gengxin_img, LV_OBJ_FLAG_SCROLLABLE);
|
||
|
||
// GIF动画(65x49),在"更新"图片下方
|
||
#if LV_USE_GIF
|
||
update_gif_obj = lv_gif_create(ui_ScreenUpdate);
|
||
lv_gif_set_src(update_gif_obj, &Update_GIF);
|
||
lv_obj_set_align(update_gif_obj, LV_ALIGN_CENTER);
|
||
lv_obj_set_y(update_gif_obj, 45);
|
||
lv_obj_clear_flag(update_gif_obj, LV_OBJ_FLAG_SCROLLABLE);
|
||
#endif
|
||
|
||
}
|
||
|
||
void ui_ScreenUpdate_screen_destroy(void) {
|
||
if (ui_ScreenUpdate) lv_obj_del(ui_ScreenUpdate);
|
||
ui_ScreenUpdate = NULL;
|
||
gengxin_img = NULL;
|
||
update_gif_obj = NULL;
|
||
}
|