feat(launcher): 蓝牙/WiFi 独立子页面(安卓风)— 新增 subpage.c 统一脚手架(顶栏+分组列表+跟手滚动+左缘返回) + wifi_page.c(开关/当前连接详情/已保存/附近,BSSID去重+中文SSID) + bt_page.c(开关/已连接/已配对/附近扫描配对);SMENU 网络组收敛为 2 入口行 (agent-178)

launcher bd37c8b0→d10c0e8a; 改动文件 -Wall -Wextra 0 warning; 真机待验证: 蓝牙 pair/connect、开关联动、触摸几何
出入: 中文SSID/BSSID去重复用 net.c 既有实现; 模态复用 s_dd_modal(SDK 模态层未上收, 未改 SDK); s_net_open 旧分支留作死代码未删
This commit is contained in:
MeowOS committed 2026-08-31 03:41:51 +08:00
1 parent 366bf6bb5d
commit f2786552d5
10 files changed
+1122 -86

No files matched your search

+3 -3
View File
@@ -553,11 +553,11 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state,
* 8s 强关永远不在此 hold 上再触发 —— 由菜单自身的「按当前项确认」/取消
* 决定动作。避免「按住电源开菜单->确认取消->仍按住->run_menu 8s 强关」残留。
* M2.37:阈值接 power.forceoff_ms(默认 8000),强关保持 > 弹菜单上限。 */
if (t - pwr_hold_at >= power_forceoff_ms && !pwr_menu_state) {
if (t - pwr_hold_at >= (unsigned long long)power_forceoff_ms && !pwr_menu_state) {
if (sim_no_exec) { logmsg("pm: [sim-no-exec] POWER HOLD %dms -> would force poweroff", power_forceoff_ms); }
else { logmsg("pm: POWER HOLD %dms -> force poweroff", power_forceoff_ms); meow_power_action(POWER_SHUTDOWN); }
m_prev_pwr = pwr; continue;
} else if (t - pwr_hold_at >= power_longpress_menu_ms && !pwr_menu_state) {
} else if (t - pwr_hold_at >= (unsigned long long)power_longpress_menu_ms && !pwr_menu_state) {
pwr_menu_state = 1;
logmsg("pm: POWER HOLD %dms -> show power menu", power_longpress_menu_ms);
show_power_menu(); /* 动作在函数内 system(); 取消则续循环 */
@@ -597,7 +597,7 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state,
/* M2.34:本次电源按下来自「电源菜单内确认/取消」,其松开不得 toggle 息屏
* (否则关机/重启画面被息屏覆盖,或焦点在取消键单击电源导致熄屏)。 */
logmsg("pm: power release after power-menu -> no toggle (suppress)");
} else if (pwr_hold_at && (t - pwr_hold_at < power_longpress_menu_ms) && !pwr_menu_state && !pwr_woke) {
} else if (pwr_hold_at && (t - pwr_hold_at < (unsigned long long)power_longpress_menu_ms) && !pwr_menu_state && !pwr_woke) {
logmsg("pm: power single-click -> toggle panel (was %s)", meow_screen_on ? "on" : "off");
meow_toggle_panel();
if (meow_screen_on) {