From: InHong Han Date: Thu, 1 Sep 2022 06:02:34 +0000 (+0900) Subject: Add the new API for getting voice_assistant_enabled X-Git-Tag: submit/tizen/20220902.072608~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5b21c4686abd08d34b1cd5bf1f5c5d8573fb7bed;p=platform%2Fcore%2Fuifw%2Fmulti-assistant.git Add the new API for getting voice_assistant_enabled Change-Id: I27045db93584f01af1b571851740bec969f32602 --- diff --git a/common/multi_assistant_settings.c b/common/multi_assistant_settings.c index 5847a9c..fb1b1a3 100644 --- a/common/multi_assistant_settings.c +++ b/common/multi_assistant_settings.c @@ -95,6 +95,41 @@ int ma_settings_change_voice_assistant(const char* app_id) { return res; } +int ma_settings_get_voice_assistant_enabled(const char* app_id, bool *enabled) { + bool multiple = false; + int res = ma_settings_is_multiple_mode(&multiple); + if (MA_ERROR_NONE != res) return res; + + if (!multiple) { + LOGE("Not supported"); + return MA_ERROR_NOT_SUPPORTED; + } + + if (!enabled || !app_id) { + LOGE("Invalid parameter"); + return MA_ERROR_INVALID_PARAMETER; + } + + char* enabled_assistants = vconf_get_str(ENABLED_ASSISTANT_URL); + if (vconf_get_ext_errno() != VCONF_OK) { + LOGE("Operation Failed"); + return MA_ERROR_OPERATION_FAILED; + } + + if (enabled_assistants) { + char* tmp = strstr(enabled_assistants, app_id); + *enabled = tmp ? true : false; + } else { + *enabled = false; + } + + if (enabled_assistants) { + free(enabled_assistants); + } + + return res; +} + int ma_settings_set_voice_assistant_enabled(const char* app_id, bool enabled) { bool multiple = false; diff --git a/include/multi_assistant_settings.h b/include/multi_assistant_settings.h index 288b14e..715612b 100644 --- a/include/multi_assistant_settings.h +++ b/include/multi_assistant_settings.h @@ -85,6 +85,22 @@ int ma_settings_get_current_voice_assistant(char** app_id); */ int ma_settings_change_voice_assistant(const char* app_id); +/** + * @brief Get whether the specific voice assistant should be enabled or not. + * @since_tizen 7.0 + * @privlevel public + * + * @return @c 0 on success, otherwise a negative error value + * @retval #MA_ERROR_NONE Successful + * @retval #MA_ERROR_NOT_SUPPORTED Not supported + * @retval #MA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #MA_ERROR_OPERATION_FAILED Operation failed + * + * @param[in] app_id The app id of the voice assistant + * @param[out] enabled The enabled state of the voice assistant + */ +int ma_settings_get_voice_assistant_enabled(const char* app_id, bool *enabled); + /** * @brief En/Disable a specific voice assistant. * @since_tizen 5.5