diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index e45511c22afb937d7f935a4b9c82a5cd0872f418..7796bdab54077c986e51c0f5b93b9666d87e11c6 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -50,6 +50,7 @@ export default class EntryAbility extends UIAbility { hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); return; } + AppStorage.setOrCreate("context", windowStage.getMainWindowSync().getUIContext()); hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); }); } diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 9adab6b39117ac8ae8cc7979f978bb7d47ea59e3..6bcd909f5d06bda4609fca0efd6a79955054c1ee 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -14,7 +14,7 @@ */ import { fileIo } from '@kit.CoreFileKit'; -import { display, promptAction, router } from '@kit.ArkUI'; +import { display } from '@kit.ArkUI'; import { camera } from '@kit.CameraKit'; import { photoAccessHelper } from '@kit.MediaLibraryKit'; import player from 'libplayer.so'; @@ -47,7 +47,7 @@ struct Player { .then((photoSelectResult) => { this.selectFilePath = photoSelectResult.photoUris[0]; if (this.selectFilePath === null) { - promptAction.showToast({ + this.getUIContext().getPromptAction().showToast({ message: $r('app.string.alert'), duration: Const.DURATION, bottom: Const.BOTTOM @@ -77,7 +77,7 @@ struct Player { } async checkIsProfileSupport(): Promise { - let cameraManager: camera.CameraManager = camera.getCameraManager(getContext(this)); + let cameraManager: camera.CameraManager = camera.getCameraManager(this.getUIContext().getHostContext()); if (!cameraManager) { Logger.error(TAG, 'camera.getCameraManager error!'); } @@ -85,7 +85,7 @@ struct Player { let videoProfile: undefined | camera.VideoProfile = videoProfileCheck(cameraManager, this.cameraData); if (!videoProfile) { Logger.error(TAG, 'videoProfile is not found'); - promptAction.showToast({ + this.getUIContext().getPromptAction().showToast({ message: $r('app.string.alert_setting'), duration: Const.DURATION, bottom: Const.BOTTOM, @@ -110,7 +110,7 @@ struct Player { .backgroundColor($r('app.color.set_button_background')) .margin({ right: $r('app.float.set_button_margin_right') }) .onClick(() => { - TextPickerDialog.show({ + this.getUIContext().showTextPickerDialog({ defaultPickerItemHeight: Const.DEFAULT_PICKER_ITEM_HEIGHT, selectedTextStyle: ({ font: ({ @@ -194,7 +194,7 @@ struct Player { SaveButton({ text: SaveDescription.SAVE }) .onClick(async () => { - const context = getContext(this); + const context = this.getUIContext().getHostContext(); let helper = photoAccessHelper.getPhotoAccessHelper(context); let uri = await helper.createAsset(photoAccessHelper.PhotoType.VIDEO, 'mp4', { title: `AVCodecVideo_${DATETIME.getDate()}_${DATETIME.getTime()}` @@ -207,7 +207,7 @@ struct Player { this.cameraData.bitRate).then((data) => { if (data.surfaceId !== null) { this.cameraData.surfaceId = data.surfaceId; - router.pushUrl({ + this.getUIContext().getRouter().pushUrl({ url: 'pages/Recorder', params: this.cameraData }); diff --git a/entry/src/main/ets/pages/Recorder.ets b/entry/src/main/ets/pages/Recorder.ets index 15b550187662c913ba5d584692265d7b8aeb6cf1..54aaacb31f01fcb1fc151cdaf981844263625d32 100644 --- a/entry/src/main/ets/pages/Recorder.ets +++ b/entry/src/main/ets/pages/Recorder.ets @@ -15,7 +15,7 @@ import { camera } from '@kit.CameraKit'; import { fileIo } from '@kit.CoreFileKit'; -import { display, router } from '@kit.ArkUI'; +import { display } from '@kit.ArkUI'; import { BusinessError } from '@kit.BasicServicesKit'; import { colorSpaceManager } from '@kit.ArkGraphics2D'; import recorder from 'librecorder.so'; @@ -26,8 +26,8 @@ import { CameraDataModel } from '../model/CameraDateModel'; import { previewProfileCameraCheck, videoProfileCheck } from '../common/utils/CameraCheck'; const TAG: string = Const.RECORDER_TAG; - -const params: CameraDataModel = router.getParams() as CameraDataModel; +const context = AppStorage.get("context") as UIContext; +const params: CameraDataModel = context.getRouter().getParams() as CameraDataModel; let cameraInput: camera.CameraInput; let XComponentPreviewOutput: camera.PreviewOutput; @@ -140,7 +140,7 @@ struct Recorder { onPageHide() { this.release(); if (!this.isBack) { - router.back(); + this.getUIContext().getRouter().back(); } } @@ -170,7 +170,7 @@ struct Recorder { async createRecorder(): Promise { releaseCamera(); // Create the CameraManager object. - let cameraManager = camera.getCameraManager(getContext()); + let cameraManager = camera.getCameraManager(this.getUIContext().getHostContext()); if (!cameraManager) { Logger.error(TAG, 'camera.getCameraManager error'); return; @@ -370,7 +370,7 @@ struct Recorder { this.buttonEnabled = false; this.release(); this.isBack = true; - router.back(); + this.getUIContext().getRouter().back(); }) .enabled(this.buttonEnabled) }