diff --git a/build-profile.json5 b/build-profile.json5 index cde2069de4f9d27b83a2bddc456a7666459b70df..651829e3213b5de16149c9db23ceb3e01533aab7 100644 --- a/build-profile.json5 +++ b/build-profile.json5 @@ -5,7 +5,7 @@ { "name": "default", "signingConfig": "default", - "compatibleSdkVersion": "5.0.0(12)", + "compatibleSdkVersion": "5.0.4(16)", "runtimeOS": "HarmonyOS" } ], diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index 58891ad731afba615be680995a091c1f9d7f3e90..84860049d22bf125b142f0dc64c0ad0282b0ef91 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -48,6 +48,7 @@ export default class EntryAbility extends UIAbility { }); this.requestPermissionsFn(); windowStage.loadContent('pages/Index', (err, data) => { + AppStorage.setOrCreate('uiContext', windowStage.getMainWindowSync().getUIContext()); if (err.code) { Logger.info(TAG, 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); return; diff --git a/entry/src/main/ets/mode/CameraService.ets b/entry/src/main/ets/mode/CameraService.ets index a72acb8b76078699eee8927eb8afd49940f21909..78317569f84886f19a8268d803c35949a9e03754 100644 --- a/entry/src/main/ets/mode/CameraService.ets +++ b/entry/src/main/ets/mode/CameraService.ets @@ -25,6 +25,8 @@ import { Constants } from '../common/Constants'; const TAG: string = 'CameraService'; +const uiContext: UIContext | undefined = AppStorage.get('uiContext'); + export class SliderValue { min: number = 1; max: number = 6; @@ -309,7 +311,7 @@ class CameraService { async saveCameraPhoto(asset: photoAccessHelper.PhotoAsset) { Logger.info('saveCameraPhoto'); try { - let context = getContext(this); + let context = uiContext?.getHostContext(); let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context); let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset); @@ -694,7 +696,7 @@ class CameraService { initFd(): number { Logger.info(TAG, 'initFd is called'); - let filesDir = getContext().filesDir; + let filesDir = uiContext?.getHostContext()!.filesDir; let filePath = filesDir + `/${Date.now()}.mp4`; AppStorage.setOrCreate('filePath', filePath); let file: fileIo.File = fileIo.openSync(filePath, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE); diff --git a/entry/src/main/ets/pages/EditPage.ets b/entry/src/main/ets/pages/EditPage.ets index b82ed4519e79dccb318e3240661babd8966bb173..8cd2886521ded8e302849e7191886878523223b7 100644 --- a/entry/src/main/ets/pages/EditPage.ets +++ b/entry/src/main/ets/pages/EditPage.ets @@ -81,7 +81,7 @@ struct EditPage { let curPhotoAsset = GlobalContext.get().getT('photoAsset'); this.photoUri = curPhotoAsset.uri; let requestImageParams: RequestImageParams = { - context: getContext(), + context: this.getUIContext().getHostContext(), photoAsset: curPhotoAsset, callback: this.photoBufferCallback }; @@ -105,7 +105,7 @@ struct EditPage { Logger.info(TAG, 'back onClick'); // delete video file when router back fileIo.unlink(this.videoUri); - router.back(); + this.getUIContext().getRouter().back(); }) .width(Constants.BACK_ICON_SIZE) .height(Constants.BACK_ICON_SIZE) diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 6ab5473c8129bec4056d2f87c3f87c1e95b6b778..6d194057395b594592a27383fcaea57413d3b391 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -93,8 +93,8 @@ struct Index { color: Color.Black }) // The width and height of the surface are opposite to those of the Xcomponent. - .width(px2vp(Constants.X_COMPONENT_SURFACE_HEIGHT)) - .height(px2vp(Constants.X_COMPONENT_SURFACE_WIDTH)) + .width(this.getUIContext().px2vp(Constants.X_COMPONENT_SURFACE_HEIGHT)) + .height(this.getUIContext().px2vp(Constants.X_COMPONENT_SURFACE_WIDTH)) } // Exposure frame and focus frame. FocusComponent({ @@ -106,8 +106,8 @@ struct Index { FocusAreaComponent({ focusPointBol: $focusPointBol, focusPointVal: $focusPointVal, - xComponentWidth: px2vp(Constants.X_COMPONENT_SURFACE_HEIGHT), - xComponentHeight: px2vp(Constants.X_COMPONENT_SURFACE_WIDTH) + xComponentWidth: this.getUIContext().px2vp(Constants.X_COMPONENT_SURFACE_HEIGHT), + xComponentHeight: this.getUIContext().px2vp(Constants.X_COMPONENT_SURFACE_WIDTH) }) // slide SlideComponent() diff --git a/entry/src/main/ets/views/ModeComponent.ets b/entry/src/main/ets/views/ModeComponent.ets index ad2480af4cba7a41465b627ca61b64707d42a318..9c171fecdb3c967ce2406e8d7ff8df1f232c5278 100644 --- a/entry/src/main/ets/views/ModeComponent.ets +++ b/entry/src/main/ets/views/ModeComponent.ets @@ -55,7 +55,7 @@ export struct ModeComponent { onJumpClick(): void { GlobalContext.get().setObject('sceneMode', this.sceneMode); - router.pushUrl({ url: 'pages/EditPage' }, router.RouterMode.Single, (err) => { + this.getUIContext().getRouter().pushUrl({ url: 'pages/EditPage' }, router.RouterMode.Single, (err) => { if (err) { Logger.error(TAG, `Invoke pushUrl failed, code is ${err.code}, message is ${err.message}`); return;