diff --git a/entry/src/main/ets/common/utils/FileReader.ets b/entry/src/main/ets/common/utils/FileReader.ets index f2ee9f9f88caca902941b2f834a694dc2ceb9c1e..4dd25cd47d2051ff19465beb5414b564271fba14 100644 --- a/entry/src/main/ets/common/utils/FileReader.ets +++ b/entry/src/main/ets/common/utils/FileReader.ets @@ -31,7 +31,13 @@ export class FileReader { } private static readContent(filePath: string): Promise { - return fs.readText(filePath); + try { + return fs.readText(filePath); + } catch (err) { + let error = err as BusinessError; + Logger.error(`FileReader`, `readContent error.code => ${error.code}, error.message => ${error.message}`); + return Promise.resolve(''); + } } private static async readRawFileContent(context: Context, filepath: string): Promise { diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index 16a731885b5b29ce3e3beb52fd83b6fae5db1e96..212b3a1e76d6ebe1157cb458c3f9472dfbbc2b3b 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -14,54 +14,60 @@ */ import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from '@kit.AbilityKit'; -import { hilog } from '@kit.PerformanceAnalysisKit'; import { window } from '@kit.ArkUI'; +import { BusinessError } from '@kit.BasicServicesKit'; import CommonConstants from '../common/constants/CommonConstants'; +import { Logger } from '../common/utils/Logger'; -const DOMAIN = 0x0000; let para: Record = { 'entityId': '' }; +const TAG = `EntryAbility`; export default class EntryAbility extends UIAbility { storage: LocalStorage = new LocalStorage(para); onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { - this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); - if (launchParam.launchReason === AbilityConstant.LaunchReason.INSIGHT_INTENT && want && want.parameters) { - this.storage.setOrCreate(CommonConstants.STORAGE_KEY, - (want.parameters?.['ohos.insightIntent.executeParam.param'] as Record)?.entityId); + try { + this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); + if (launchParam.launchReason === AbilityConstant.LaunchReason.INSIGHT_INTENT && want && want.parameters) { + this.storage.setOrCreate(CommonConstants.STORAGE_KEY, + (want.parameters?.['ohos.insightIntent.executeParam.param'] as Record)?.entityId); + } + } catch (err) { + let error = err as BusinessError; + Logger.error(`EntryAbility`, `onCreate, error.code is ${error.code}, error.message is ${error.message}`); } - hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate'); + Logger.info(TAG, 'Ability onCreate'); } onDestroy(): void { - hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onDestroy'); + Logger.info(TAG, 'Ability onDestroy'); } onWindowStageCreate(windowStage: window.WindowStage): void { // Main window is created, set main page for this ability - hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + Logger.info(TAG, 'Ability onWindowStageCreate'); windowStage.loadContent('pages/Index', this.storage, (err) => { if (err.code) { - hilog.error(DOMAIN, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)); + Logger.error(TAG, 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)); return; } - hilog.info(DOMAIN, 'testTag', 'Succeeded in loading the content.'); + Logger.info(TAG, 'Succeeded in loading the content.'); }); } onWindowStageDestroy(): void { // Main window is destroyed, release UI related resources - hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + Logger.info(TAG, 'Ability onWindowStageDestroy'); } onForeground(): void { // Ability has brought to foreground - hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onForeground'); + Logger.info(TAG, 'Ability onForeground'); } onBackground(): void { // Ability has back to background - hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onBackground'); + Logger.info(TAG, 'Ability onBackground'); } } \ No newline at end of file diff --git a/entry/src/main/ets/pages/PlayPage.ets b/entry/src/main/ets/pages/PlayPage.ets index 43d9630f3f6a300f39fd53e573ee13a9abd994e7..7693198f6ca6a41a5dd2fd1354360df1129bd46b 100644 --- a/entry/src/main/ets/pages/PlayPage.ets +++ b/entry/src/main/ets/pages/PlayPage.ets @@ -17,10 +17,10 @@ import { insightIntent } from '@kit.IntentsKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { common } from '@kit.AbilityKit'; import { i18n } from '@kit.LocalizationKit'; +import { preferences } from '@kit.ArkData'; import { IVideoInfo } from '../model/DataModel'; import CommonConstants, { ShareStatus } from '../common/constants/CommonConstants'; import { FileReader } from '../common/utils/FileReader'; -import { preferences } from '@kit.ArkData'; import { Logger } from '../common/utils/Logger'; @Builder @@ -130,7 +130,13 @@ export struct PlayPage { * @returns progress */ getProgress(): number { - return this.videoPreference?.getSync(this.navParam?.id, 0) as number; + try { + return this.videoPreference?.getSync(this.navParam?.id, 0) as number; + } catch (err) { + let error = err as BusinessError; + Logger.error(`getProgress`, `getSync failed, error.code is ${error.code}, error.message is ${error.message}`); + return 0; + } } /**