diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index 5589fca002eefac2b1cb14e73c5e81ef609bc473..d5b9c83562e5c40cf7449222dcf7eaf73157ec8e 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -22,6 +22,7 @@ const TAG: string = '[EntryAbility]'; export default class EntryAbility extends UIAbility { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); + AppStorage.setOrCreate("context", this.context); hilog.info(0x0000, TAG, 'Ability onCreate'); hilog.info(0x0000, TAG, `want:${JSON.stringify(want)}`); hilog.info(0x0000, TAG, `launchParam:${JSON.stringify(launchParam)}`); @@ -34,12 +35,12 @@ export default class EntryAbility extends UIAbility { onWindowStageCreate(windowStage: window.WindowStage): void { // Main window is created, set main page for this ability hilog.info(0x0000, TAG, '%{public}s', 'Ability onWindowStageCreate'); - this.immersionFuc(windowStage); windowStage.loadContent('pages/Index', (err) => { if (err.code) { hilog.error(0x0000, TAG, 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); return; } + this.immersionFuc(windowStage); hilog.info(0x0000, TAG, 'Succeeded in loading the content.'); }); } @@ -64,6 +65,10 @@ export default class EntryAbility extends UIAbility { */ immersionFuc(windowStage: window.WindowStage): void { let windowClass: window.Window = windowStage.getMainWindowSync(); + if (!windowClass) { + return; + } + let SystemBarProperties: window.SystemBarProperties = { statusBarContentColor: '#000000' }; @@ -71,8 +76,9 @@ export default class EntryAbility extends UIAbility { windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR); let area: window.AvoidArea = windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM); windowClass.setWindowSystemBarProperties(SystemBarProperties); - AppStorage.setOrCreate('naviIndicatorHeight', px2vp(navigationBarArea.bottomRect.height)); - AppStorage.setOrCreate('statusBarHeight', px2vp(area.topRect.height)); + const context = windowClass.getUIContext(); + AppStorage.setOrCreate('naviIndicatorHeight',context.px2vp(navigationBarArea.bottomRect.height)); + AppStorage.setOrCreate('statusBarHeight', context.px2vp(area.topRect.height)); AppStorage.setOrCreate('windowClass', windowClass); } } \ No newline at end of file diff --git a/entry/src/main/ets/view/ShortTermTaskPage.ets b/entry/src/main/ets/view/ShortTermTaskPage.ets index 74368618984c995bb393eb4c2b573dc04dff2f75..c583d46a0a2ab0c39e2ef4ff6c1c875cf25c0972 100644 --- a/entry/src/main/ets/view/ShortTermTaskPage.ets +++ b/entry/src/main/ets/view/ShortTermTaskPage.ets @@ -14,7 +14,6 @@ */ import { hilog } from '@kit.PerformanceAnalysisKit'; -import { promptAction } from '@kit.ArkUI'; import { ShortTermTaskModel } from '../viewModel/ShortTermTaskModel'; import SuspendTaskUtils from '../utils/SuspendTaskUtils'; @@ -57,11 +56,11 @@ export struct ShortTermTaskPage { .onClick(async () => { try { let delayTime = await SuspendTaskUtils.getRemainingDelayTime(this.shortTermTaskModel.suspendTaskInfo.id); - promptAction.showToast({ + this.getUIContext().getPromptAction().showToast({ message: $r('app.string.remaining_time', delayTime) }); } catch (err) { - promptAction.showToast({ + this.getUIContext().getPromptAction().showToast({ message: $r('app.string.remain_time_fail') }); } @@ -70,7 +69,7 @@ export struct ShortTermTaskPage { .buttonStyles() .onClick(() => { let isCancelSuspendDelay = SuspendTaskUtils.cancelSuspendDelay(this.shortTermTaskModel.suspendTaskInfo.id); - promptAction.showToast({ + this.getUIContext().getPromptAction().showToast({ message: isCancelSuspendDelay ? $r('app.string.cancel_short_success') : $r('app.string.cancel_short_failed') }); diff --git a/entry/src/main/ets/viewModel/LongTermTaskModel.ets b/entry/src/main/ets/viewModel/LongTermTaskModel.ets index 45aaff295e7ee74c2bcd2048c2c6afc14d07a028..35d9db2efc11deced1f40f23ca4b838be7418f5e 100644 --- a/entry/src/main/ets/viewModel/LongTermTaskModel.ets +++ b/entry/src/main/ets/viewModel/LongTermTaskModel.ets @@ -22,7 +22,7 @@ import { geoLocationManager } from '@kit.LocationKit'; const TAG: string = '[LongTermTaskModel]'; export class LongTermTaskModel { - private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + private context: common.UIAbilityContext = AppStorage.get("context") as common.UIAbilityContext; // Apply for location-related permissions requestPermissionsFromUser(): void { diff --git a/entry/src/main/ets/viewModel/ShortTermTaskModel.ets b/entry/src/main/ets/viewModel/ShortTermTaskModel.ets index 42b254a839d65328da4a04f33bda16a750b31dc4..d434305d6b2804e841ef6e583440153594e4d027 100644 --- a/entry/src/main/ets/viewModel/ShortTermTaskModel.ets +++ b/entry/src/main/ets/viewModel/ShortTermTaskModel.ets @@ -22,7 +22,7 @@ const TAG: string = '[ShortTermTaskModel]'; export class ShortTermTaskModel { public suspendTaskInfo: SuspendTaskInfo = { id: 0, delayTime: 0 }; - private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + private context: common.UIAbilityContext = AppStorage.get("context") as common.UIAbilityContext; // Apply front - and back-end status monitoring subscribeStateChange() {