From d709cb096bbfb4d3945716b51a3bf643bdc9b093 Mon Sep 17 00:00:00 2001 From: libuyan Date: Wed, 19 Jun 2024 18:39:57 +0800 Subject: [PATCH 01/13] add modal audio picker Signed-off-by: libuyan --- .../kits/picker/include/picker_n_exporter.h | 2 + interfaces/kits/picker/picker.js | 76 +++++++++++++------ .../kits/picker/src/modal_ui_callback.cpp | 4 + .../kits/picker/src/picker_n_exporter.cpp | 32 +++++++- 4 files changed, 87 insertions(+), 27 deletions(-) diff --git a/interfaces/kits/picker/include/picker_n_exporter.h b/interfaces/kits/picker/include/picker_n_exporter.h index 09f58890..4f442a7e 100644 --- a/interfaces/kits/picker/include/picker_n_exporter.h +++ b/interfaces/kits/picker/include/picker_n_exporter.h @@ -40,6 +40,7 @@ struct PickerCallBack { bool ready = false; int32_t resultCode; string uri; + vector uriArr; }; struct PickerAsyncContext { @@ -55,6 +56,7 @@ class PickerNExporter final : public FileManagement::LibN::NExporter { public: inline static const std::string className_ = "Picker"; static napi_value StartModalPicker(napi_env env, napi_callback_info info); + static napi_value MakeNValWithUriArr(napi_env env, const vector &uriArr); bool Export() override; std::string GetClassName() override; PickerNExporter(napi_env env, napi_value exports); diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index c0fe563e..ba162874 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -36,6 +36,7 @@ const DocumentPickerMode = { const ExtTypes = { DOWNLOAD_TYPE: 'filePicker', + AUDIO_PICKER_TYPE: 'audioPicker', }; const PickerDetailType = { @@ -261,6 +262,23 @@ function parseDocumentPickerSelectOption(args, action) { return config; } +function parseAudioPickerSelectOption(args, action) { + let config = { + action: action, + parameters: { + extType: ExtTypes.AUDIO_PICKER_TYPE, + } + }; + if (args.length > ARGS_ZERO && typeof args[ARGS_ZERO] === 'object') { + let option = args[ARGS_ZERO]; + if ((option.maxSelectNumber !== undefined) && option.maxSelectNumber > 0) { + config.parameters.key_pick_num = option.maxSelectNumber; + } + } + console.log('modal picker: audio select config: ' + JSON.stringify(config)); + return config; +} + function getDocumentPickerSelectResult(args) { let selectResult = { error: undefined, @@ -387,13 +405,27 @@ function getModalPickerResult(args) { let saveResult = { error: undefined, data: undefined - } + }; if (args) { - var dataArr = []; + let dataArr = []; dataArr.push(args.uri); saveResult.data = dataArr; } - console.log('[picker] modal picker: download saveResult: ' + JSON.stringify(saveResult)); + console.log('modal picker: download saveResult: ' + JSON.stringify(saveResult)); + return saveResult; +} + +function getModalPickerArrResult(args) { + let saveResult = { + error: undefined, + data: undefined + }; + let dataArr = []; + if (args && args.uriArr) { + dataArr = args.uriArr; + } + saveResult.data = dataArr; + console.log('modal picker: download saveResult: ' + JSON.stringify(saveResult)); return saveResult; } @@ -451,10 +483,10 @@ async function modalPicker(args, context, config) { try { console.log('[picker] modal picker: config: ' + JSON.stringify(config)); let modalSaveResult = await startModalPicker(context, config); - const saveResult = getModalPickerResult(modalSaveResult); - return saveResult; + return modalSaveResult; } catch (resultError) { console.error('[picker] modal picker: Result error: ' + resultError); + return undefined; } } @@ -484,7 +516,8 @@ async function documentPickerSave(...args) { documentSaveConfig = parseDocumentPickerSaveOption(args, ACTION.SAVE_ACTION_MODAL); if (documentSaveConfig.parameters.pickerMode === DocumentPickerMode.DOWNLOAD) { console.log('[picker] modal picker: will start modal picker process. (DOWNLOAD)'); - saveResult = await modalPicker(args, documentSaveContext, documentSaveConfig); + let modalSaveResult = await modalPicker(args, documentSaveContext, documentSaveConfig); + saveResult = getModalPickerResult(modalSaveResult); } else { try { if (documentSaveContext === undefined) { @@ -506,7 +539,15 @@ async function documentPickerSave(...args) { console.log('[picker] document save result: ' + JSON.stringify(documentSaveResult)); saveResult = getDocumentPickerSaveResult(documentSaveResult); } + return sendResult(args, saveResult); +} + +async function sendResult(args, saveResult) { try { + if (saveResult === undefined) { + console.log('modal picker: saveResult is undefined'); + return undefined; + } if (args.length === ARGS_TWO && typeof args[ARGS_ONE] === 'function') { return args[ARGS_ONE](saveResult.error, saveResult.data); } else if (args.length === ARGS_ONE && typeof args[ARGS_ZERO] === 'function') { @@ -518,7 +559,7 @@ async function documentPickerSave(...args) { } else { reject(saveResult.error); } - }) + }); } catch (resultError) { console.error('[picker] Result error: ' + resultError); } @@ -532,7 +573,7 @@ async function audioPickerSelect(...args) { throw checkAudioArgsResult; } - const audioSelectConfig = parseDocumentPickerSelectOption(args, ACTION.SELECT_ACTION); + const audioSelectConfig = parseAudioPickerSelectOption(args, ACTION.SELECT_ACTION); console.log('[picker] audio select config: ' + JSON.stringify(audioSelectConfig)); let audioSelectContext = undefined; @@ -551,22 +592,9 @@ async function audioPickerSelect(...args) { console.error('[picker] audioSelectContext == undefined'); throw getErr(ErrCode.CONTEXT_NO_EXIST); } - let result = await audioSelectContext.startAbilityForResult(audioSelectConfig, {windowMode: 0}); - console.log('[picker] audio select result: ' + JSON.stringify(result)); - const audioSelectResult = getDocumentPickerSelectResult(result); - console.log('[picker] documentSelectResult: ' + JSON.stringify(audioSelectResult)); - if (args.length === ARGS_TWO && typeof args[ARGS_ONE] === 'function') { - return args[ARGS_ONE](audioSelectResult.error, audioSelectResult.data); - } else if (args.length === ARGS_ONE && typeof args[ARGS_ZERO] === 'function') { - return args[ARGS_ZERO](audioSelectResult.error, audioSelectResult.data); - } - return new Promise((resolve, reject) => { - if (audioSelectResult.data !== undefined) { - resolve(audioSelectResult.data); - } else { - reject(audioSelectResult.error); - } - }) + let modalSelectResult = await modalPicker(args, audioSelectContext, audioSelectConfig); + let saveResult = getModalPickerArrResult(modalSelectResult); + return sendResult(args, saveResult); } catch (error) { console.error('[picker] audio select error: ' + error); } diff --git a/interfaces/kits/picker/src/modal_ui_callback.cpp b/interfaces/kits/picker/src/modal_ui_callback.cpp index 97140dec..2957f82c 100644 --- a/interfaces/kits/picker/src/modal_ui_callback.cpp +++ b/interfaces/kits/picker/src/modal_ui_callback.cpp @@ -51,6 +51,10 @@ void ModalUICallback::OnResultForModal(int32_t resultCode, const OHOS::AAFwk::Wa HILOG_INFO("modal picker: downloadNewUri exit."); pickerCallBack_->uri = result.GetStringParam("downloadNewUri"); } + if (result.GetParams().HasParam("uriArr")) { + HILOG_INFO("modal picker: uriArr exit."); + pickerCallBack_->uriArr = result.GetStringArrayParam("uriArr"); + } pickerCallBack_->resultCode = resultCode; pickerCallBack_->ready = true; } diff --git a/interfaces/kits/picker/src/picker_n_exporter.cpp b/interfaces/kits/picker/src/picker_n_exporter.cpp index 740f4fc9..a9f0ec94 100644 --- a/interfaces/kits/picker/src/picker_n_exporter.cpp +++ b/interfaces/kits/picker/src/picker_n_exporter.cpp @@ -45,6 +45,27 @@ string PickerNExporter::GetClassName() return PickerNExporter::className_; } +static napi_value MakeNValWithUriArr(napi_env env, const vector &uriArr) { + if (uriArr.size() == 0) { + return nullptr; + } + napi_value jsUris = nullptr; + napi_create_array_with_length(env, uriArr.size(), &jsUris); + for(size_t i = 0; i< uriArr.size(); i++) { + HILOG_DEBUG("modal picker: uriArr[%{public}zu] is %{public}s.", i, uriArr[i].c_str()); + napi_value jsUri = nullptr; + napi_status status = napi_create_string_utf8(env, uriArr[i].c_str(), NAPI_AUTO_LENGTH, &jsUri); + if (status != napi_ok) { + HILOG_ERROR("modal picker: uriArr napi_create_string_utf8 failed."); + } + if ((jsUri == nullptr) || (napi_set_element(env, jsUris, i, jsUri) != napi_ok)) { + HILOG_ERROR("modal picker: jsUri == nullptr or uriArr napi_set_element failed."); + break; + } + } + return jsUris; +} + static void StartModalPickerExecute(napi_env env, void *data) { HILOG_INFO("modal picker: StartModalPickerExecute begin"); @@ -63,10 +84,8 @@ static void StartModalPickerAsyncCallbackComplete(napi_env env, napi_status stat HILOG_ERROR("Async context is null"); return; } - auto jsContext = make_unique(); jsContext->status = false; - status = napi_get_undefined(env, &jsContext->data); if (status != napi_ok) { HILOG_ERROR("modal picker: napi_get_undefined jsContext->data failed"); @@ -79,7 +98,6 @@ static void StartModalPickerAsyncCallbackComplete(napi_env env, napi_status stat HILOG_DEBUG("modal picker: uri is %{public}s.", uri.c_str()); napi_value jsUri = nullptr; status = napi_create_string_utf8(env, uri.c_str(), NAPI_AUTO_LENGTH, &jsUri); - if (jsUri == nullptr) { HILOG_ERROR("jsUri is nullptr."); } @@ -89,6 +107,14 @@ static void StartModalPickerAsyncCallbackComplete(napi_env env, napi_status stat if (status != napi_ok) { HILOG_ERROR("modal picker: napi_set_named_property uri failed"); } + const vector uriArr = context->pickerCallBack->uriArr; + if (uriArr.size() > 0) { + napi_value jsUriArr = MakeNValWithUriArr(env, uriArr); + status = napi_set_named_property(env, result, "uriArr", jsUriArr); + if (status != napi_ok) { + HILOG_ERROR("modal picker: napi_set_named_property uriArr failed"); + } + } if (result != nullptr) { jsContext->data = result; jsContext->status = true; -- Gitee From c1bda8a0fe48f35cff023a590fa26f25f7d85dd1 Mon Sep 17 00:00:00 2001 From: libuyan Date: Thu, 20 Jun 2024 20:13:14 +0800 Subject: [PATCH 02/13] add target Signed-off-by: libuyan --- interfaces/kits/picker/src/modal_ui_callback.cpp | 2 +- interfaces/kits/picker/src/picker_n_exporter.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/interfaces/kits/picker/src/modal_ui_callback.cpp b/interfaces/kits/picker/src/modal_ui_callback.cpp index 2957f82c..a71b4150 100644 --- a/interfaces/kits/picker/src/modal_ui_callback.cpp +++ b/interfaces/kits/picker/src/modal_ui_callback.cpp @@ -48,8 +48,8 @@ void ModalUICallback::OnResultForModal(int32_t resultCode, const OHOS::AAFwk::Wa { HILOG_INFO("modal picker: OnResultForModal enter. resultCode is %{public}d", resultCode); if (result.GetParams().HasParam("downloadNewUri")) { - HILOG_INFO("modal picker: downloadNewUri exit."); pickerCallBack_->uri = result.GetStringParam("downloadNewUri"); + HILOG_INFO("modal picker: uri is %{public}s.", uri.c_str()); } if (result.GetParams().HasParam("uriArr")) { HILOG_INFO("modal picker: uriArr exit."); diff --git a/interfaces/kits/picker/src/picker_n_exporter.cpp b/interfaces/kits/picker/src/picker_n_exporter.cpp index a9f0ec94..384c0e23 100644 --- a/interfaces/kits/picker/src/picker_n_exporter.cpp +++ b/interfaces/kits/picker/src/picker_n_exporter.cpp @@ -45,13 +45,14 @@ string PickerNExporter::GetClassName() return PickerNExporter::className_; } -static napi_value MakeNValWithUriArr(napi_env env, const vector &uriArr) { +static napi_value MakeNValWithUriArr(napi_env env, const vector &uriArr) +{ if (uriArr.size() == 0) { return nullptr; } napi_value jsUris = nullptr; napi_create_array_with_length(env, uriArr.size(), &jsUris); - for(size_t i = 0; i< uriArr.size(); i++) { + for(size_t i = 0; i < uriArr.size(); i++) { HILOG_DEBUG("modal picker: uriArr[%{public}zu] is %{public}s.", i, uriArr[i].c_str()); napi_value jsUri = nullptr; napi_status status = napi_create_string_utf8(env, uriArr[i].c_str(), NAPI_AUTO_LENGTH, &jsUri); @@ -95,7 +96,6 @@ static void StartModalPickerAsyncCallbackComplete(napi_env env, napi_status stat HILOG_ERROR("modal picker: napi_get_undefined jsContext->error failed"); } const string uri = context->pickerCallBack->uri; - HILOG_DEBUG("modal picker: uri is %{public}s.", uri.c_str()); napi_value jsUri = nullptr; status = napi_create_string_utf8(env, uri.c_str(), NAPI_AUTO_LENGTH, &jsUri); if (jsUri == nullptr) { -- Gitee From 78a69e5fd05af4e429c65160aafaec97e10ec1b5 Mon Sep 17 00:00:00 2001 From: libuyan Date: Thu, 20 Jun 2024 20:25:22 +0800 Subject: [PATCH 03/13] add target Signed-off-by: libuyan --- interfaces/kits/picker/src/picker_n_exporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/picker/src/picker_n_exporter.cpp b/interfaces/kits/picker/src/picker_n_exporter.cpp index 384c0e23..a0f17d57 100644 --- a/interfaces/kits/picker/src/picker_n_exporter.cpp +++ b/interfaces/kits/picker/src/picker_n_exporter.cpp @@ -52,7 +52,7 @@ static napi_value MakeNValWithUriArr(napi_env env, const vector &uriArr) } napi_value jsUris = nullptr; napi_create_array_with_length(env, uriArr.size(), &jsUris); - for(size_t i = 0; i < uriArr.size(); i++) { + for (size_t i = 0; i < uriArr.size(); i++) { HILOG_DEBUG("modal picker: uriArr[%{public}zu] is %{public}s.", i, uriArr[i].c_str()); napi_value jsUri = nullptr; napi_status status = napi_create_string_utf8(env, uriArr[i].c_str(), NAPI_AUTO_LENGTH, &jsUri); -- Gitee From 51327bd329a22eae1edabf04e4c6937d01056c65 Mon Sep 17 00:00:00 2001 From: libuyan Date: Thu, 20 Jun 2024 20:46:57 +0800 Subject: [PATCH 04/13] add target Signed-off-by: libuyan --- interfaces/kits/picker/src/modal_ui_callback.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/picker/src/modal_ui_callback.cpp b/interfaces/kits/picker/src/modal_ui_callback.cpp index a71b4150..dda39228 100644 --- a/interfaces/kits/picker/src/modal_ui_callback.cpp +++ b/interfaces/kits/picker/src/modal_ui_callback.cpp @@ -49,7 +49,7 @@ void ModalUICallback::OnResultForModal(int32_t resultCode, const OHOS::AAFwk::Wa HILOG_INFO("modal picker: OnResultForModal enter. resultCode is %{public}d", resultCode); if (result.GetParams().HasParam("downloadNewUri")) { pickerCallBack_->uri = result.GetStringParam("downloadNewUri"); - HILOG_INFO("modal picker: uri is %{public}s.", uri.c_str()); + HILOG_INFO("modal picker: uri is %{public}s.", pickerCallBack_->uri.c_str()); } if (result.GetParams().HasParam("uriArr")) { HILOG_INFO("modal picker: uriArr exit."); -- Gitee From 35b33fde88cad32e89dc0973976ea4a82cf15d60 Mon Sep 17 00:00:00 2001 From: BrainL Date: Tue, 2 Jul 2024 12:17:52 +0000 Subject: [PATCH 05/13] update interfaces/kits/picker/src/picker_n_exporter.cpp. Signed-off-by: BrainL --- interfaces/kits/picker/src/picker_n_exporter.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/interfaces/kits/picker/src/picker_n_exporter.cpp b/interfaces/kits/picker/src/picker_n_exporter.cpp index da25adff..d50484bd 100644 --- a/interfaces/kits/picker/src/picker_n_exporter.cpp +++ b/interfaces/kits/picker/src/picker_n_exporter.cpp @@ -60,8 +60,8 @@ static void MakeResultWithArr(napi_env env, std::string key, napi_value &result, napi_value array; napi_create_array(env, &array); napi_status status = napi_generic_failure; - if (pickerCallBack->want.GetParams().HasParam(key)) { - std::vector list = pickerCallBack->want.GetStringArrayParam(key); + if (pickerCallBack->want.GetParams().HasParam(key.c_str())) { + std::vector list = pickerCallBack->want.GetStringArrayParam(key.c_str()); const int32_t len = list.size(); HILOG_INFO("modal picker: %{public}s size. %{public}d ", key.c_str(), len); for (int i = 0; i < len; i++) { @@ -69,7 +69,7 @@ static void MakeResultWithArr(napi_env env, std::string key, napi_value &result, napi_create_string_utf8(env, list[i].c_str(), NAPI_AUTO_LENGTH, &uri); napi_set_element(env, array, i, uri); } - status = napi_set_named_property(env, result, key, array); + status = napi_set_named_property(env, result, key.c_str(), array); if (status != napi_ok) { HILOG_ERROR("modal picker: napi_set_named_property uri failed"); } -- Gitee From 7a729d5ef7774600e8ed84c2cd5325a6e262f30d Mon Sep 17 00:00:00 2001 From: BrainL Date: Wed, 3 Jul 2024 03:28:07 +0000 Subject: [PATCH 06/13] update interfaces/kits/picker/src/picker_n_exporter.cpp. Signed-off-by: BrainL --- interfaces/kits/picker/src/picker_n_exporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/picker/src/picker_n_exporter.cpp b/interfaces/kits/picker/src/picker_n_exporter.cpp index d50484bd..0abe6576 100644 --- a/interfaces/kits/picker/src/picker_n_exporter.cpp +++ b/interfaces/kits/picker/src/picker_n_exporter.cpp @@ -95,7 +95,7 @@ static napi_value MakeResultWithPickerCallBack(napi_env env, std::shared_ptr Date: Wed, 3 Jul 2024 11:17:41 +0000 Subject: [PATCH 07/13] update interfaces/kits/picker/picker.js. Signed-off-by: BrainL --- interfaces/kits/picker/picker.js | 65 +++++++------------------------- 1 file changed, 14 insertions(+), 51 deletions(-) diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index c7cb4893..1f69f40b 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -283,36 +283,6 @@ function parseAudioPickerSelectOption(args, action) { return config; } - -function getAudioPickerSelectResult(args) { - let selectResult = { - error: undefined, - data: undefined - }; - // 0:success - // -1:Non modal cancel - // 1:Modal cancel - // ResultCode is a non modal return code. - // Result is the return code of the modality. - if ((args.resultCode !== undefined && args.resultCode === 0) || (args.result !== undefined && args.result === 0)) { - if (args.want && args.want.parameters) { - if (args.want.parameters.select_item_list) { - selectResult.data = args.want.parameters.select_item_list; - } else { - selectResult.data = args.want.parameters['ability.params.stream']; - } - } - } else if ((args.resultCode !== undefined && args.resultCode === -1) || - (args.result !== undefined && args.result === 1)) { - selectResult.data = []; - } else { - selectResult.error = getErr(ErrCode.RESULT_ERROR); - } - - console.log('[picker] document select selectResult: ' + JSON.stringify(selectResult)); - return selectResult; -} - function getDocumentPickerSelectResult(args) { let selectResult = { error: undefined, @@ -410,32 +380,25 @@ function parseDocumentPickerSaveOption(args, action) { return config; } - -function getModalPickerResult(args) { +function getAudioPickerSelectResult(args) { let saveResult = { error: undefined, data: undefined }; - if (args) { - let dataArr = []; - dataArr.push(args.uri); - saveResult.data = dataArr; + if (args.resultCode !== undefined && args.resultCode === 0) { + if (args.uriArr) { + saveResult.data = args.uriArr; + saveResult.error = args.resultCode; + } + + } else if (args.resultCode !== undefined && args.resultCode === -1) { + saveResult.data = []; + saveResult.error = args.resultCode; + } else { + saveResult.error = getErr(ErrCode.RESULT_ERROR); } - console.log('modal picker: download saveResult: ' + JSON.stringify(saveResult)); - return saveResult; -} -function getModalPickerArrResult(args) { - let saveResult = { - error: undefined, - data: undefined - }; - let dataArr = []; - if (args && args.uriArr) { - dataArr = args.uriArr; - } - saveResult.data = dataArr; - console.log('modal picker: download saveResult: ' + JSON.stringify(saveResult)); + console.log('[picker] getAudioPickerSelectResult saveResult: ' + JSON.stringify(saveResult)); return saveResult; } @@ -579,7 +542,7 @@ async function audioPickerSelect(...args) { throw getErr(ErrCode.CONTEXT_NO_EXIST); } let modalSelectResult = await modalPicker(args, audioSelectContext, audioSelectConfig); - let saveResult = getModalPickerArrResult(modalSelectResult); + let saveResult = getAudioPickerSelectResult(modalSelectResult); return sendResult(args, saveResult); } catch (error) { console.error('[picker] audio select error: ' + error); -- Gitee From 92c7575e3bc423d3fa7e7cc991a73c2ff14bffdd Mon Sep 17 00:00:00 2001 From: BrainL Date: Wed, 3 Jul 2024 11:19:10 +0000 Subject: [PATCH 08/13] update interfaces/kits/picker/src/picker_n_exporter.cpp. Signed-off-by: BrainL --- interfaces/kits/picker/src/picker_n_exporter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interfaces/kits/picker/src/picker_n_exporter.cpp b/interfaces/kits/picker/src/picker_n_exporter.cpp index 0abe6576..ca93a3b8 100644 --- a/interfaces/kits/picker/src/picker_n_exporter.cpp +++ b/interfaces/kits/picker/src/picker_n_exporter.cpp @@ -55,7 +55,8 @@ static void StartModalPickerExecute(napi_env env, void *data) HILOG_INFO("modal picker: StartModalPickerExecute is ready."); } -static void MakeResultWithArr(napi_env env, std::string key, napi_value &result, std::shared_ptr pickerCallBack) +static void MakeResultWithArr(napi_env env, std::string key, napi_value &result, + std::shared_ptr pickerCallBack) { napi_value array; napi_create_array(env, &array); -- Gitee From 1c29214cab85ee971b6a2bf8cbf652d4afb1e1c6 Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 5 Jul 2024 05:06:01 +0000 Subject: [PATCH 09/13] update interfaces/kits/picker/picker.js. Signed-off-by: BrainL --- interfaces/kits/picker/picker.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index 1f69f40b..7d424998 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -76,6 +76,8 @@ const CREATE_FILE_NAME_LENGTH_LIMIT = 256; const ARGS_ZERO = 0; const ARGS_ONE = 1; const ARGS_TWO = 2; +const RESULT_CODE_ERROR = -1; +const RESULT_CODE_OK = 0; /* * UTF-8字符编码数值对应的存储长度: @@ -290,13 +292,13 @@ function getDocumentPickerSelectResult(args) { }; // 0:success // -1:modal cancel - if (args.resultCode !== undefined && args.resultCode === 0) { + if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_OK) { if (args.ability_params_stream) { selectResult.data = args.ability_params_stream; selectResult.error = args.resultCode; } - } else if (args.resultCode !== undefined && args.resultCode === -1) { + } else if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_ERROR) { selectResult.data = []; selectResult.error = args.resultCode; } else { @@ -385,13 +387,13 @@ function getAudioPickerSelectResult(args) { error: undefined, data: undefined }; - if (args.resultCode !== undefined && args.resultCode === 0) { + if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_OK) { if (args.uriArr) { saveResult.data = args.uriArr; saveResult.error = args.resultCode; } - } else if (args.resultCode !== undefined && args.resultCode === -1) { + } else if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_ERROR) { saveResult.data = []; saveResult.error = args.resultCode; } else { @@ -411,13 +413,12 @@ function getDocumentPickerSaveResult(args) { // 0:success // -1:modal cancel - if (args.resultCode !== undefined && args.resultCode === 0) { + if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_OK) { if (args.ability_params_stream) { saveResult.data = args.ability_params_stream; saveResult.error = args.resultCode; } - - } else if (args.resultCode !== undefined && args.resultCode === -1) { + } else if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_ERROR) { saveResult.data = []; saveResult.error = args.resultCode; } else { -- Gitee From 137454f848d7d57c25cb95d0e482d389768c4f3e Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 5 Jul 2024 05:15:37 +0000 Subject: [PATCH 10/13] update interfaces/kits/picker/src/picker_n_exporter.cpp. Signed-off-by: BrainL --- interfaces/kits/picker/src/picker_n_exporter.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/interfaces/kits/picker/src/picker_n_exporter.cpp b/interfaces/kits/picker/src/picker_n_exporter.cpp index ca93a3b8..323a5dce 100644 --- a/interfaces/kits/picker/src/picker_n_exporter.cpp +++ b/interfaces/kits/picker/src/picker_n_exporter.cpp @@ -63,9 +63,8 @@ static void MakeResultWithArr(napi_env env, std::string key, napi_value &result, napi_status status = napi_generic_failure; if (pickerCallBack->want.GetParams().HasParam(key.c_str())) { std::vector list = pickerCallBack->want.GetStringArrayParam(key.c_str()); - const int32_t len = list.size(); - HILOG_INFO("modal picker: %{public}s size. %{public}d ", key.c_str(), len); - for (int i = 0; i < len; i++) { + HILOG_INFO("modal picker: %{public}s size. %{public}zu ", key.c_str(), list.size()); + for (size_t i = 0; i < list.size(); i++) { napi_value uri = nullptr; napi_create_string_utf8(env, list[i].c_str(), NAPI_AUTO_LENGTH, &uri); napi_set_element(env, array, i, uri); -- Gitee From 871b6d652484748ef9dbdd09497cec6b5d355fc1 Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 5 Jul 2024 10:04:05 +0000 Subject: [PATCH 11/13] update interfaces/kits/picker/picker.js. Signed-off-by: BrainL --- interfaces/kits/picker/picker.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index 7d424998..af332bfb 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -387,19 +387,20 @@ function getAudioPickerSelectResult(args) { error: undefined, data: undefined }; - if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_OK) { + if (args.resultCode === undefined) { + saveResult.error = getErr(ErrCode.RESULT_ERROR); + console.log('[picker] getAudioPickerSelectResult saveResult: ' + JSON.stringify(saveResult)); + return saveResult; + } + if (args.resultCode === RESULT_CODE_OK) { if (args.uriArr) { saveResult.data = args.uriArr; saveResult.error = args.resultCode; } - - } else if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_ERROR) { + } else if (args.resultCode === RESULT_CODE_ERROR) { saveResult.data = []; saveResult.error = args.resultCode; - } else { - saveResult.error = getErr(ErrCode.RESULT_ERROR); } - console.log('[picker] getAudioPickerSelectResult saveResult: ' + JSON.stringify(saveResult)); return saveResult; } @@ -410,21 +411,20 @@ function getDocumentPickerSaveResult(args) { error: undefined, data: undefined }; - - // 0:success - // -1:modal cancel - if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_OK) { + if (args.resultCode !== undefined) { + saveResult.error = getErr(ErrCode.RESULT_ERROR); + console.log('[picker] getDocumentPickerSaveResult saveResult: ' + JSON.stringify(saveResult)); + return saveResult; + } + if (args.resultCode === RESULT_CODE_OK) { if (args.ability_params_stream) { saveResult.data = args.ability_params_stream; saveResult.error = args.resultCode; } - } else if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_ERROR) { + } else if (args.resultCode === RESULT_CODE_ERROR) { saveResult.data = []; saveResult.error = args.resultCode; - } else { - saveResult.error = getErr(ErrCode.RESULT_ERROR); } - console.log('[picker] getDocumentPickerSaveResult saveResult: ' + JSON.stringify(saveResult)); return saveResult; } -- Gitee From 45938e92cd0f5f65fa846ccb321584e73f08cacd Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 5 Jul 2024 10:07:35 +0000 Subject: [PATCH 12/13] update interfaces/kits/picker/picker.js. Signed-off-by: BrainL --- interfaces/kits/picker/picker.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index af332bfb..eff67962 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -290,21 +290,20 @@ function getDocumentPickerSelectResult(args) { error: undefined, data: undefined }; - // 0:success - // -1:modal cancel - if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_OK) { + if (args.resultCode === undefined) { + selectResult.error = getErr(ErrCode.RESULT_ERROR); + console.log('[picker] document select selectResult: ' + JSON.stringify(selectResult)); + return selectResult; + } + if (args.resultCode === RESULT_CODE_OK) { if (args.ability_params_stream) { selectResult.data = args.ability_params_stream; selectResult.error = args.resultCode; - } - - } else if (args.resultCode !== undefined && args.resultCode === RESULT_CODE_ERROR) { + } + } else if (args.resultCode === RESULT_CODE_ERROR) { selectResult.data = []; selectResult.error = args.resultCode; - } else { - selectResult.error = getErr(ErrCode.RESULT_ERROR); } - console.log('[picker] document select selectResult: ' + JSON.stringify(selectResult)); return selectResult; } @@ -411,7 +410,7 @@ function getDocumentPickerSaveResult(args) { error: undefined, data: undefined }; - if (args.resultCode !== undefined) { + if (args.resultCode === undefined) { saveResult.error = getErr(ErrCode.RESULT_ERROR); console.log('[picker] getDocumentPickerSaveResult saveResult: ' + JSON.stringify(saveResult)); return saveResult; -- Gitee From efbd74896921399f2435a0296cd03b307b397346 Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 5 Jul 2024 10:09:55 +0000 Subject: [PATCH 13/13] update interfaces/kits/picker/picker.js. Signed-off-by: BrainL --- interfaces/kits/picker/picker.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index eff67962..175cd546 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -382,26 +382,26 @@ function parseDocumentPickerSaveOption(args, action) { } function getAudioPickerSelectResult(args) { - let saveResult = { + let selectResult = { error: undefined, data: undefined }; if (args.resultCode === undefined) { - saveResult.error = getErr(ErrCode.RESULT_ERROR); - console.log('[picker] getAudioPickerSelectResult saveResult: ' + JSON.stringify(saveResult)); - return saveResult; + selectResult.error = getErr(ErrCode.RESULT_ERROR); + console.log('[picker] getAudioPickerSelectResult selectResult: ' + JSON.stringify(selectResult)); + return selectResult; } if (args.resultCode === RESULT_CODE_OK) { if (args.uriArr) { - saveResult.data = args.uriArr; - saveResult.error = args.resultCode; + selectResult.data = args.uriArr; + selectResult.error = args.resultCode; } } else if (args.resultCode === RESULT_CODE_ERROR) { - saveResult.data = []; - saveResult.error = args.resultCode; + selectResult.data = []; + selectResult.error = args.resultCode; } - console.log('[picker] getAudioPickerSelectResult saveResult: ' + JSON.stringify(saveResult)); - return saveResult; + console.log('[picker] getAudioPickerSelectResult selectResult: ' + JSON.stringify(selectResult)); + return selectResult; } -- Gitee