diff --git a/build-profile.json5 b/build-profile.json5 index c033ce4278fb0641d84107c3c134047ac487368e..e8de1a3cb6ba71c60762653ebac9cfdc1cfa0132 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 b0bcd606b5ef1ff5eddd939c7c7db21cab08ba49..2a5e5e240666fa22ee8e568ceb31fd4cd10e7d60 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -29,16 +29,18 @@ export default class EntryAbility extends UIAbility { onWindowStageCreate(windowStage: window.WindowStage): void { // Main window is created, set main page for this ability hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + windowStage.getMainWindow((err, data) => { if (err.code) { hilog.info(0x0000, 'testTag', '%{public}s', 'getMainWindow failed'); return; } data.setWindowLayoutFullScreen(true); - }) windowStage.loadContent('pages/Index', (err) => { + let windowsClass: window.Window = windowStage.getMainWindowSync() + AppStorage.setOrCreate('uiContext',windowsClass.getUIContext()) if (err.code) { hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); return; diff --git a/entry/src/main/ets/pages/NewPlayPage.ets b/entry/src/main/ets/pages/NewPlayPage.ets index 3d3261585bfdf858c87f8d1c8a3afa223990ed8d..3bc04e94da8755b15062c479fd98b6f58affe546 100644 --- a/entry/src/main/ets/pages/NewPlayPage.ets +++ b/entry/src/main/ets/pages/NewPlayPage.ets @@ -27,7 +27,7 @@ struct NewPlayPage { private backDisplaySync: displaySync.DisplaySync | undefined = undefined; aboutToAppear(): void { - this.avPlayer.avPlayerPlay(); + this.avPlayer.avPlayerPlay(this.getUIContext()); if (this.backDisplaySync === undefined) { this.CreateDisplaySync(); } @@ -67,7 +67,7 @@ struct NewPlayPage { .fillColor(Color.White) .margin({ left: CONSTANT.COMMON_DISTANCE }) .onClick(() => { - router.back(); + this.getUIContext().getRouter().back(); }) .width(CONSTANT.STATIC_ICON_SIZE) .height(CONSTANT.STATIC_ICON_SIZE) diff --git a/entry/src/main/ets/view/AVPlayerItem.ets b/entry/src/main/ets/view/AVPlayerItem.ets index 5aa6909e345606533e01379b897f950aefce93b5..351883c3235e0dc2ffd18ea164134c4899a68fb8 100644 --- a/entry/src/main/ets/view/AVPlayerItem.ets +++ b/entry/src/main/ets/view/AVPlayerItem.ets @@ -66,11 +66,11 @@ export class AVPlayerItem { }) } - async avPlayerPlay() { + async avPlayerPlay(uiContext:UIContext) { this.avPlayer = await media.createAVPlayer(); this.avPlayer.setSpeed(media.PlaybackSpeed.SPEED_FORWARD_1_00_X); this.setAVPlayerCallback(this.avPlayer); - let context = getContext(this) as common.UIAbilityContext; + let context = uiContext.getHostContext() as common.UIAbilityContext; let fileDescriptor = await context.resourceManager.getRawFd(VIDEO_NAME); this.totalTime = fileDescriptor.length; this.curTime = fileDescriptor.offset; diff --git a/entry/src/main/ets/view/SampleUnitAVPlayView.ets b/entry/src/main/ets/view/SampleUnitAVPlayView.ets index 7327451f142f5858dfe06005ebbf91b5223d6aa2..3961c0f1950c03aca33f0c4d136707f2adfd1532 100644 --- a/entry/src/main/ets/view/SampleUnitAVPlayView.ets +++ b/entry/src/main/ets/view/SampleUnitAVPlayView.ets @@ -42,14 +42,14 @@ export default struct SampleUnitAVPlayView { aboutToAppear(): void { if (display.getFoldStatus() === display.FoldStatus.FOLD_STATUS_EXPANDED) { - this.sliderWidth = px2vp(SURFACE_SIZE); + this.sliderWidth = this.getUIContext().px2vp(SURFACE_SIZE); } display.on('foldStatusChange', () => { if (display.getFoldStatus() === display.FoldStatus.FOLD_STATUS_FOLDED) { this.sliderWidth = X_COMPONENT_WIDTH; } else { - this.sliderWidth = px2vp(SURFACE_SIZE); + this.sliderWidth = this.getUIContext().px2vp(SURFACE_SIZE); } }); } @@ -102,7 +102,7 @@ export default struct SampleUnitAVPlayView { .blockSize({ width: 4, height: 4 }) .onVisibleAreaChange([0.0, 1.0], (isVisible: boolean, currentRatio: number) => { if (isVisible) { - animateTo({ + this.getUIContext().animateTo({ duration: DURATION, iterations: -1, expectedFrameRateRange: { diff --git a/entry/src/main/ets/view/SampleUnitVideoSecondView.ets b/entry/src/main/ets/view/SampleUnitVideoSecondView.ets index 0f8f6ad55ba45c0d32a8bacbf347cc01540b745e..59e7d004353900070e97f16287a6b34c534f199d 100644 --- a/entry/src/main/ets/view/SampleUnitVideoSecondView.ets +++ b/entry/src/main/ets/view/SampleUnitVideoSecondView.ets @@ -85,7 +85,7 @@ export default struct SampleUnitVideoSecondView { .blockSize({ width: 4, height: 4 }) .onVisibleAreaChange([0.0, 1.0], (isVisible: boolean, currentRatio: number) => { if (isVisible) { - animateTo({ + this.getUIContext().animateTo({ duration: DURATION, iterations: -1, expectedFrameRateRange: { diff --git a/entry/src/main/ets/view/SampleUnitVideoView.ets b/entry/src/main/ets/view/SampleUnitVideoView.ets index 09497761d1f0602cd9b6643c955e898d71a7dde9..13f1f3b8063cad27424bbc222fdc8e8b9da4de80 100644 --- a/entry/src/main/ets/view/SampleUnitVideoView.ets +++ b/entry/src/main/ets/view/SampleUnitVideoView.ets @@ -67,7 +67,7 @@ export default struct SampleUnitVideoView { } }) .onClick(() => { - router.pushUrl({ url: ROUTER_URL }); + this.getUIContext().getRouter().pushUrl({ url: ROUTER_URL }); }) } diff --git a/entry/src/main/ets/viewmodel/BasicDataSource.ets b/entry/src/main/ets/viewmodel/BasicDataSource.ets index c56e29560ccc8db40481e4ab6906ae3fc18cf320..dceef7a62eddc08da21791bbb4f54dedcf2cb92d 100644 --- a/entry/src/main/ets/viewmodel/BasicDataSource.ets +++ b/entry/src/main/ets/viewmodel/BasicDataSource.ets @@ -17,6 +17,8 @@ import { AVPlayerItem } from '../view/AVPlayerItem'; import ButtonUnitItem from './ButtonUnitItem'; import TitleUnitItem from './TitleUnitItem'; import SampleUnitItem from './SampleUnitItem'; +import App from '@system.app'; +import { common } from '@kit.AbilityKit'; export class DataSource { dataSource: BasicDataSource = new BasicDataSource(); @@ -44,14 +46,15 @@ class BasicDataSource implements IDataSource { private listeners: DataChangeListener[] = []; constructor() { + let uiContext = AppStorage.get('uiContext') as UIContext let buttonUnit: ButtonUnitItem = new ButtonUnitItem($r('app.media.share'), 5, $r('app.media.like'), 18, $r('app.media.collect'), 53); let areaUnit: TitleUnitItem = new TitleUnitItem($r('app.media.avatar'), - getContext(this).resourceManager.getStringSync($r('app.string.show_netname')), - getContext(this).resourceManager.getStringSync($r('app.string.show_time')), + uiContext.getHostContext()!.resourceManager.getStringSync($r('app.string.show_netname')), + uiContext.getHostContext()!.resourceManager.getStringSync($r('app.string.show_time')), ); - let textContext = getContext(this).resourceManager.getStringSync($r('app.string.show_text')); + let textContext = uiContext.getHostContext()!.resourceManager.getStringSync($r('app.string.show_text')); let data: SampleUnitItem[] = [ new SampleUnitItem('video', areaUnit, textContext, buttonUnit, this.imageArray1, new VideoController(),