fix(launcher): 开机亮度停100竞态 (agent-230) — settings未读到前不盲写100, 挂起+读到后补应用; launcher aa6c95a4→8ebae666; 宿主4场景PASS
This commit is contained in:
1 parent
c7d02e66e9
commit
f34818037f
8 files changed
+135
-2
No files matched your search
@@ -17,18 +17,33 @@ int meow_auto_slept = 0; /* M2.17:当前是否「超时自动息屏」置
|
||||
/* brightness save/restore (defined below, used by run_menu) */
|
||||
int saved_brightness = -1;
|
||||
|
||||
/* M2.86:亮度「待补应用」挂起标志。launcher 被 sysui 在 S70 早拉起,早于 /usr/data(UBIFS) 就绪,
|
||||
* settings_load 读到的是纯默认值(display.brightness=101→clamp 100);此时 apply_user_brightness
|
||||
* 若照写 100 即「开机遇 100 满亮」。修:设置未真正读到盘上时挂起,待 run_menu 轮询 settings_load
|
||||
* 成功(meow_settings_loaded()==1)后补应用真实用户亮度。 */
|
||||
int meow_brightness_pending = 0;
|
||||
|
||||
|
||||
/* M2.53:MeowOS 主屏接管时把亮度强制压回用户设置值(display.brightness,经
|
||||
* meow_settings_brightness_clamped() —— 下限 brightness_min 默认 1、上限 100),
|
||||
* 覆盖 HibyOS 播放器写入 sysfs 的背光下限(16/25)。仅应在「MeowOS 真正接管画面」
|
||||
* (播放器已死、主屏常驻,即 run_menu 的 had_player==0)时调用;播放器会话期间的
|
||||
* 覆盖菜单(had_player==1)不去抢亮度——尊重播放器背光(§红线)。 */
|
||||
* 覆盖菜单(had_player==1)不去抢亮度——尊重播放器背光(§红线)。
|
||||
* M2.86:设置未读到(meow_settings_loaded()==0,S70 早启动 /usr/data 未就绪)时不盲目写 100 ——
|
||||
* 挂起 meow_brightness_pending,待设置就绪后由 settings_load()(run_menu 每 2s 重试)补应用。 */
|
||||
void apply_user_brightness(void)
|
||||
{
|
||||
if (!meow_settings_loaded()) {
|
||||
if (!meow_brightness_pending)
|
||||
logmsg("apply user brightness: settings unloaded, defer (not forcing 100)");
|
||||
meow_brightness_pending = 1;
|
||||
return;
|
||||
}
|
||||
int v = meow_settings_brightness_clamped();
|
||||
if (v <= 0) v = 60; /* 防御:clamp 后不可能 ≤0,仅兜底 */
|
||||
write_brightness(v);
|
||||
g_sys.brightness = v;
|
||||
meow_brightness_pending = 0;
|
||||
logmsg("apply user brightness (MeowOS takeover) -> %d", v);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user