diff --git a/src/main/ets/ContextConfig.ets b/src/main/ets/ContextConfig.ets index 7425757..cece028 100644 --- a/src/main/ets/ContextConfig.ets +++ b/src/main/ets/ContextConfig.ets @@ -4,10 +4,11 @@ import type common from '@ohos.app.ability.common'; import { WindowHelper } from './utils/WindowHelper'; +import { BusinessError } from '@kit.BasicServicesKit'; declare namespace globalThis { let _brushEngineContext: common.UIAbilityContext; - let _uiUIContext: UIContext[]; + let _uiUIContext: UIContext; }; export class GlobalContext { @@ -17,22 +18,23 @@ export class GlobalContext { static setContext(context: common.UIAbilityContext): void { globalThis._brushEngineContext = context; - WindowHelper.windowClass = context.windowStage.getMainWindowSync() + + context.windowStage.getMainWindow((err: BusinessError, data) => { + let errCode: number = err.code; + if (errCode) { + console.error(`Failed to obtain the main window. Cause code: ${err.code}, message: ${err.message}`); + return; + } + WindowHelper.windowClass = data; + globalThis._uiUIContext = WindowHelper.windowClass.getUIContext(); + }); } - static pushUIContext(context: UIContext): void { - if (!globalThis._uiUIContext) { - globalThis._uiUIContext = [] - } - globalThis._uiUIContext.push(context); - } - static popUIContext(): void { - globalThis._uiUIContext.splice(globalThis._uiUIContext.length-1,1) - } - static getUiContext(): UIContext|undefined { + + static getUiContext(): UIContext | undefined { if (globalThis._uiUIContext === undefined) { return undefined; } - return globalThis._uiUIContext[globalThis._uiUIContext.length-1]; + return globalThis._uiUIContext; } } diff --git a/src/main/ets/utils/ToolsHelper.ets b/src/main/ets/utils/ToolsHelper.ets index c8c1586..9b118cf 100644 --- a/src/main/ets/utils/ToolsHelper.ets +++ b/src/main/ets/utils/ToolsHelper.ets @@ -261,11 +261,19 @@ export class ToolsHelper { * @param msg */ static showMessage(msg: string) { - console.info(msg); - promptAction.showToast({ - message: msg, - duration: 1500 - }); + + const pa = GlobalContext.getUiContext()?.getPromptAction() + if (pa) { + pa.showToast({ + message: msg, + duration: 1500 + }); + } else { + promptAction.showToast({ + message: msg, + duration: 1500 + }); + } } diff --git a/src/main/ets/view/SafeView.ets b/src/main/ets/view/SafeView.ets index 2596e40..db845a5 100644 --- a/src/main/ets/view/SafeView.ets +++ b/src/main/ets/view/SafeView.ets @@ -48,13 +48,6 @@ export struct SafeView { // 设置导航栏底下标题 @Prop bottomTitleText: ResourceStr - aboutToAppear(): void { - GlobalContext.pushUIContext(this.getUIContext()) - } - aboutToDisappear(): void { - GlobalContext.popUIContext() - } - @Builder doNothingBuilder() { }