From 06982a468f85734f627d344517bcf0e0b4e9c6f5 Mon Sep 17 00:00:00 2001 From: BlancWu Date: Tue, 3 Aug 2021 21:27:32 +0800 Subject: [PATCH] Add 3s timeout when receving kvstore response. Signed-off-by: BlancWu --- .../src/main/js/default/pages/index/index.js | 18 +++++++++++++----- .../entry/src/main/js/model/PlayerModel.js | 3 ++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ability/JsDistributedMusicPlayer/entry/src/main/js/default/pages/index/index.js b/ability/JsDistributedMusicPlayer/entry/src/main/js/default/pages/index/index.js index aba10c29dd..edbb617c8f 100644 --- a/ability/JsDistributedMusicPlayer/entry/src/main/js/default/pages/index/index.js +++ b/ability/JsDistributedMusicPlayer/entry/src/main/js/default/pages/index/index.js @@ -51,7 +51,7 @@ export default { isSwitching: false, }, onInit() { - console.info('MusicPlayer[IndexPage] onInit'); + console.info('MusicPlayer[IndexPage] onInit begin'); DEVICE_LIST_LOCALHOST = { name: this.$t('strings.localhost'), id: 'localhost', @@ -96,6 +96,7 @@ export default { } }); }); + console.info('MusicPlayer[IndexPage] onInit end'); }, onBackPress() { console.info('MusicPlayer[IndexPage] onBackPress isDialogShowing=' + this.isDialogShowing); @@ -106,8 +107,10 @@ export default { return false; }, onDestroy() { + console.info('MusicPlayer[IndexPage] onDestroy begin'); this.playerModel.release(); this.remoteDeviceModel.unregisterDeviceListCallback(); + console.info('MusicPlayer[IndexPage] onDestroy end'); }, refreshSongInfo(index) { console.info('MusicPlayer[IndexPage] refreshSongInfo ' + index + '/' @@ -243,6 +246,15 @@ export default { deviceId: deviceId, parameters: params }; + var timerId = setTimeout(() => { + console.info('MusicPlayer[IndexPage] onMessageReceiveTimeout, terminateAbility'); + featureAbility.terminateAbility(); + }, 3000); + this.kvStoreModel.setOnMessageReceivedListener(REMOTE_ABILITY_STARTED, () => { + console.info('MusicPlayer[IndexPage] OnMessageReceived, terminateAbility'); + clearTimeout(timerId); + featureAbility.terminateAbility(); + }); featureAbility.startAbility({ want: wantValue }).then((data) => { @@ -250,10 +262,6 @@ export default { }); console.info('MusicPlayer[IndexPage] featureAbility.startAbility want=' + JSON.stringify(wantValue)); console.info('MusicPlayer[IndexPage] featureAbility.startAbility end'); - this.kvStoreModel.setOnMessageReceivedListener(REMOTE_ABILITY_STARTED, () => { - console.info('MusicPlayer[IndexPage] OnMessageReceived, terminateAbility'); - featureAbility.terminateAbility(); - }); }, onRadioChange(inputValue, e) { console.info('MusicPlayer[IndexPage] onRadioChange ' + inputValue + ', ' + e.value); diff --git a/ability/JsDistributedMusicPlayer/entry/src/main/js/model/PlayerModel.js b/ability/JsDistributedMusicPlayer/entry/src/main/js/model/PlayerModel.js index 8249050312..fea4e047ff 100644 --- a/ability/JsDistributedMusicPlayer/entry/src/main/js/model/PlayerModel.js +++ b/ability/JsDistributedMusicPlayer/entry/src/main/js/model/PlayerModel.js @@ -74,8 +74,9 @@ export default class PlayerModel { release() { if (typeof (this.#player) != 'undefined') { - console.info('MusicPlayer[PlayerModel] player.release'); + console.info('MusicPlayer[PlayerModel] player.release begin'); this.#player.release(); + console.info('MusicPlayer[PlayerModel] player.release end'); this.#player = undefined; } } -- Gitee