// 检测是否在联网成功到获取时间线完成这个阶段
ThunderBirdModel *model = ThunderBirdModel::GetInstance();
bool hasNetwork = (model != nullptr) ? model->HasNetwork() : false;
+ bool isBound = (model != nullptr) ? model->getbind_status() : false;
- // 如果联网成功但时间线未获取,不休眠
- if (hasNetwork && !g_timelineReceived) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenStatusNotify: 联网成功但时间线未获取,不休眠");
+ // 无论是否绑定,都需要联网才能休眠
+ if (!hasNetwork) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenStatusNotify: 未联网,不休眠");
return;
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenStatusNotify: 联网成功且时间线已获取,执行休眠");
+
+ // 如果已绑定:需要等待时间线获取完成才能休眠
+ // 如果未绑定:联网成功就可以休眠,不需要等待时间线
+ if (isBound && !g_timelineReceived) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenStatusNotify: 已绑定且联网成功但时间线未获取,不休眠");
+ return;
+ }
+
+ // 未绑定且联网成功,或已绑定且时间线已获取,允许休眠
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenStatusNotify: 执行休眠 (isBound=%d, hasNetwork=%d, timelineReceived=%d)",
+ isBound, hasNetwork, g_timelineReceived);
// 立即执行休眠操作
ln_ws_enter_sleep();
}