diff --git a/entry/src/main/ets/common/AVPlayerUtil.ets b/entry/src/main/ets/common/AVPlayerUtil.ets index e34fe02a532e98919b2d93d1079b7d3419506d76..e23e4284cac8a76dddc1eb13730ef26801612afc 100644 --- a/entry/src/main/ets/common/AVPlayerUtil.ets +++ b/entry/src/main/ets/common/AVPlayerUtil.ets @@ -13,12 +13,15 @@ * limitations under the License. */ +import { BusinessError } from '@kit.BasicServicesKit'; import { media } from '@kit.MediaKit'; import { common } from '@kit.AbilityKit'; import Logger from './Logger'; const uiContext: UIContext | undefined = AppStorage.get('uiContext'); +const TAG = 'AVPlayerUtilLogTag'; + export class AVPlayerUtil { private surfaceId: string = ''; private avPlayer: media.AVPlayer | undefined = undefined; @@ -35,16 +38,22 @@ export class AVPlayerUtil { switch (state) { case 'idle': Logger.info('AVPlayer state idle called.'); - this.avPlayer?.release(); + this.avPlayer?.release().catch((error: BusinessError) => { + Logger.error(TAG, `release err, code: ${error.code}, mesage: ${error.message}`); + }); break; case 'initialized': Logger.info('AVPlayer state initialized called.'); this.avPlayer!.surfaceId = this.surfaceId; - this.avPlayer?.prepare(); + this.avPlayer?.prepare().catch((error: BusinessError) => { + Logger.error(TAG, `prepare err, code: ${error.code}, mesage: ${error.message}`); + }); break; case 'prepared': Logger.info('AVPlayer state prepared called.'); - this.avPlayer?.play(); + this.avPlayer?.play().catch((error: BusinessError) => { + Logger.error(TAG, `play err, code: ${error.code}, mesage: ${error.message}`); + }); break; case 'playing': Logger.info('AVPlayer state playing called.'); @@ -54,11 +63,15 @@ export class AVPlayerUtil { break; case 'completed': Logger.info('AVPlayer state completed called.'); - this.avPlayer?.play(); + this.avPlayer?.play().catch((error: BusinessError) => { + Logger.error(TAG, `play err, code: ${error.code}, mesage: ${error.message}`); + }); break; case 'stopped': Logger.info('AVPlayer state stopped called.'); - this.avPlayer?.reset(); + this.avPlayer?.reset().catch((error: BusinessError) => { + Logger.error(TAG, `reset err, code: ${error.code}, mesage: ${error.message}`); + }); break; case 'released': Logger.info('AVPlayer state released called.'); @@ -77,20 +90,27 @@ export class AVPlayerUtil { } async initPlayer(url: string, callBack: Function) { - this.avPlayer = await media.createAVPlayer(); - this.callBack = callBack; - this.setAVPlayerCallback(); + try { + this.avPlayer = await media.createAVPlayer(); + this.callBack = callBack; + this.setAVPlayerCallback(); - let context = uiContext!.getHostContext()! as common.UIAbilityContext; - let fileDescriptor = await context.resourceManager.getRawFd(url); - let avFileDescriptor: media.AVFileDescriptor = - { fd: fileDescriptor.fd, offset: fileDescriptor.offset, length: fileDescriptor.length }; - this.avPlayer.fdSrc = avFileDescriptor; - Logger.info(`fdSrc: ${this.avPlayer.fdSrc}`); + let context = uiContext!.getHostContext()! as common.UIAbilityContext; + let fileDescriptor = await context.resourceManager.getRawFd(url); + let avFileDescriptor: media.AVFileDescriptor = + { fd: fileDescriptor.fd, offset: fileDescriptor.offset, length: fileDescriptor.length }; + this.avPlayer.fdSrc = avFileDescriptor; + Logger.info(`fdSrc: ${this.avPlayer.fdSrc}`); + } catch (err) { + let error = err as BusinessError; + Logger.error(TAG, `initPlayer err, code: ${error.code}, mesage: ${error.message}`); + } } stopPlay() { this.avPlayer?.off('videoSizeChange'); - this.avPlayer?.stop(); + this.avPlayer?.stop().catch((error: BusinessError) => { + Logger.error(TAG, `stop err, code: ${error.code}, mesage: ${error.message}`); + }); } } diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index e155f48b5ca1fcb49234c68f1c45212b0f5e41c1..e8a67255ccf6628a655bb8782b5a4ad36e4644a9 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -14,8 +14,12 @@ */ import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; import { window } from '@kit.ArkUI'; +import Logger from '../common/Logger'; + +const TAG='EntryAbilityLogTag'; export default class EntryAbility extends UIAbility { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { @@ -30,23 +34,31 @@ export default class EntryAbility extends UIAbility { // Main window is created, set main page for this ability hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); - let windowClass: window.Window = windowStage.getMainWindowSync(); - windowClass.setWindowLayoutFullScreen(true); - let naviBarArea: window.AvoidArea = windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR); - let area: window.AvoidArea = windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM); - + try { + let windowClass: window.Window = windowStage.getMainWindowSync(); + windowClass.setWindowLayoutFullScreen(true).catch((error: BusinessError) => { + Logger.error(TAG, `setWindowLayoutFullScreen err, code: ${error.code}, mesage: ${error.message}`); + }); + let naviBarArea: window.AvoidArea = + windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR); + let area: window.AvoidArea = windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM); - windowStage.loadContent('pages/Index', (err) => { - if (err.code) { - hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); - return; - } - hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); - AppStorage.setOrCreate('naviIndicatorHeight', windowClass.getUIContext().px2vp(naviBarArea.bottomRect.height)); - AppStorage.setOrCreate('statusBarHeight', windowClass.getUIContext().px2vp(area.topRect.height)); - let uiContext: UIContext | undefined = windowStage.getMainWindowSync().getUIContext() - AppStorage.setOrCreate('uiContext', uiContext); - }); + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); + AppStorage.setOrCreate('naviIndicatorHeight', + windowClass.getUIContext().px2vp(naviBarArea.bottomRect.height)); + AppStorage.setOrCreate('statusBarHeight', windowClass.getUIContext().px2vp(area.topRect.height)); + let uiContext: UIContext | undefined = windowStage.getMainWindowSync().getUIContext() + AppStorage.setOrCreate('uiContext', uiContext); + }); + } catch (err) { + let error = err as BusinessError; + Logger.error(TAG, `onWindowStageCreate err, code: ${error.code}, mesage: ${error.message}`); + } } onWindowStageDestroy(): void { diff --git a/entry/src/main/ets/pages/Question7Correct.ets b/entry/src/main/ets/pages/Question7Correct.ets index 6c1c20b3442720c672cb69bedc922b985443c029..a927cf6ef45e7c2aaf5d5c3c720f151602601362 100644 --- a/entry/src/main/ets/pages/Question7Correct.ets +++ b/entry/src/main/ets/pages/Question7Correct.ets @@ -13,7 +13,11 @@ * limitations under the License. */ import { common } from '@kit.AbilityKit'; -import { promptAction, window } from '@kit.ArkUI'; +import { window } from '@kit.ArkUI'; +import { BusinessError } from '@kit.BasicServicesKit'; +import Logger from '../common/Logger'; + +const TAG='Question7CorrectLogTag'; @Builder export function Question7CorrectBuilder() { @@ -23,30 +27,42 @@ export function Question7CorrectBuilder() { // [Start Question7_correct] @Component export struct Question7Correct { - private windowClass = (this.getUIContext().getHostContext() as common.UIAbilityContext).windowStage.getMainWindowSync(); + private windowClass: window.Window | undefined = undefined; @State topSafeHeight: number = 0; @State windowStatus: WindowStatusType = window.WindowStatusType.FULL_SCREEN; aboutToAppear(): void { - this.windowClass.setSpecificSystemBarEnabled('status', false); - this.windowStatus = this.windowClass.getWindowStatus(); - - if (this.windowStatus === window.WindowStatusType.FLOATING) { - this.topSafeHeight = this.getUIContext().px2vp(this.windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height); - } + try { + this.windowClass=(this.getUIContext().getHostContext() as common.UIAbilityContext).windowStage.getMainWindowSync(); + this.windowClass.setSpecificSystemBarEnabled('status', false).catch((error:BusinessError) => { + Logger.error(TAG, `setSpecificSystemBarEnabled err, code: ${error.code}, mesage: ${error.message}`); + }); + this.windowStatus = this.windowClass.getWindowStatus(); - this.windowClass.on('windowStatusChange', data => { - if (data === window.WindowStatusType.FLOATING) { - this.topSafeHeight = - this.getUIContext().px2vp(this.windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height); - } else { - this.topSafeHeight = 0; + if (this.windowStatus === window.WindowStatusType.FLOATING) { + this.topSafeHeight = this.getUIContext() + .px2vp(this.windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height); } - }) + + this.windowClass.on('windowStatusChange', data => { + if (data === window.WindowStatusType.FLOATING) { + this.topSafeHeight = + this.getUIContext() + .px2vp(this.windowClass?.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height); + } else { + this.topSafeHeight = 0; + } + }) + } catch (err) { + let error = err as BusinessError; + Logger.error(TAG, `aboutToAppear err, code: ${error.code}, mesage: ${error.message}`); + } } aboutToDisappear(): void { - this.windowClass.setSpecificSystemBarEnabled('status', true); + this.windowClass?.setSpecificSystemBarEnabled('status', true).catch((error:BusinessError) => { + Logger.error(TAG, `setSpecificSystemBarEnabled err, code: ${error.code}, mesage: ${error.message}`); + }); } build() { @@ -64,9 +80,14 @@ export struct Question7Correct { top: this.topSafeHeight + 5 }) .onClick(() => { - this.getUIContext().getPromptAction().showToast({ - message: 'Action success' - }); + try { + this.getUIContext().getPromptAction().showToast({ + message: 'Action success' + }); + } catch (err) { + let error = err as BusinessError; + Logger.error(TAG, `showToast err, code: ${error.code}, mesage: ${error.message}`); + } }) } .height('100%') diff --git a/entry/src/main/ets/pages/Question7Incorrect.ets b/entry/src/main/ets/pages/Question7Incorrect.ets index e60a4026e588e58bd24d7effd614341dcbce384e..cab586cb847daed03bf0063d5824a98eec4b209f 100644 --- a/entry/src/main/ets/pages/Question7Incorrect.ets +++ b/entry/src/main/ets/pages/Question7Incorrect.ets @@ -13,24 +13,38 @@ * limitations under the License. */ import { common } from '@kit.AbilityKit'; -import { promptAction } from '@kit.ArkUI'; +import { BusinessError } from '@kit.BasicServicesKit'; +import { window } from '@kit.ArkUI'; +import Logger from '../common/Logger'; @Builder export function Question7IncorrectBuilder() { Question7Incorrect() } +const TAG='Question7IncorrectLogTag'; + // [Start Question7_incorrect] @Component export struct Question7Incorrect { - private windowClass = (this.getUIContext().getHostContext() as common.UIAbilityContext).windowStage.getMainWindowSync(); + private windowClass: window.Window | undefined = undefined; aboutToAppear(): void { - this.windowClass.setSpecificSystemBarEnabled('status', false); + try { + this.windowClass=(this.getUIContext().getHostContext() as common.UIAbilityContext).windowStage.getMainWindowSync(); + this.windowClass.setSpecificSystemBarEnabled('status', false).catch((error:BusinessError) => { + Logger.error(TAG, `setSpecificSystemBarEnabled err, code: ${error.code}, mesage: ${error.message}`); + }); + } catch (err) { + let error = err as BusinessError; + Logger.error(TAG, `aboutToAppear err, code: ${error.code}, mesage: ${error.message}`); + } } aboutToDisappear(): void { - this.windowClass.setSpecificSystemBarEnabled('status', true); + this.windowClass?.setSpecificSystemBarEnabled('status', true).catch((error:BusinessError) => { + Logger.error(TAG, `setSpecificSystemBarEnabled err, code: ${error.code}, mesage: ${error.message}`); + }); } build() { @@ -51,9 +65,14 @@ export struct Question7Incorrect { }) // [EndExclude Question7_incorrect] .onClick(() => { - this.getUIContext().getPromptAction().showToast({ - message: 'Action success' - }); + try { + this.getUIContext().getPromptAction().showToast({ + message: 'Action success' + }); + } catch (err) { + let error = err as BusinessError; + Logger.error(TAG, `showToast err, code: ${error.code}, mesage: ${error.message}`); + } }) } .height('100%') diff --git a/entry/src/main/ets/pages/Question8Correct.ets b/entry/src/main/ets/pages/Question8Correct.ets index 4d18e81ae7a6caaed2bc3e0db7870355489fa84f..3bc20361508e80ae6e4a73f9657fb5129201013f 100644 --- a/entry/src/main/ets/pages/Question8Correct.ets +++ b/entry/src/main/ets/pages/Question8Correct.ets @@ -14,23 +14,40 @@ */ import { common } from '@kit.AbilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; +import Logger from '../common/Logger'; +import { window } from '@kit.ArkUI'; @Builder export function Question8CorrectBuilder() { Question8Correct() } +const TAG='Question8CorrectLogTag'; + // [Start Question8_correct] @Component export struct Question8Correct { - private windowClass = (this.getUIContext().getHostContext() as common.UIAbilityContext).windowStage.getMainWindowSync(); + private windowClass: window.Window | undefined = undefined; aboutToAppear(): void { - this.windowClass.enableLandscapeMultiWindow(); + try { + this.windowClass=(this.getUIContext().getHostContext() as common.UIAbilityContext).windowStage.getMainWindowSync(); + this.windowClass.enableLandscapeMultiWindow().catch((error:BusinessError) => { + Logger.error(TAG, `enableLandscapeMultiWindow err, code: ${error.code}, mesage: ${error.message}`); + }); + } catch (err) { + let error = err as BusinessError; + Logger.error(TAG, `aboutToAppear err, code: ${error.code}, mesage: ${error.message}`); + } + + } aboutToDisappear(): void { - this.windowClass.disableLandscapeMultiWindow(); + this.windowClass?.disableLandscapeMultiWindow().catch((error:BusinessError) => { + Logger.error(TAG, `disableLandscapeMultiWindow err, code: ${error.code}, mesage: ${error.message}`); + }); } build() {