hasPendingHelperUpdate method
检测 Windows 端是否存在待生效的 helper 更新(.old 存在且服务 running)。
命中意味着运行中的服务仍挂在旧版二进制上,需重启服务(restartService)
才能应用新版;.old 在服务重启后由 Go 侧清理,信号自洽。异常一律返回
false(按无更新处理,不打扰用户)。
Implementation
@override
Future<bool> hasPendingHelperUpdate() async {
try {
final io.Directory dir = await ProfileStorage().getStorageDirectory();
final io.File oldFile = _oldFileIn(dir, WindowsConstants.helperFileName);
// await 使 evaluatePendingUpdate 内的异常落入本地 catch(否则随 Future 逃逸)
return await evaluatePendingUpdate(
oldFileExists: () => oldFile.exists(),
queryStatus: () => queryServiceStatus(),
);
} catch (e) {
debugPrint('检测待生效 helper 更新失败: $e');
return false;
}
}