feat(sdk+launcher): SDK nav/media封装 + §10.5 App前台唤起通知中心 (agent-206) — meow_ui_nav.c(env栈初始化+report/request_exit) + meow_ui_media.c(懒连断线重连, meta上报+playctl接收) + MSG_NOTIF_OPEN=0x28/CLOSE=0x29(0x25/26已被占); SDK顶部下滑手势→IPC; launcher App前台会话叠加通知中心(SIGSTOP→读帧→接管输入→恢复SIGCONT, 面板内App崩溃即关); hello接线验证
meow_ui.a→9a8eb7ef; hello→fc299577; launcher→b33da20a; 宿主5套件+新test_notif_open+qemu分发 全过 出入: SDK符号用meow_ui_前缀防与launcher内同名冲突; 叠加会话真机待验; §10.5文档旧号段已过时
This commit is contained in:
1 parent
21519ce2e4
commit
9b4195724c
37 files changed
+1042
-21
No files matched your search
@@ -51,6 +51,9 @@ extern "C" {
|
||||
#define WATCHDOG2 "/usr/bin/meow_watchdog"
|
||||
#define POWMENU_MARKER "/tmp/meow_power_menu"
|
||||
#define POWMENU_ACTIVE "/tmp/meow_power_menu_active"
|
||||
/* §10.5:launcher 展开通知中心叠加会话的让位标记(App 前台;同 /tmp/meow_power_menu_active 语义,
|
||||
* 让 watchdog 对电源长按让位——当前 watchdog 只认 POWMENU_ACTIVE,故叠加会话期间同时写它,见 app_launcher.c) */
|
||||
#define NOTIF_ACTIVE "/tmp/meow_notif_active"
|
||||
#define BACKLIGHT "/sys/class/backlight/backlight_pwm0/brightness"
|
||||
#define BACKLIGHT_POWER "/sys/class/backlight/backlight_pwm0/bl_power"
|
||||
#define FB_DEV "/dev/fb0"
|
||||
@@ -559,6 +562,10 @@ extern int meow_screen_on;
|
||||
extern int mfont_forced;
|
||||
extern int mfont_ready;
|
||||
extern int player_stopped;
|
||||
/* §10.5:App 前台叠加通知中心会话的跨模块状态(app_launcher.c 置位;util.c ipc_dispatch 读) */
|
||||
extern volatile int g_app_session_active; /* 1=launch_app waitpid 前台会话中 */
|
||||
extern int g_notif_ctrl_pid; /* >0=run_notif_center 处于 App 叠加会话,周期探测 App 存活 */
|
||||
extern int g_notif_ctrl_died; /* 1=会话中 App 已死 → 立即结束会话走统一退出路径 */
|
||||
extern const int pm_cx[PM_NUM];
|
||||
extern int power_forceoff_ms;
|
||||
extern int power_longpress_menu_ms;
|
||||
@@ -653,6 +660,11 @@ void meow_font_scan_presets(void);
|
||||
void meow_font_scan_presets_root(const char *card_root);
|
||||
int meow_ipc_init(void);
|
||||
void meow_ipc_process(void);
|
||||
/* §10.5:读并清除待处理的 MSG_NOTIF_OPEN(App 前台顶部下滑请求展开通知中心叠加会话)。
|
||||
* 调用方=launch_app waitpid 循环;返回 1 并填 *out(待处理),0=无。 */
|
||||
int meow_notif_open_take(m_notif_open_t *out);
|
||||
/* §10.5:清残留待处理 OPEN(进入新 App 前台会话前调用,防旧会话残留误展开)。 */
|
||||
void meow_notif_open_clear(void);
|
||||
void meow_panel_off(void);
|
||||
void meow_panel_on(void);
|
||||
void meow_parse_app_json(FILE *f, struct app *a);
|
||||
@@ -717,6 +729,9 @@ int show_power_menu(void);
|
||||
int stop_player(void);
|
||||
/* 电源管理服务 IPC(SYSTEM_FRAMEWORK_SERVICES §3.2:launcher 电源动作经 meow_svc_power 执行) */
|
||||
int pm_power_ipc(uint32_t cmd, uint32_t flag, const char *arg, char *res, int reslen);
|
||||
/* §10.5:/proc/<pid>/stat 状态位 == 'Z'(僵尸子进程=已死未回收)。notif_center 叠加会话用它
|
||||
* 立即感知 App 崩溃(waitpid 回收仍由 app_launcher waitpid 循环统一做)。 */
|
||||
int proc_is_zombie(int pid);
|
||||
int meow_power_action(uint32_t cmd);
|
||||
void ui_draw(int x, int y, const char *s, uint32_t color, int size);
|
||||
int ui_width(const char *s, int size);
|
||||
|
||||
Reference in new issue
Block a user