diff --git a/entry/src/main/ets/common/utils/PreferencesUtil.ets b/entry/src/main/ets/common/utils/PreferencesUtil.ets index 88269eb5aff92d6d9726b449fd4d21b1345d713b..02cd12820fadee1411e9b2d692c966bf3a6852b5 100644 --- a/entry/src/main/ets/common/utils/PreferencesUtil.ets +++ b/entry/src/main/ets/common/utils/PreferencesUtil.ets @@ -17,6 +17,7 @@ import { preferences } from '@kit.ArkData'; import { CardListItemData } from '../CommonData'; import { CommonConstants } from '../CommonConstants'; import Logger from './Logger'; +import { BusinessError } from '@kit.BasicServicesKit'; const TAG: string = 'PreferencesUtil'; const MY_STORE: string = 'myStore'; @@ -31,9 +32,15 @@ export class PreferencesUtil { return PreferencesUtil.preferencesUtil; } - getPreferences(context: Context): preferences.Preferences { - preferences.removePreferencesFromCacheSync(context, MY_STORE); - return preferences.getPreferencesSync(context, { name: MY_STORE }); + getPreferences(context: Context): preferences.Preferences | undefined { + try { + preferences.removePreferencesFromCacheSync(context, MY_STORE); + return preferences.getPreferencesSync(context, { name: MY_STORE }); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `getPreferences failed, error code=${err.code}, message=${err.message}`); + return undefined; + } } preferencesFlush(preferences: preferences.Preferences) { @@ -45,12 +52,19 @@ export class PreferencesUtil { } preferencesPut(preferences: preferences.Preferences, key: string, value: preferences.ValueType): void { - preferences.putSync(key, value); - this.preferencesFlush(preferences); + try { + preferences.putSync(key, value); + this.preferencesFlush(preferences); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `preferencesPut failed, error code=${err.code}, message=${err.message}`); + } } removePreferencesFromCache(context: Context): void { - preferences.removePreferencesFromCache(context, MY_STORE); + preferences.removePreferencesFromCache(context, MY_STORE).catch((err: BusinessError) => { + Logger.error(TAG, `removePreferencesFromCache failed, error code=${err.code}, message=${err.message}`); + }); } getFormIds(preferences: preferences.Preferences): Array { @@ -58,7 +72,13 @@ export class PreferencesUtil { Logger.error(TAG, `preferences is null`); return []; } - return preferences.getSync('formIdList', ['']) as Array; + try { + return preferences.getSync('formIdList', ['']) as Array; + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `getSync failed, error code=${err.code}, message=${err.message}`); + return []; + } } addFormId(preferences: preferences.Preferences, formId: string): void { @@ -80,11 +100,16 @@ export class PreferencesUtil { getFormInitData(key: string, preferences: preferences.Preferences): CardListItemData { let initData: CardListItemData = CommonConstants.CARD_LIST_DATA_FIRST[0]; - let index: number = preferences.getSync(key, 0) as number; + try { + let index: number = preferences.getSync(key, 0) as number; - if (preferences.hasSync(`dataArr`)) { - initData = (preferences.getSync(`dataArr`, []) as CardListItemData[])[index]; - initData.favour = (preferences.getSync(`statusArr`, []) as boolean[])[index]; + if (preferences.hasSync(`dataArr`)) { + initData = (preferences.getSync(`dataArr`, []) as CardListItemData[])[index]; + initData.favour = (preferences.getSync(`statusArr`, []) as boolean[])[index]; + } + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `getFormInitData failed, error code=${err.code}, message=${err.message}`); } return initData; } @@ -92,7 +117,7 @@ export class PreferencesUtil { removeFormId(context: Context, formId: string) { try { let preferences = this.getPreferences(context); - if (preferences === null) { + if (!preferences) { Logger.error(TAG, `preferences is null`); return; } diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index 283f84e79a10193cc664ab9b211e486112b0aaf6..6a6b86f77fcce35016acd82b06135eb32c5ec926 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -25,6 +25,7 @@ import { window } from '@kit.ArkUI'; import { BusinessError } from '@kit.BasicServicesKit'; import { PreferencesUtil } from '../common/utils/PreferencesUtil'; import { CommonConstants } from '../common/CommonConstants'; + // [EndExclude entry_ability] // [EndExclude ability_constant] const TAG: string = 'EntryAbility'; @@ -32,70 +33,92 @@ const TAG: string = 'EntryAbility'; export default class EntryAbility extends UIAbility { // [StartExclude ability_constant] private callFunc = (data: rpc.MessageSequence): MyParcelable => { - let params: Record = JSON.parse(data.readString()); - if (params.formId !== undefined) { - let formId: string = params.formId; - let formData = new FormData(formId); - // [StartExclude util] - let util = PreferencesUtil.getInstance(); - let preferences = util.getPreferences(this.context); - let index: number = preferences.getSync(CommonConstants.DATA_INDEX, 0) as number; - formData.cardList = CommonData.getData(index); - util.preferencesPut(preferences, CommonConstants.DATA_INDEX, index + 1); - // [EndExclude util] - let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); - formProvider.updateForm(formId, formMsg).then((data) => { - hilog.info(0x0000, TAG, 'updateForm success.', JSON.stringify(data)); - }).catch((error: Error) => { - hilog.info(0x0000, TAG, 'updateForm failed.', JSON.stringify(error)); - }); + try { + let params: Record = JSON.parse(data.readString()); + if (params.formId !== undefined) { + let formId: string = params.formId; + let formData = new FormData(formId); + // [StartExclude util] + let util = PreferencesUtil.getInstance(); + let preferences = util.getPreferences(this.context); + if (!preferences) { + return new MyParcelable(1); + } + let index: number = preferences.getSync(CommonConstants.DATA_INDEX, 0) as number; + formData.cardList = CommonData.getData(index); + util.preferencesPut(preferences, CommonConstants.DATA_INDEX, index + 1); + // [EndExclude util] + let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); + formProvider.updateForm(formId, formMsg).then((data) => { + hilog.info(0x0000, TAG, 'updateForm success.', JSON.stringify(data)); + }).catch((error: Error) => { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `updateForm failed. error code=${err.code}, message=${err.message}`); + }); + } + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `callFunc failed, error code=${err.code}, message=${err.message}`); } return new MyParcelable(1); }; // [StartExclude entry_ability] private callUpdateFunc = (data: rpc.MessageSequence): MyParcelable => { - let params: Record = JSON.parse(data.readString()); - if (params.formId !== undefined) { - let index: number = Number.parseInt(params.msgId); + try { + let params: Record = JSON.parse(data.readString()); + if (params.formId !== undefined) { + let index: number = Number.parseInt(params.msgId); - let util = PreferencesUtil.getInstance(); - let preferences = util.getPreferences(this.context); - let dataItem: CardListItemData = (preferences.getSync('dataArr', []) as CardListItemData[])[index]; - let statusArr: boolean[] = preferences.getSync('statusArr', []) as boolean[]; - if (statusArr.length === 0) { - statusArr = new Array(12).fill(false); - } - statusArr[index] = !statusArr[index]; - dataItem.favour = statusArr[index]; + let util = PreferencesUtil.getInstance(); + let preferences = util.getPreferences(this.context); + if (!preferences) { + return new MyParcelable(1); + } + let dataItem: CardListItemData = (preferences.getSync('dataArr', []) as CardListItemData[])[index]; + let statusArr: boolean[] = preferences.getSync('statusArr', []) as boolean[]; + if (statusArr.length === 0) { + statusArr = new Array(12).fill(false); + } + statusArr[index] = !statusArr[index]; + dataItem.favour = statusArr[index]; - preferences.putSync('statusArr', statusArr); - preferences.flush(() => { - AppStorage.setOrCreate('statusArr', [...statusArr]); - }); + preferences.putSync('statusArr', statusArr); + preferences.flush(() => { + AppStorage.setOrCreate('statusArr', [...statusArr]); + }); - let idArr = PreferencesUtil.getInstance().getFormIds(preferences); - if (idArr.length > 0) { - idArr.forEach((formId: string) => { - if (preferences.getSync(`${formId}_show_index`, -1) as number === index) { - let formData = new FormData(formId); - formData.cardList = [dataItem]; - let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); - formProvider.updateForm(formId, formMsg) - .then(() => { - hilog.info(0x0000, TAG, `updateForm success.`); - }) - .catch((error: Error) => { - hilog.error(0x0000, TAG, `updateForm failed: ${JSON.stringify(error)}`); - }); - } - }) + let idArr = PreferencesUtil.getInstance().getFormIds(preferences); + if (idArr.length > 0) { + idArr.forEach((formId: string) => { + if (!preferences) { + return; + } + if (preferences.getSync(`${formId}_show_index`, -1) as number === index) { + let formData = new FormData(formId); + formData.cardList = [dataItem]; + let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); + formProvider.updateForm(formId, formMsg) + .then(() => { + hilog.info(0x0000, TAG, `updateForm success.`); + }) + .catch((error: Error) => { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `updateForm failed: error code=${err.code}, message=${err.message}`); + }); + } + }) + } } + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `callUpdateFunc failed, error code=${err.code}, message=${err.message}`); } return new MyParcelable(1); }; + // [EndExclude entry_ability] // [EndExclude ability_constant] - onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + onCreate(want: Want, _launchParam: AbilityConstant.LaunchParam): void { // [StartExclude ability_constant] // [StartExclude entry_ability] hilog.info(0x0000, TAG, '%{public}s', 'Ability onCreate'); @@ -104,12 +127,23 @@ export default class EntryAbility extends UIAbility { this.updateInfo(want); // [StartExclude ability_constant] // [EndExclude entry_ability] - this.callee.on('updateCardInfo', this.callFunc); + try { + this.callee.on('updateCardInfo', this.callFunc); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `on updateCardInfo failed, error code=${err.code}, message=${err.message}`); + } // [StartExclude entry_ability] - this.callee.on('updateFormFavour', this.callUpdateFunc); + try { + this.callee.on('updateFormFavour', this.callUpdateFunc); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `on updateFormFavour failed, error code=${err.code}, message=${err.message}`); + } // [EndExclude entry_ability] // [EndExclude ability_constant] } + // [StartExclude entry_ability] // [StartExclude ability_constant] initData(): void { @@ -117,37 +151,44 @@ export default class EntryAbility extends UIAbility { let preferences = util.getPreferences(this.context); let dataArr: CardListItemData[] = []; let keyDataArr: string = 'dataArr'; - if (!preferences.hasSync(keyDataArr)) { - CommonConstants.CARD_LIST_DATA_FIRST.forEach((item) => { - dataArr.push(item); - }); - CommonConstants.CARD_LIST_DATA_SECOND.forEach((item) => { - dataArr.push(item); - }); - CommonConstants.CARD_LIST_DATA_THIRD.forEach((item) => { - dataArr.push(item); - }); - preferences.putSync('dataArr', dataArr); - } else { - dataArr = preferences.getSync('dataArr', []) as CardListItemData[]; + if (!preferences) { + return; } + try { + if (!preferences.hasSync(keyDataArr)) { + CommonConstants.CARD_LIST_DATA_FIRST.forEach((item) => { + dataArr.push(item); + }); + CommonConstants.CARD_LIST_DATA_SECOND.forEach((item) => { + dataArr.push(item); + }); + CommonConstants.CARD_LIST_DATA_THIRD.forEach((item) => { + dataArr.push(item); + }); + preferences.putSync('dataArr', dataArr); + } else { + dataArr = preferences.getSync('dataArr', []) as CardListItemData[]; + } + let statusArr: boolean[] = new Array(12).fill(false); + let keyStatusArr: string = 'statusArr'; + if (!preferences.hasSync(keyStatusArr)) { + preferences.putSync(keyStatusArr, statusArr); + } else { + statusArr = preferences.getSync('statusArr', []) as boolean[]; + } - let statusArr: boolean[] = new Array(12).fill(false); - let keyStatusArr: string = 'statusArr'; - if (!preferences.hasSync(keyStatusArr)) { - preferences.putSync(keyStatusArr, statusArr); - } else { - statusArr = preferences.getSync('statusArr', []) as boolean[]; + preferences.flush(() => { + AppStorage.setOrCreate('dataArr', dataArr); + AppStorage.setOrCreate('statusArr', statusArr); + }) + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `initData failed, error code=${err.code}, message=${err.message}`); } - - preferences.flush(() => { - AppStorage.setOrCreate('dataArr', dataArr); - AppStorage.setOrCreate('statusArr', statusArr); - }) } // [EndExclude ability_constant] - onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void { + onNewWant(want: Want, _launchParam: AbilityConstant.LaunchParam): void { this.updateInfo(want); } @@ -162,20 +203,30 @@ export default class EntryAbility extends UIAbility { // [StartExclude ability_constant] let util = PreferencesUtil.getInstance(); let preferences = util.getPreferences(this.context); - let index: number = preferences.getSync(CommonConstants.DATA_INDEX, 0) as number; - formData.cardList = CommonData.getData(index); - util.preferencesPut(preferences, CommonConstants.DATA_INDEX, index + 1); - // [EndExclude ability_constant] - let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); - formProvider.updateForm(formId, formMsg) - .then((data) => { - hilog.info(0x0000, TAG, 'updateForm success.', JSON.stringify(data)); - }) - .catch((error: Error) => { - hilog.info(0x0000, TAG, 'updateForm failed.', JSON.stringify(error)); - }); + if (!preferences) { + return; + } + try { + let index: number = preferences.getSync(CommonConstants.DATA_INDEX, 0) as number; + formData.cardList = CommonData.getData(index); + util.preferencesPut(preferences, CommonConstants.DATA_INDEX, index + 1); + // [EndExclude ability_constant] + let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); + formProvider.updateForm(formId, formMsg) + .then((data) => { + hilog.info(0x0000, TAG, 'updateForm success.', JSON.stringify(data)); + }) + .catch((error: Error) => { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `updateForm failed.error code=${err.code}, message=${err.message}`); + }); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `updateInfo failed, error code=${err.code}, message=${err.message}`); + } } } + // [EndExclude entry_ability] // [StartExclude ability_constant] onDestroy(): void { @@ -187,28 +238,38 @@ export default class EntryAbility extends UIAbility { // [StartExclude entry_ability] this.callee.off('updateFormFavour'); // [EndExclude entry_ability] - } catch (err) { - hilog.error(0x0000, TAG, 'Failed to disconnect callee. Cause: %{public}s', JSON.stringify(err) ?? ''); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `Failed to disconnect callee. Cause: error code=${err.code}, message=${err.message}`); } } + // [StartExclude entry_ability] onWindowStageCreate(windowStage: window.WindowStage): void { // Main window is created, set main page for this ability hilog.info(0x0000, TAG, '%{public}s', 'Ability onWindowStageCreate'); windowStage.getMainWindow((error: BusinessError, data) => { - if (error.code) { - hilog.error(0x0000, TAG, 'Failed to get main window. Cause: %{public}s', JSON.stringify(error) ?? ''); + if (error && error.code) { + hilog.error(0x0000, TAG, + `Failed to get main window. Cause: error code=${error.code}, message=${error.message}`); return; } - data.setWindowLayoutFullScreen(true); - AppStorage.setOrCreate('topHeight', data.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height); - AppStorage.setOrCreate('bottomHeight', - data.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR).bottomRect.height); + data.setWindowLayoutFullScreen(true).catch((err: BusinessError) => { + hilog.error(0x0000, TAG, `setWindowLayoutFullScreen failed, error code=${err.code}, message=${err.message}`); + }); + try { + AppStorage.setOrCreate('topHeight', data.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height); + AppStorage.setOrCreate('bottomHeight', + data.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR).bottomRect.height); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `onWindowStageCreate failed, error code=${err.code}, message=${err.message}`); + } }); windowStage.loadContent('pages/Index', (err) => { - if (err.code) { - hilog.error(0x0000, TAG, 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + if (err && err.code) { + hilog.error(0x0000, TAG, `Failed to load the content. Cause: error code=${err.code}, message=${err.message}`); return; } hilog.info(0x0000, TAG, 'Succeeded in loading the content.'); @@ -229,9 +290,11 @@ export default class EntryAbility extends UIAbility { // Ability has back to background hilog.info(0x0000, TAG, '%{public}s', 'Ability onBackground'); } + // [EndExclude entry_ability] // [EndExclude ability_constant] } + // [End ability_constant] class MyParcelable implements rpc.Parcelable { @@ -242,13 +305,24 @@ class MyParcelable implements rpc.Parcelable { } marshalling(dataOut: rpc.MessageSequence): boolean { - dataOut.writeInt(this.num); + try { + dataOut.writeInt(this.num); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'MyParcelable', `marshalling failed, error code=${err.code}, message=${err.message}`); + } return true; } unmarshalling(dataIn: rpc.MessageSequence): boolean { - this.num = dataIn.readInt(); + try { + this.num = dataIn.readInt(); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'MyParcelable', `unmarshalling failed, error code=${err.code}, message=${err.message}`); + } return true; } } + // [End entry_ability] \ No newline at end of file diff --git a/entry/src/main/ets/entryformability/EntryFormAbility.ets b/entry/src/main/ets/entryformability/EntryFormAbility.ets index 39dd6f080ff4955ce259616c3e82e996617adfde..c0859efe4045bdc4cc2c0c290505b0cae773c199 100644 --- a/entry/src/main/ets/entryformability/EntryFormAbility.ets +++ b/entry/src/main/ets/entryformability/EntryFormAbility.ets @@ -14,7 +14,7 @@ */ // [Start system_date_time] -import { systemDateTime } from '@kit.BasicServicesKit'; +import { BusinessError, systemDateTime } from '@kit.BasicServicesKit'; // [Start entry_form_ability] // [Start want] import { Want } from '@kit.AbilityKit'; @@ -29,6 +29,7 @@ import { CardListItemData, CommonData, FormData } from '../common/CommonData'; // [StartExclude system_date_time] import { CommonConstants } from '../common/CommonConstants'; import { PreferencesUtil } from '../common/utils/PreferencesUtil'; + // [EndExclude entry_form_ability] // [EndExclude form_binding_data] const TAG: string = 'EntryFormAbility'; @@ -39,43 +40,48 @@ export default class EntryFormAbility extends FormExtensionAbility { // [StartExclude form_binding_data] // [StartExclude form_info] onAddForm(want: Want): formBindingData.FormBindingData { - if(!want || !want.parameters) { + if (!want || !want.parameters) { hilog.error(0x0000, TAG, `FormAbility onAddForm want or want.parameters is undefined`); return formBindingData.createFormBindingData(''); } + while(0) { + let formName: string = want.parameters[formInfo.FormParam.NAME_KEY] as string; + let formId: string = want.parameters[formInfo.FormParam.IDENTITY_KEY] as string; + // [StartExclude system_date_time] + // [StartExclude entry_form_ability] + let util = PreferencesUtil.getInstance(); + let preferences = util.getPreferences(this.context); + if (!preferences) { + break; + } + // Save form id using preferences. + util.addFormId(preferences, formId); - let formName: string = want.parameters[formInfo.FormParam.NAME_KEY] as string; - let formId: string = want.parameters[formInfo.FormParam.IDENTITY_KEY] as string; - // [StartExclude system_date_time] - // [StartExclude entry_form_ability] - let util = PreferencesUtil.getInstance(); - let preferences = util.getPreferences(this.context); - // Save form id using preferences. - util.addFormId(preferences, formId); + // [StartExclude want] + // [EndExclude system_date_time] + if (formName === 'card_info_refresh') { + let formData = new FormData(formId); + formData.formTime = systemDateTime.getTime().toString(); + let formInfo: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); + return formInfo; + } - // [StartExclude want] - // [EndExclude system_date_time] - if (formName === 'card_info_refresh') { - let formData = new FormData(formId); - formData.formTime = systemDateTime.getTime().toString(); - let formInfo: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); - return formInfo; - } - - // [EndExclude want] - let key: string = `${formId}_show_index`; - let data = util.getFormInitData(key, preferences); - if (formName === 'card_info_update') { - // Save the index of the data items currently displayed on the card. - util.preferencesPut(preferences, key, data.id); - let formData = new FormData(formId); - formData.cardList.push(data); - let formInfo: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); - return formInfo; + // [EndExclude want] + let key: string = `${formId}_show_index`; + let data = util.getFormInitData(key, preferences); + if (formName === 'card_info_update') { + // Save the index of the data items currently displayed on the card. + util.preferencesPut(preferences, key, data.id); + let formData = new FormData(formId); + formData.cardList.push(data); + let formInfo: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); + return formInfo; + } } // [EndExclude entry_form_ability] return formBindingData.createFormBindingData(''); } + // [StartExclude want] // [StartExclude entry_form_ability] // [StartExclude system_date_time] @@ -91,18 +97,28 @@ export default class EntryFormAbility extends FormExtensionAbility { let util = PreferencesUtil.getInstance(); let preferences = util.getPreferences(this.context); + if (!preferences) { + return; + } let key: string = `${formId}_show_index`; - if (preferences.hasSync(key)) { - let index = preferences.getSync(key, 0) as number; - let newIndex = (index + 1) % 12; - let dataItem: CardListItemData = (preferences.getSync('dataArr', []) as CardListItemData[])[newIndex]; - dataItem.favour = (preferences.getSync('statusArr', []) as boolean[])[newIndex]; - util.preferencesPut(preferences, key, newIndex); - formData.cardList = [dataItem]; + try { + if (preferences.hasSync(key)) { + let index = preferences.getSync(key, 0) as number; + let newIndex = (index + 1) % 12; + let dataItem: CardListItemData = (preferences.getSync('dataArr', []) as CardListItemData[])[newIndex]; + dataItem.favour = (preferences.getSync('statusArr', []) as boolean[])[newIndex]; + util.preferencesPut(preferences, key, newIndex); + formData.cardList = [dataItem]; + } + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `hasSync failed, error code=${err.code}, message=${err.message}`); } // [EndExclude form_info] let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); - formProvider.updateForm(formId, formMsg); + formProvider.updateForm(formId, formMsg).catch((err: BusinessError) => { + hilog.error(0x0000, TAG, `updateForm failed, error code=${err.code}, message=${err.message}`); + }); } // [StartExclude form_info] @@ -116,19 +132,29 @@ export default class EntryFormAbility extends FormExtensionAbility { // [StartExclude form_binding_data] let util = PreferencesUtil.getInstance(); let preferences = util.getPreferences(this.context); - let index: number = preferences.getSync(CommonConstants.DATA_INDEX, 0) as number; - formData.cardList = CommonData.getData(index); - util.preferencesPut(preferences, CommonConstants.DATA_INDEX, index + 1); - // [EndExclude form_binding_data] - let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); - formProvider.updateForm(formId, formMsg).then(() => { - hilog.info(0x0000, TAG, 'updateForm success.'); - }).catch((error: Error) => { - hilog.error(0x0000, TAG, 'updateForm failed.%s', JSON.stringify(error)); - }); + if (!preferences) { + return; + } + try { + let index: number = preferences.getSync(CommonConstants.DATA_INDEX, 0) as number; + formData.cardList = CommonData.getData(index); + util.preferencesPut(preferences, CommonConstants.DATA_INDEX, index + 1); + // [EndExclude form_binding_data] + let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); + formProvider.updateForm(formId, formMsg).then(() => { + hilog.info(0x0000, TAG, 'updateForm success.'); + }).catch((error: Error) => { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `updateForm failed. error code=${err.code}, message=${err.message}`); + }); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `getSync failed, error code=${err.code}, message=${err.message}`); + } } + // [StartExclude form_binding_data] - onAcquireFormState(want: Want) { + onAcquireFormState(_want: Want) { // Called to return a {@link FormState} object. return formInfo.FormState.READY; } @@ -137,12 +163,14 @@ export default class EntryFormAbility extends FormExtensionAbility { hilog.info(0x00, TAG, `remove formId: ${formId}`); PreferencesUtil.getInstance().removeFormId(this.context, formId); } + // [EndExclude entry_form_ability] // [EndExclude system_date_time] // [EndExclude form_binding_data] // [EndExclude want] // [EndExclude form_info] } + // [End entry_form_ability] // [End system_date_time] // [End form_binding_data] diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 7cfb9a5b3e8089f37572ac6c71c73d563e001a08..c0b82e17f24aea704076aef6ed882028a8d81912 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -18,6 +18,7 @@ import { hilog } from '@kit.PerformanceAnalysisKit'; import { CommonConstants } from '../common/CommonConstants'; import { CardListItemData, FormData } from '../common/CommonData'; import { PreferencesUtil } from '../common/utils/PreferencesUtil'; +import { BusinessError } from '@kit.BasicServicesKit'; const TAG: string = 'Index'; @@ -104,6 +105,9 @@ struct DataItemView { .onClick(() => { let util = PreferencesUtil.getInstance(); let preferences = util.getPreferences(this.getUIContext().getHostContext()!); + if(!preferences) { + return; + } this.statusArr[this.itemData.id] = !this.statusArr[this.itemData.id]; this.itemData.favour = this.statusArr[this.itemData.id!]; util.preferencesPut(preferences, 'statusArr', this.statusArr) @@ -114,15 +118,24 @@ struct DataItemView { let idArr = PreferencesUtil.getInstance().getFormIds(preferences); if (idArr.length > 0) { idArr.forEach((formId: string) => { - if (preferences.getSync(`${formId}_show_index`, -1) as number === this.itemData.id) { - let formData = new FormData(formId); - formData.cardList = [this.itemData]; - let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); - formProvider.updateForm(formId, formMsg).then(() => { - hilog.info(0x0000, TAG, `updateForm success.`); - }).catch((error: Error) => { - hilog.error(0x0000, TAG, `updateForm failed: ${JSON.stringify(error)}`); - }); + if (!preferences) { + return; + } + try { + if (preferences.getSync(`${formId}_show_index`, -1) as number === this.itemData.id) { + let formData = new FormData(formId); + formData.cardList = [this.itemData]; + let formMsg: formBindingData.FormBindingData = formBindingData.createFormBindingData(formData); + formProvider.updateForm(formId, formMsg).then(() => { + hilog.info(0x0000, TAG, `updateForm success.`); + }).catch((error: Error) => { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `updateForm failed: error code=${err.code}, message=${err.message}`); + }); + } + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, TAG, `getSync failed, error code=${err.code}, message=${err.message}`); } }) } diff --git a/hvigor/hvigor-config.json5 b/hvigor/hvigor-config.json5 index 06b2783670a348f95533b352c1ceda909a842bbc..5bebc9755447385d82ce4138f54d991b1f85f348 100644 --- a/hvigor/hvigor-config.json5 +++ b/hvigor/hvigor-config.json5 @@ -1,5 +1,5 @@ { - "modelVersion": "5.0.0", + "modelVersion": "5.0.5", "dependencies": { }, "execution": { diff --git a/oh-package.json5 b/oh-package.json5 index 8bf916d4a165e0466c65bc49f58ab2e3c27e8931..2d9c74ff34f1383ec920815a40399dd0fe46a6c5 100644 --- a/oh-package.json5 +++ b/oh-package.json5 @@ -1,5 +1,5 @@ { - "modelVersion": "5.0.0", + "modelVersion": "5.0.5", "description": "Please describe the basic information.", "dependencies": { },