diff --git a/commons/base/src/main/ets/utils/AvPlayerUtil.ets b/commons/base/src/main/ets/utils/AvPlayerUtil.ets index 47667c914623ba9f24792d4d4181903f8cb138b6..9a6291c44e106297c40e7f40ed7841c9ffdc01d4 100644 --- a/commons/base/src/main/ets/utils/AvPlayerUtil.ets +++ b/commons/base/src/main/ets/utils/AvPlayerUtil.ets @@ -105,16 +105,20 @@ export class AvPlayerUtil { } async createAvPlayer(surfaceId: string): Promise { - if (this.avPlayer === undefined || this.avPlayer.state === CommonConstants.AV_PLAYER_RELEASE_STATE) { - this.avPlayer = await media.createAVPlayer(); - this.surfaceId = surfaceId; - Logger.info('Created AvPlayer successfully.'); - // Entering idle state. - this.url = await this.uiContext!.getHostContext()!.resourceManager.getRawFd(CommonConstants.LIVE_VIDEO_NAME); - this.avPlayer.fdSrc = this.url; - this.setAVPlayerCallback(); - } else { - Logger.info(`AvPlayer has been created`); + try { + if (this.avPlayer === undefined || this.avPlayer.state === CommonConstants.AV_PLAYER_RELEASE_STATE) { + this.avPlayer = await media.createAVPlayer(); + this.surfaceId = surfaceId; + Logger.info('Created AvPlayer successfully.'); + // Entering idle state. + this.url = await this.uiContext!.getHostContext()!.resourceManager.getRawFd(CommonConstants.LIVE_VIDEO_NAME); + this.avPlayer.fdSrc = this.url; + this.setAVPlayerCallback(); + } else { + Logger.info(`AvPlayer has been created`); + } + } catch (error) { + Logger.error(`createAvPlayer catch error, code: ${error.code}, message: ${error.message}`); } } @@ -140,44 +144,56 @@ export class AvPlayerUtil { try { this.avPlayer.off('error'); this.avPlayer.off('stateChange'); + this.avPlayer.release(); } catch (exception) { Logger.error('Failed to unregister the error and state callback. Code: ' + JSON.stringify(exception)); } - this.avPlayer.release(); } else { Logger.info(`AvPlayer release failed`); } } playerStateControl(): void { - if (this.avPlayer === undefined) { - Logger.error(`AvPlayer is undefined`); - return; - } - if (this.avPlayer.state === CommonConstants.AV_PLAYER_STOPPED_STATE) { - this.avPlayer.prepare(); - return; - } - if (!this.playState) { - this.avPlayer.play(); - } else { - this.avPlayer.pause(); + try { + if (this.avPlayer === undefined) { + Logger.error(`AvPlayer is undefined`); + return; + } + if (this.avPlayer.state === CommonConstants.AV_PLAYER_STOPPED_STATE) { + this.avPlayer.prepare(); + return; + } + if (!this.playState) { + this.avPlayer.play(); + } else { + this.avPlayer.pause(); + } + } catch (exception) { + Logger.error('Failed to playerStateControl. Code: ' + JSON.stringify(exception)); } } play(): void { - if (this.avPlayer !== undefined && !this.playState) { - this.avPlayer.play(); - } else { - Logger.info(`AvPlayer play failed`); + try { + if (this.avPlayer !== undefined && !this.playState) { + this.avPlayer.play(); + } else { + Logger.info(`AvPlayer play failed`); + } + } catch (exception) { + Logger.error('Failed to play. Code: ' + JSON.stringify(exception)); } } pause(): void { - if (this.avPlayer !== undefined && this.playState) { - this.avPlayer.pause(); - } else { - Logger.info(`AvPlayer pause failed`); + try { + if (this.avPlayer !== undefined && this.playState) { + this.avPlayer.pause(); + } else { + Logger.info(`AvPlayer pause failed`); + } + } catch (exception) { + Logger.error('Failed to pause. Code: ' + JSON.stringify(exception)); } } } \ No newline at end of file diff --git a/commons/base/src/main/ets/utils/DeviceScreen.ets b/commons/base/src/main/ets/utils/DeviceScreen.ets index b65bb53441b605f8b03c657522edd957ba8c068f..cc5ef325164f6fd1f32b45c28f8bb44243b5f621 100644 --- a/commons/base/src/main/ets/utils/DeviceScreen.ets +++ b/commons/base/src/main/ets/utils/DeviceScreen.ets @@ -14,6 +14,7 @@ */ import { display } from '@kit.ArkUI'; +import { hilog } from '@kit.PerformanceAnalysisKit'; import { CommonConstants } from '../constants/CommonConstants'; export class DeviceScreen { @@ -23,10 +24,15 @@ export class DeviceScreen { * @returns screen height. */ public static getDeviceHeight(): number { - let displayObject = display.getDefaultDisplaySync(); - let screenPixelHeight = displayObject.height; - let screenDensityDPI = displayObject.densityDPI; - return screenPixelHeight * (CommonConstants.SCREEN_DPI_CONSTANT / screenDensityDPI); + try { + let displayObject = display.getDefaultDisplaySync(); + let screenPixelHeight = displayObject.height; + let screenDensityDPI = displayObject.densityDPI; + return screenPixelHeight * (CommonConstants.SCREEN_DPI_CONSTANT / screenDensityDPI); + } catch (error) { + hilog.error(0x0000, 'Device', `getDeviceHeight catch error, code: ${error.code}, message: ${error.message}`); + return 0; + } } /** @@ -35,9 +41,14 @@ export class DeviceScreen { * @returns screen width. */ public static getDeviceWidth(): number { - let displayObject = display.getDefaultDisplaySync(); - let screenPixelWidth = displayObject.width; - let screenDensityDPI = displayObject.densityDPI; - return screenPixelWidth * (CommonConstants.SCREEN_DPI_CONSTANT / screenDensityDPI); + try { + let displayObject = display.getDefaultDisplaySync(); + let screenPixelWidth = displayObject.width; + let screenDensityDPI = displayObject.densityDPI; + return screenPixelWidth * (CommonConstants.SCREEN_DPI_CONSTANT / screenDensityDPI); + } catch (error) { + hilog.error(0x0000, 'Device', `getDeviceWidth catch error, code: ${error.code}, message: ${error.message}`); + return 0; + } } } \ No newline at end of file diff --git a/commons/base/src/main/ets/utils/PipWindowUtil.ets b/commons/base/src/main/ets/utils/PipWindowUtil.ets index a2208d9425d65a5d7fa1d0024f4b9a7a8c6cd470..6f3bb39b028898fb8585c1aa7726b8625a36e3d2 100644 --- a/commons/base/src/main/ets/utils/PipWindowUtil.ets +++ b/commons/base/src/main/ets/utils/PipWindowUtil.ets @@ -62,8 +62,7 @@ export class PipWindowUtil { templateType: PiPWindow.PiPTemplateType.VIDEO_LIVE }; // Create a pip controller. - let promise: Promise = PiPWindow.create(config); - await promise.then((controller: PiPWindow.PiPController) => { + PiPWindow.create(config).then((controller: PiPWindow.PiPController)=>{ this.pipController = controller; // Initializing the pip controller. this.initPipController(); @@ -149,8 +148,7 @@ export class PipWindowUtil { async stopPip(): Promise { if (canIUse('SystemCapability.Window.SessionManager')) { if (this.pipController) { - let promise: Promise = this.pipController.stopPiP(); - promise.then(() => { + this.pipController.stopPiP().then(()=>{ this.isShowingPip = false; Logger.info(`Succeeded in stopping pip.`); try { diff --git a/products/phone/src/main/ets/entryability/EntryAbility.ets b/products/phone/src/main/ets/entryability/EntryAbility.ets index 44f35ecd27d7a28f0f9bc6b6ce6e1c209c972aad..b3444bd5e0494c36b94e3371d803a6ad9568fc57 100644 --- a/products/phone/src/main/ets/entryability/EntryAbility.ets +++ b/products/phone/src/main/ets/entryability/EntryAbility.ets @@ -52,7 +52,9 @@ export default class EntryAbility extends UIAbility { if (canIUse('SystemCapability.Window.SessionManager')) { this.windowObj.on('windowStatusChange', this.onWindowStatusChange); } - }) + }).catch((err: BusinessError) => { + hilog.info(0x0000, 'testTag', `Failed to getMainWindow. Cause: ${err.code}, message: ${err.message}`); + }); windowStage.loadContent('pages/Index', async (err, data) => { if (err.code) { diff --git a/products/phone/src/main/ets/secondability/SecondAbility.ets b/products/phone/src/main/ets/secondability/SecondAbility.ets index bc18cd1652535591f8f32866df2e89a8a2c3db1f..f37473c58473f2e54723f8f6c31ae9eb8f323ea1 100644 --- a/products/phone/src/main/ets/secondability/SecondAbility.ets +++ b/products/phone/src/main/ets/secondability/SecondAbility.ets @@ -44,7 +44,11 @@ export default class SecondAbility extends UIAbility { onDestroy(): void { hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); if (canIUse('SystemCapability.Window.SessionManager')) { - display.off('foldStatusChange'); + try { + display.off('foldStatusChange'); + } catch (exception) { + Logger.error('Failed to off display. Code: ' + JSON.stringify(exception)); + } } if (this.windowUtil === undefined) { return; @@ -69,9 +73,15 @@ export default class SecondAbility extends UIAbility { this.windowUtil?.updateBreakpoint(this.windowObj.getWindowProperties().windowRect.width); AppStorage.setOrCreate('windowWidth', this.windowObj.getWindowProperties().windowRect.width); this.windowObj.on('windowSizeChange', this.onWindowSizeChange); - }) + }).catch((err: BusinessError) => { + hilog.info(0x0000, 'testTag', `Failed to getMainWindow. Cause: ${err.code}, message: ${err.message}`); + }); if (canIUse('SystemCapability.Window.SessionManager')) { - display.on(`foldStatusChange`, this.onFoldStatusChange); + try { + display.on(`foldStatusChange`, this.onFoldStatusChange); + } catch (exception) { + Logger.error('Failed to display on. Code: ' + JSON.stringify(exception)); + } } windowStage.loadContent('pages/Index', async (err, data) => {