import common from "@ohos.app.ability.common";
import { getBreakpointState, getWindowSafeAreaState } from "@core/layoutstate";
import { WindowAdapter } from "../adapter/WindowAdapter";
/**
* @file 应用入口 ViewModel,负责沉浸式窗口、安全区与断点监听初始化
* @author Joker.X
*/
export default class EntryViewModel {
/**
* 窗口能力适配器
*/
private readonly windowAdapter: WindowAdapter = new WindowAdapter(
getWindowSafeAreaState(),
getBreakpointState()
);
/**
* 入口页面初始化
* 由 EntryPage.aboutToAppear 调用,统一触发窗口相关初始化
* @param {Context} context - 组件上下文
* @returns {void} 无返回值
*/
aboutToAppear(context: common.Context): void {
this.windowAdapter.init(context);
}
/**
* 入口页面销毁
* 由 EntryPage.aboutToDisappear 调用,释放窗口监听
* @returns {void} 无返回值
*/
aboutToDisappear(): void {
this.windowAdapter.dispose();
}
}