platform/core/uifw/voice-control.git
19 months agoUpdate version to 1.75.3 65/289865/1 accepted/tizen/unified/20230317.033818
ulgal-park [Tue, 14 Mar 2023 12:26:44 +0000 (21:26 +0900)]
Update version to 1.75.3

Change-Id: Ide3c6b0833559c11759c1afccb3a846eaba642f1

19 months agoadd guard clause when use tidl info 64/289864/1
ulgal-park [Tue, 14 Mar 2023 12:19:13 +0000 (21:19 +0900)]
add guard clause when use tidl info

Change-Id: If1b530d30def44840a7f56238bab420bcc65f5fd

20 months agoUpdate version (1.75.2) 33/289733/1 accepted/tizen/unified/20230316.174019
sooyeon [Tue, 14 Mar 2023 06:06:56 +0000 (15:06 +0900)]
Update version (1.75.2)

Change-Id: I6ab67a569f0ebf740037bb74aaf6d1075fd3a9f0
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
20 months agoFix Svace issues by removing unused codes 32/289732/1
sooyeon [Tue, 14 Mar 2023 05:50:47 +0000 (14:50 +0900)]
Fix Svace issues by removing unused codes

Change-Id: I4b6d194faacd074305ab7a6968c715e94d0994ba
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
20 months agoUpdate version to 1.75.1 54/289654/1 accepted/tizen/unified/20230314.093353 submit/tizen/20230313.042534
ulgal-park [Mon, 13 Mar 2023 03:54:48 +0000 (12:54 +0900)]
Update version to 1.75.1

Change-Id: Id348d0e8a8c010910bd274f455133c499906f48b

20 months agoadd guard clause when use g_VoiceControlClients 53/289653/1
ulgal-park [Mon, 13 Mar 2023 03:54:05 +0000 (12:54 +0900)]
add guard clause when use g_VoiceControlClients

Change-Id: I36d7c0cccd8cee52a6948cbcf3af873e3ae950b9

20 months agoChange widget retry count and interval when engine not loaded 52/289652/1
ulgal-park [Fri, 10 Mar 2023 10:14:30 +0000 (19:14 +0900)]
Change widget retry count and interval when engine not loaded

Change-Id: Ia7b97d900f18dad2bec2d2e08864ba77af5d657d

20 months agoUpdate version to 1.75.0 96/289496/1
wn.jang [Thu, 9 Mar 2023 01:58:39 +0000 (10:58 +0900)]
Update version to 1.75.0

Change-Id: I32a641064bbce6011c536225ebb92105023a9a7d

21 months agoFix coding convention about member variables and static functions 84/287284/1
Suyeon Hwang [Thu, 19 Jan 2023 10:23:10 +0000 (19:23 +0900)]
Fix coding convention about member variables and static functions

- Issue:
Using two underscores(__) as name of variables or functions is
reserved by C and CPP compilers, so it may occur name colision.

- Solution:
Previously, most of the code followed old tizen coding convention.
However, in case of name, the convention conflicts with C and CPP
standard, because two underscore is already reserved as an identifier by
C and CPP standard. Thus, using two underscores may cause some problems.
To resolve this collision, this patch fixes the name of member variables
and static functions to match C and CPP standard. Through this patch,
CPP files in the project do not use two underscore as name of variables
and functions anymore.

Change-Id: I2309c0c1d7bdb37a3b55f996d1d0372dc39dd856
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoRemove unused header file including 41/286241/1
Suyeon Hwang [Mon, 2 Jan 2023 08:02:03 +0000 (17:02 +0900)]
Remove unused header file including

Change-Id: Id9f560ec1214bae1979205970cac31cd7e2ea3d1
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoMake inline function for logging 40/286240/1
Suyeon Hwang [Mon, 2 Jan 2023 07:47:46 +0000 (16:47 +0900)]
Make inline function for logging

- Issue:
For printing log, enum value is used as boolean.

- Solution:
This patch makes converting function for removing invalid usage of enum
value as boolean. Through this patch, the new function will safely
converts the enum value to string.

Change-Id: I0ee373dd86e044933225728e7e970119b5fb5cce
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoFix format string and data types 39/286239/1
Suyeon Hwang [Mon, 2 Jan 2023 05:51:55 +0000 (14:51 +0900)]
Fix format string and data types

- Issue:
Some format string and data types are not matched to the size of those
values.

- Solution:
This patch fixes the format string and data types for handling the size
of the value. And also this patch removes data copy in iterating
vector lists using reference type.

Change-Id: I3076c3ff9899b44469267a78bd7a8562aa4ee104
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoCleanup vc_config_mgr 07/286207/1
Suyeon Hwang [Thu, 8 Dec 2022 07:57:47 +0000 (16:57 +0900)]
Cleanup vc_config_mgr

Change-Id: Ic8723697a0ec4a408c3778b17e1d78c7c8260e1e
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoRemove unused mutex vc_config_mgr_mutex 06/286206/1
Suyeon Hwang [Wed, 7 Dec 2022 04:38:48 +0000 (13:38 +0900)]
Remove unused mutex vc_config_mgr_mutex

- Requirement:
vc_config_mgr_mutex is not valuable to assure thread safety.

- Content:
Through previous patches, all important global variable has their own
mutex for thread safety. Thus, vc_config_mgr_mutex is not needed
anymore. Therefore, this patch removes vc_config_mgr_mutex from the
module.

Change-Id: Icaac3b07f5f8a378f4c5f236746fe31d5be27175
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoMake class for managing g_config_client_list 05/286205/1
Suyeon Hwang [Wed, 7 Dec 2022 02:21:09 +0000 (11:21 +0900)]
Make class for managing g_config_client_list

- Requirement:
g_config_client_list is shared memory, so thread safe access for
g_config_client_list is needed.

- Contents:
This patch makes new classes for accessing list of vc_config_client_s
instance. Through this patch, all other functions in this module can
access list of client information in a thread safe way using new class
instance introduced by this patch.
This new class will protect each client information element using mutex,
so the class will assure to prevent race condition.

Change-Id: I2426df83bd763ee3a96334cc64b4b93f6e06a760
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoMake class for managing list of vc_engine_info_s 04/286204/1
Suyeon Hwang [Tue, 6 Dec 2022 07:35:41 +0000 (16:35 +0900)]
Make class for managing list of vc_engine_info_s

- Requirement:
g_engine_list is shared memory, so thread safe access for g_engine_list
is needed.

- Contents:
This patch makes new classes for accessing list of vc_engine_info_s
instances. Through this patch, all other functions in this module can
access list of vc_engine_info_s instances in a thread safe way using new
class iinstance introduced by this patch.
This new class will protect each engine information element using mutex,
so the class will assure to prevent race condition.

Change-Id: I455a5effb5076119be220936fd26a27143e72081
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoMake class for managing vc_config_s instance 03/286203/1
Suyeon Hwang [Thu, 1 Dec 2022 09:54:49 +0000 (18:54 +0900)]
Make class for managing vc_config_s instance

- Requirement:
g_config_info is shared memory, so thread safe access for g_config_info
is needed.

- Contents:
This patch makes new class for accessing vc_config_s instance. Through
this patch, all other functions in this module can access configuration
property in a thread safe way using method of new class.
This new class will protect vc_config_s property using mutex, so the
class will assure to prevent race condition.

Change-Id: Ifdf2c37874f9dfe53cc6f645149ec28036f8c0d2
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoRefactor logic for initialzing vc_config_mgr 02/286202/1
Suyeon Hwang [Thu, 1 Dec 2022 04:46:19 +0000 (13:46 +0900)]
Refactor logic for initialzing vc_config_mgr

- Issue:
The code in vc_config_mgr_initialize() has high complexity, and other
function has to use indirect method to check whether the module is
initialized.

- Solution:
This patch refactors the vc_config_mgr_initalize() function. Through
this patch, duplicated code in vc_config_mgr_initialize() is removed,
and also the new flag which shows whether the module is initialized is
introduced. The functions in this module will be able to check the
initialization of the module using this new flag.

Change-Id: I6579c3274dbe5ea93fdf6c5bb990f7a98ea0ffae
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoMake critical section for g_ino_list using std::mutex 01/286201/1
Suyeon Hwang [Tue, 29 Nov 2022 11:02:00 +0000 (20:02 +0900)]
Make critical section for g_ino_list using std::mutex

- Requirement:
Simpler code for making critical section is needed to increase
readbility.

- Content:
This patch changes the critical section tool from pthread_mutex to CPP
standard library mutext. Through this patch, we can easily handle the
critical section of g_ino_list.

Change-Id: I1bb59561ed2ea86bf0db8b38718abdf6716e2987
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoChange file format from c to cpp 00/286200/1
Suyeon Hwang [Tue, 29 Nov 2022 08:33:03 +0000 (17:33 +0900)]
Change file format from c to cpp

- Requirement:
It is hard to assure thread safe in C based code.

- Solution:
This patch changes the file format of vc_config_mgr from c to cpp.
Through this patch, refactoring vc_config_mgr will become easier.

Change-Id: I0cf1c672daf74daa97d759564f2610a0074ff127
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoMake function for duplicated logic 99/286199/1
Suyeon Hwang [Tue, 29 Nov 2022 07:53:30 +0000 (16:53 +0900)]
Make function for duplicated logic

- Issue:
Some code logics are used repeatedly.

- Solution:
This patch makes functions for these logics. Through this patch,
duplicated logics are removed from vc_config_mgr module.

Change-Id: Ic923b0aa52b93ca2286aa80d386ca77b295a7aaf
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoAdd missing retval description 98/286198/1
Suyeon Hwang [Mon, 26 Dec 2022 10:33:58 +0000 (19:33 +0900)]
Add missing retval description

Change-Id: I07c29110d4266aa0b4cdfd319bcf514cd2106803
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agochange privilege about vc_tts APIs 90/286190/1
dyamy-lee [Wed, 7 Dec 2022 12:02:18 +0000 (21:02 +0900)]
change privilege about vc_tts APIs

vc_tts APIs need to check voicecontrol.tts privilege.
So, add checking function about voicecontrol.tts privilege and use this in vc_tts APIs.

For vc_tts APIs, these don't need to check microphone, speech.control, recorder.
So, no check thoses privilege

Change-Id: I5d7ed88d6c2921063f7dddb7037c56bf2f814190

22 months agoadd vc_tts api unittest 89/286189/1
dyamy-lee [Wed, 7 Dec 2022 11:01:18 +0000 (20:01 +0900)]
add vc_tts api unittest

- add new TCs(positive, nagative) for vc_tts_request
- add new TCs(positive, nagative) for vc_tts_cancel

- add another nagative case for vc_tts_set_streaming_cb
- add another nagative case for vc_tts_set_utterance_status_cb

Change-Id: I4385c561cae122e063c749bb72db638d9142cf76

22 months agoAdd parameter check code 88/286188/1
Suyeon Hwang [Thu, 15 Dec 2022 06:55:30 +0000 (15:55 +0900)]
Add parameter check code

- Issue:
Some APIs describe that the API can return invalid parameter error, but
these APIs did not return invalid parameter error.

- Solution:
This patch adds parameter check code. Through this patch, some APIs will
return invalid parameter error if the parameter is not valid.

Change-Id: I1b6e24c31fc0c2aeeeb0930597d4e1069e33677b
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoFix description of voice control APIs 87/286187/1
Suyeon Hwang [Tue, 13 Dec 2022 02:15:16 +0000 (11:15 +0900)]
Fix description of voice control APIs

- Issue:
Some description for APIs does not explain exact behavior of each APIs.

- Solution:
This patch fixes the description of these APIs:
  - vc_set_invocation_name()
  - vc_set_server_dialog()
  - vc_unset_server_dialog()
  - vc_request_dialog()
  - vc_get_result()
  - vc_unset_result_cb()
  - vc_tts_set_utterance_status_cb()
  - vc_mgr_specific_engine_result_cb()
  - vc_mgr_get_current_commands()
  - vc_mgr_set_selected_results()
  - vc_mgr_set_all_result_cb()
  - vc_mgr_get_error_message()
The description of these APIs did not explain exact behavior of each
APIs.
And also, this patch fixes the order of retval to follow doxygen guide.

Change-Id: I4e1f0ab1db7cb4ecd7422315a7714f053aaf7d89
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoFix API behavior to match the specification 86/286186/1
Suyeon Hwang [Fri, 18 Nov 2022 08:42:56 +0000 (17:42 +0900)]
Fix API behavior to match the specification

- Issue:
Some APIs did not work as specified on API's documentation.

- Solution:
This patch adds logic for checking state and parameter and also fix some
function to work as specifedd on API's documentation. Through this
patch, the APIs will properly and expectedly work.

Change-Id: I8a4c0a36806ebfa562d18da13e3673bb776dd4da
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoRearrange coverage excluding scope 85/286185/1
Suyeon Hwang [Tue, 22 Nov 2022 09:04:08 +0000 (18:04 +0900)]
Rearrange coverage excluding scope

- Contents:
This patch fixes the comment for excluding line coverage checker.
Through this code, the code which is not covered by unit test is
excluded from line coverage checking.

Change-Id: Ib7f5b4a683e3f5bd10752d1fd0982e6cd917ad17
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoAdd unit test cases for enhancing line coverage 84/286184/1
Suyeon Hwang [Fri, 18 Nov 2022 08:34:19 +0000 (17:34 +0900)]
Add unit test cases for enhancing line coverage

- Issue:
Line coverage of unit test is too low.

- Solution:
This patch adds new test cases to cover uncovered logics in voice
control client library. Through this patch, the line coverage of unit
test will be bigger.

Change-Id: Ida10976a7bd7bb06c6378d367dfec8df06ecf953
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoSimplify the setup and teardown logic of tests 83/286183/1
Suyeon Hwang [Thu, 17 Nov 2022 06:21:36 +0000 (15:21 +0900)]
Simplify the setup and teardown logic of tests

- Requirements:
The setup and teardown method is too complicated to change.

- Contents:
This patch simplifies the setup and teardown method for future
refactoring and adding new TCs.

Change-Id: I706e7f0fcf5b50f86546ae0c63aa8e27ff491180
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoConnect synchronously when app uses setting API 81/286181/1
Suyeon Hwang [Tue, 15 Nov 2022 12:11:57 +0000 (21:11 +0900)]
Connect synchronously when app uses setting API

- Issue:
The setting API did not connect to vc server.

- Solution:
When setting API is invoked, the setting library invokes request hello
function only once. However, the request hello function uses
asynchronous connect and setting library did not waiting it. Thus,
setting API always fails to connect to vc server.
This patch changes connection function to synchronous one. Through this
patch, setting API can connect vc server properly.

Change-Id: I961dd545d2e92f0a4d644742e8b747086bd00e75
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoAdd test case for checking callback invocation 80/286180/1
Suyeon Hwang [Mon, 14 Nov 2022 12:07:00 +0000 (21:07 +0900)]
Add test case for checking callback invocation

- Issue:
There is no test case for checking whether the callbacks which are set
by manager is invoked.

- Solution:
The voice control framework provides manager API for sending pcm data as
recording data. Using this APIs, we can simulate the situation that the
user says something. Thus, we can make new test case in this situation.
And also, using app manager framework, we can make situation that the
engine is suddenly terminate.
Using these simulation, this patch creates new test cases for checking
whether the callback is invoked. Through this patch, developer can check
some callbacks are properly invoked in proper situation.

Change-Id: I42d4167c1d6dc33b67858e309264a542032f5f3e
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoRevert vc_mgr_set_selected_result() execution condition 42/286142/1
Suyeon Hwang [Tue, 22 Nov 2022 11:43:00 +0000 (20:43 +0900)]
Revert vc_mgr_set_selected_result() execution condition

- Issue:
vc_mgr_set_selected_result() should be able to invoked if
vc_mgr_all_result_cb() returns false.

- Solution:
Previous commit changes the execution condition of
vc_mgr_set_selected_result() to be invoked only in
vc_mgr_all_result_cb(). However, according to the description of
vc_mgr_all_result_cb(), vc_mgr_set_selected_result() should be able to
be invoked if vc_mgr_all_result_cb() returns false. Thus, this patch
reverts the condition of vc_mgr_set_selected_result() and fixes the
description of vc_mgr_set_selected_result().

Change-Id: I330a150187698f8179a62956b32a8092986397b4
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoFix errors which are created by solving merge conflict 40/286140/1
Suyeon Hwang [Mon, 14 Nov 2022 02:57:54 +0000 (11:57 +0900)]
Fix errors which are created by solving merge conflict

- Issue:
Some changes from previous commits are disappeared.

- Solution:
This patch rollbacks the some codes that disappeares by solving merge
conflict. And also this patch fixes bug that are not return error.

Change-Id: I81968cfa7cedc84aeb6d28e0f041cfe45d7190d1
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoAdd core layer to remove extern dependency at vc_mgr_tidl 25/286125/1
ulgal-park [Fri, 4 Nov 2022 06:15:31 +0000 (15:15 +0900)]
Add core layer to remove extern dependency at vc_mgr_tidl

Change-Id: Iba2ad7072b8f3f79080c6e979b60e0c39d2dc060

22 months agoAdd state and parameter check logic 24/286124/1
Suyeon Hwang [Thu, 10 Nov 2022 09:40:31 +0000 (18:40 +0900)]
Add state and parameter check logic

- Issue:
Some APIs are not follow its documentation.

- Solution:
This patch adds state and parameter check logic to make each APIs
follows its documentation. Some APIs did not make error even if the API
is invoked in error situation. Through this patch, each APIs will make
error in some condition specified by documentation.

Change-Id: Ie9c92d012e8891a168a990d5e47559add0d03e49
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoAdd cancel callback feedback thread 74/284174/2
Suyeon Hwang [Thu, 10 Nov 2022 09:00:21 +0000 (18:00 +0900)]
Add cancel callback feedback thread

- Issue:
Sometimes, ecore_thread_cancel() is blocked in vc_mgr_stop_feedback().

- Solution:
In vc_mgr_stop_feedback(), ecore_thread_cancel() is used, but the cancel
callback is not set. Thus, this patch adds cancel callback and makes the
callback reset the thread variable. Through this patch, the thread
variable will be safely reset.

Change-Id: I926c52aec385b07da65dbf1f6b363eeec328acdd
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoAdd unit test cases for internal APIs and missed APIs 23/286123/1
Suyeon Hwang [Thu, 10 Nov 2022 08:45:23 +0000 (17:45 +0900)]
Add unit test cases for internal APIs and missed APIs

- Issue:
There are some APIs those have no related TCs.

- Solution:
This patch adds new TCs for APIs those have no related TCs. Through this
patch, developer can validate all voice control manager APIs.
And also, this patch unifies the indetation to use tab.

Change-Id: I73fe6bdb0ddbf3e406b3ead170b9e770ce4670a8
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoReset g_mgr_client when client is destroyed 21/286121/1
Suyeon Hwang [Wed, 9 Nov 2022 04:34:51 +0000 (13:34 +0900)]
Reset g_mgr_client when client is destroyed

- Issue:
App can access g_mgr_client even if vc mgr was deinitialized.

- Solution:
VC mgr client module did not assign null in g_mgr_client when
vc_mgr_client_destroy() is invoked. Thus, app still can access the
dereferenced pointer in g_mgr_client after calling
vc_mgr_deinitialized(). This patch sets null in g_mgr_client when app
invokes the vc_mgr_deinitialize(). Through this patch, the client
structure of vc mgr is properly reset.

Change-Id: I8c20e70960607257fa5e80b961c610b5aaf51f9a
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoAdd unit tests for VC manager APIs 04/284104/2
Suyeon Hwang [Mon, 7 Nov 2022 10:42:05 +0000 (19:42 +0900)]
Add unit tests for VC manager APIs

- Requirements:
VC manager APIs need to get test case for validation when it has to be
changed.

- Contents:
This patch adds new unit test cases for VC manager APIs. VC manager
provides only for platform certificated APIs, so it does not need to UTC
or ITC for release process. Thus, those APIs are not validated by any
test now. Through this patch, developers can validate the APIs if they
want it.

Change-Id: Iaffd992010954e330f6a0312e553e9ad04543108
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
22 months agoStop feedback thread only when stop is requested 60/283960/2
Suyeon Hwang [Mon, 7 Nov 2022 10:55:23 +0000 (19:55 +0900)]
Stop feedback thread only when stop is requested

- Issue:
Sometimes, the feedback thread plays the TTS feedback data for previous
request.

- Solution:
The issue is because feedback thread is exited before the engine
finishing to send TTS feedback data. Thus, some data can be remained in
feedback data queue even if thread is terminated.
This patch fixes termination logic for TTS feedback thread. Through this
patch, TTS feedback thread is terminated only when stop is requested,
and TTS feedback thread tries to consume all feedback data.

Change-Id: I8deaaab5f6b3e44e86b62d1ec3d8735e30a54780
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoRemove vc manager handle in vc_mgr and vc_mgr_client 52/283852/1
ulgal-park [Fri, 4 Nov 2022 03:51:47 +0000 (12:51 +0900)]
Remove vc manager handle in vc_mgr and vc_mgr_client

Change-Id: Ie30d4b328f0e22f57d59c9c8dfdbe601fbbe34a2

2 years agoUpdate version to 1.70.8 48/283848/1
wn.jang [Fri, 4 Nov 2022 04:01:17 +0000 (13:01 +0900)]
Update version to 1.70.8

Change-Id: I2bc49f92717d5515ab7d776115525a41d9b8f9ed

2 years agoMerge changes I2d2676d0,Iffc7acb7,Ibe373fd5 into tizen
Suyeon Hwang [Thu, 3 Nov 2022 05:42:45 +0000 (05:42 +0000)]
Merge changes I2d2676d0,Iffc7acb7,Ibe373fd5 into tizen

* changes:
  Deallocate memory before setting new value
  Deallocate the list memory after using it
  Use setter to set invocation name safely

2 years agoDeallocate memory before setting new value 83/283783/1
Suyeon Hwang [Mon, 31 Oct 2022 06:46:54 +0000 (15:46 +0900)]
Deallocate memory before setting new value

- Issue:
Memory leak can be possible if vc_cmd_db module sets the new value in
vc_cmd_s structure.

- Solution:
The possibility of the issue is because the module did not check the
preivous value of the member. Thus, this patch adds code for checking
the member of the structure. If there is already value set, the module
will release the old value and then set new value.

Change-Id: I2d2676d08a4cacb75c32983c1a49eced28371b65
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoDeallocate the list memory after using it 82/283782/1
Suyeon Hwang [Mon, 31 Oct 2022 06:12:28 +0000 (15:12 +0900)]
Deallocate the list memory after using it

- Issue:
Command list was note deallocated after using it.

- Solution:
vc_cmd_db module creates the command list for update commands DB, but
after using it, the module did not deallocate the list. It can occur
memory leak. Thus, this patch adds code for deallocating the list.

Change-Id: Iffc7acb78aa577fdd56a27efd1abdc2a802d05eb
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoUse setter to set invocation name safely 81/283781/1
Suyeon Hwang [Fri, 28 Oct 2022 06:24:43 +0000 (15:24 +0900)]
Use setter to set invocation name safely

- Issue:
The invocation name previously set can be leaked.

- Solution:
The invocation name parameter is set by __vc_db_insert_commands_list()
without checking invocation itself. In most cases, invocation name is
not set by this function, but in special cases, memory leak can
occurred if use repeatedely set command list.
Thus, this patch prevents leak using setter function. The setter
function checks the invocation name paraemeter and safely changes it.

Change-Id: Ibe373fd51d5c2880ccea1d2b6699cd5614ffe49c
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix stack-buffer-overflow issue which is detected by ASAN 82/282882/1
wn.jang [Thu, 13 Oct 2022 02:16:23 +0000 (11:16 +0900)]
Fix stack-buffer-overflow issue which is detected by ASAN

Cause: A buffer overflow occurs because 4 bytes access occurs
       when the value is changeed as it is converted to (int*)
       even though it is set as 1 byte pool variable.

Soluetion: Use bool* instead of int* is_system_cmd_valid.

This issue is described on code.sec.samsung.net/jira/browse/TSEVEN-2604

Change-Id: I4d8dae44234d4879b99c75296244018b45e85e69

2 years agoUpdate version to 1.70.7 09/282509/1 accepted/tizen_7.0_unified_hotfix tizen_7.0_hotfix accepted/tizen/7.0/unified/hotfix/20221116.110242 accepted/tizen/unified/20221005.090827 tizen_7.0_m2_release
wn.jang [Wed, 5 Oct 2022 00:46:53 +0000 (09:46 +0900)]
Update version to 1.70.7

Change-Id: I1f90e77141b0d188275521e2f66c466bfbd78a66

2 years agoCheck if tidl_info is NULL before use when vc mgr app is terminated 08/282508/1
wn.jang [Tue, 4 Oct 2022 12:00:37 +0000 (21:00 +0900)]
Check if tidl_info is NULL before use when vc mgr app is terminated

Change-Id: I43a3c753eabb0ccb308545c47fbe3beaf0fc8114

2 years agoFix coverity issues 34/282334/1 accepted/tizen/unified/20221004.073922
sooyeon [Fri, 30 Sep 2022 02:02:36 +0000 (11:02 +0900)]
Fix coverity issues

Change-Id: Ica79c8c2c2804e9f11e45480914726085637eff7
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd NOT_SUPPORTED error description in the header 25/282325/1
sooyeon [Thu, 22 Sep 2022 07:38:35 +0000 (16:38 +0900)]
Add NOT_SUPPORTED error description in the header

Change-Id: I5f43440efbcf00e7ec6503a345b0a5a86b36f2c0
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd permission denied error and descriptions 24/282324/1
sooyeon [Thu, 22 Sep 2022 04:46:47 +0000 (13:46 +0900)]
Add permission denied error and descriptions

Change-Id: Iaf1b54300feb01f789cac0af799982a3d6492a3b
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd remarks for additional privileges 23/282323/1
sooyeon [Thu, 22 Sep 2022 01:29:22 +0000 (10:29 +0900)]
Add remarks for additional privileges

Change-Id: I3ce6765012901624f928e0c86c80a0248d0e6dea
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd and Rearrange descriptions 22/282322/1
sooyeon [Mon, 8 Aug 2022 05:03:41 +0000 (14:03 +0900)]
Add and Rearrange descriptions

Change-Id: I78f52786dbcb48d34b56ffd41ba47c41a7a6316c
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd TIDL privileges in vce header description 21/282321/1
sooyeon [Mon, 8 Aug 2022 02:44:01 +0000 (11:44 +0900)]
Add TIDL privileges in vce header description

Change-Id: Ic689323869a141bcc21d51fa695cae1e0b63574d
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUpdate version to 1.70.6 83/282183/1 accepted/tizen/unified/20220929.080315
wn.jang [Wed, 28 Sep 2022 04:14:37 +0000 (13:14 +0900)]
Update version to 1.70.6

Change-Id: I10ed1ade43238e73c857acf21251d238f1412557

2 years agoAdd usleep while waiting for releasing callback function 82/282182/1
wn.jang [Wed, 28 Sep 2022 04:13:31 +0000 (13:13 +0900)]
Add usleep while waiting for releasing callback function

Change-Id: I3516ec0834dda1eb4d9d8af2e993671e9a89dda8

2 years agoRetry when prepare_sync is failed 69/282169/1
wn.jang [Wed, 28 Sep 2022 00:55:08 +0000 (09:55 +0900)]
Retry when prepare_sync is failed

Change-Id: I9a96cd1254fefd746a76e6f8bb1fe2bba255293e

2 years agoAdd logic to avoid reconnetion when finalize 45/281945/1 accepted/tizen/unified/20220926.025525
wn.jang [Fri, 23 Sep 2022 07:50:49 +0000 (16:50 +0900)]
Add logic to avoid reconnetion when finalize

Cause: The on_disconnect() cb is called, even a client requtests to disconnect.

Change-Id: I463ad1321968cc86b775125b220dfc8f1ce8b9b3
Solution: Check whether ipc listening state or not when tries to reconnect.

2 years agoAdd prepare_sync function to connect directly 92/281692/1 accepted/tizen/unified/20220921.091827
wn.jang [Tue, 20 Sep 2022 23:46:22 +0000 (08:46 +0900)]
Add prepare_sync function to connect directly

Cause: The Web TCs were blocked and failed.

Change-Id: I5b64a3f281b59191d8c41fc60a44eacdcdd5edb3
Solution: Connect directly when web api request to prepare

2 years agoAdd to disconnect rpc socket when client is finalized 77/281677/1
wn.jang [Tue, 20 Sep 2022 11:46:23 +0000 (20:46 +0900)]
Add to disconnect rpc socket when client is finalized

Cause: __on_disconnection is called when engine is terminated due to no more clients.

Change-Id: If3cfaa9c35ce8477e3c08e7d12c211d49e622c42
Solution: To avoid reconnect by service reset, disconnect rpc socket when client is finalized.

2 years agoFix coverity issues 94/280894/1 accepted/tizen/unified/20220908.013413
sooyeon [Tue, 6 Sep 2022 01:52:24 +0000 (10:52 +0900)]
Fix coverity issues

Change-Id: I3db738f369e0a7a36f09e73ca1f9740a79f1b8ef
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoMerge "fix issue that voice control client can not get service state update" into... accepted/tizen/unified/20220826.161539 submit/tizen/20220826.042422
Seongmin Park [Fri, 26 Aug 2022 04:23:46 +0000 (04:23 +0000)]
Merge "fix  issue that voice control client can not get service state update" into tizen

2 years agoMerge "send error to client when server disconnected" into tizen
Seongmin Park [Fri, 26 Aug 2022 04:23:38 +0000 (04:23 +0000)]
Merge "send error to client when server disconnected" into tizen

2 years agoChange interval and order when client connect to daemon 61/280261/1
ulgal-park [Thu, 11 Aug 2022 11:58:02 +0000 (20:58 +0900)]
Change interval and order when client connect to daemon

Change-Id: Ie6dc0b87e757171b372918d85d99637bd921f0f5

2 years agofix issue that voice control client can not get service state update 59/280259/1
ulgal-park [Thu, 25 Aug 2022 09:50:02 +0000 (18:50 +0900)]
fix  issue that voice control client can not get service state update

Change-Id: Ic2004192c199f807582b2d1a9512b396f61a0bce

2 years agosend error to client when server disconnected 58/280258/1
ulgal-park [Thu, 25 Aug 2022 07:35:35 +0000 (16:35 +0900)]
send error to client when server disconnected

Change-Id: I8318e562a6c16c3cb8b3375de079883fcddcbb00

2 years agoMerge "fix vc_mgr_tidl header guards typo" into tizen
Seongmin Park [Mon, 8 Aug 2022 05:40:47 +0000 (05:40 +0000)]
Merge "fix vc_mgr_tidl header guards typo" into tizen

2 years agoRefactor vc_mgr_ducking module implementation 12/279312/1
Suyeon Hwang [Fri, 5 Aug 2022 06:07:23 +0000 (15:07 +0900)]
Refactor vc_mgr_ducking module implementation

This patch includes these features:
- Use predefined macro instead of magic number
- Use error enum value instead of magic number
- Enhance log content for debugging and changed function name.
- Use cpp for implementing vc_mgr_ducking module for future
enahancement.
- Create unit functions in vc_mgr_ducking module for higher
maintainability.
- Add sound stream type for ducking TTS sound volume.

Change-Id: I0d7d7d4bbe7d8aaa89546f127eba8a853b9e45d2
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix typo 11/279311/1
황수연/Tizen Platform Lab(SR)/삼성전자 [Fri, 5 Aug 2022 04:38:15 +0000 (13:38 +0900)]
Fix typo

Change-Id: Ic5d0574c1ce90984bb36b1abe686b51f0e9566db
Co-authored-by: 코드리뷰봇/Quality Tool Lab(SR)/삼성전자 <reviewbot@samsung.com>
2 years agoAdd vc_mgr_ducking files 10/279310/1
Suyeon Hwang [Fri, 5 Aug 2022 03:45:42 +0000 (12:45 +0900)]
Add vc_mgr_ducking files

This patch is cherry-picked from next commit:
https://review.tizen.org/gerrit/c/platform/core/uifw/voice-control/+/230142

Change-Id: I13d3c62eb06bdc0368b6c0b1bb3a6627dd4c70ef
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agofix vc_mgr_tidl header guards typo 88/279288/1
ulgal-park [Fri, 5 Aug 2022 06:08:52 +0000 (15:08 +0900)]
fix vc_mgr_tidl header guards typo

Change-Id: I983f7144dff58f2d62a78a578c2db0204c5c8d17

2 years agoReplace the name METHOD_ERROR_TO_APP with METHOD_ERROR 46/279246/1
sooyeon [Thu, 4 Aug 2022 07:28:51 +0000 (16:28 +0900)]
Replace the name METHOD_ERROR_TO_APP with METHOD_ERROR

Change-Id: I6ca381930becc1a6a01be55aa45b0dcac173637d
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoChange variable names and function names 45/279245/1
sooyeon [Thu, 4 Aug 2022 04:42:54 +0000 (13:42 +0900)]
Change variable names and function names

Change-Id: I3eea6c8094a1752911243ce8e9202ecf3b256ec4
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRemove unnecessary codes (get_handle, xid) 44/279244/1
sooyeon [Thu, 4 Aug 2022 02:25:29 +0000 (11:25 +0900)]
Remove unnecessary codes (get_handle, xid)

Change-Id: Ided2c548d480e7933aa0bb6ecf4312b8c84f6d8d
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRemove unused codes 43/279243/1
sooyeon [Thu, 4 Aug 2022 01:31:44 +0000 (10:31 +0900)]
Remove unused codes

Change-Id: Ie4c287f6745631d386d8aa5edc387c4662c1a95d
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRemove vc handle in vc and vc_client 42/279242/1
sooyeon [Wed, 3 Aug 2022 11:22:03 +0000 (20:22 +0900)]
Remove vc handle in vc and vc_client

Change-Id: I6dc961c12e2949539df54251b8a0b4a752620c3a
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRemove unused functions 41/279241/1
sooyeon [Wed, 3 Aug 2022 08:35:04 +0000 (17:35 +0900)]
Remove unused functions

Change-Id: I448171a8c8076a09886c8a5b26bb85d098e34360
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRemove a logic to check TIDL privileges 06/279106/2 accepted/tizen/unified/20220802.144742 submit/tizen/20220802.063524
sooyeon [Tue, 2 Aug 2022 05:55:20 +0000 (14:55 +0900)]
Remove a logic to check TIDL privileges

Change-Id: I82f566421225fd7d6e903fe45a7c30592e9fbf6c
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoFix tidl error handling codes 66/279066/1 submit/tizen/20220802.012937
sooyeon [Mon, 1 Aug 2022 11:20:41 +0000 (20:20 +0900)]
Fix tidl error handling codes

Change-Id: I2d4662c41d486335b597d5f3930164150873f5d9
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoChange type casting using intptr_t 48/279048/1
sooyeon [Mon, 1 Aug 2022 06:11:23 +0000 (15:11 +0900)]
Change type casting using intptr_t

Change-Id: I596abafd51aa4af3e537b0df561b40c50cfcbc52
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUpdate version (1.70.5) 38/279038/1 submit/tizen/20220801.042437
sooyeon [Mon, 1 Aug 2022 01:46:42 +0000 (10:46 +0900)]
Update version (1.70.5)

Change-Id: Idc0ab244ddd26b049995da126cdee2c6e73deb62
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoFix svace and coverity issues 01/279001/3
sooyeon [Fri, 29 Jul 2022 06:00:12 +0000 (15:00 +0900)]
Fix svace and coverity issues

Change-Id: Ic72a37bbbd082b9cbb35f8cafdf9384a6cbd60d6
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoReplace codes to check feature and privilege 77/278977/1
sooyeon [Wed, 6 Jul 2022 07:11:34 +0000 (16:11 +0900)]
Replace codes to check feature and privilege

Change-Id: I2691dbf7a1c3f4a5bcdb8e9eebb29b28cad050ce
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRemove unnecessary logs 76/278976/1
sooyeon [Wed, 6 Jul 2022 06:10:13 +0000 (15:10 +0900)]
Remove unnecessary logs

Change-Id: I7f4316fba8a62061cbe819465f2520e10e187fcb
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoReplace duplicated codes and Remove unnecessary logs 75/278975/1
sooyeon [Wed, 6 Jul 2022 04:56:28 +0000 (13:56 +0900)]
Replace duplicated codes and Remove unnecessary logs

Change-Id: I595a15ba1e9b430e6e6f31ab84a491d60f7fc175
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoFix TC issues (ignore ipc error in vce TCs and remove unnecessary codes) 74/278974/1
sooyeon [Mon, 4 Jul 2022 07:55:59 +0000 (16:55 +0900)]
Fix TC issues (ignore ipc error in vce TCs and remove unnecessary codes)

Change-Id: I4944efd2ce825fc69ab6dcc86d90bc2b854f8d35
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd privilege checker for TIDL privileges 73/278973/1
sooyeon [Thu, 30 Jun 2022 09:33:26 +0000 (18:33 +0900)]
Add privilege checker for TIDL privileges

Change-Id: Iaf23e79bf61094688579297613f7e1ec3753d618
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRename function name and Rearrange codes 72/278972/1
sooyeon [Thu, 30 Jun 2022 08:44:12 +0000 (17:44 +0900)]
Rename function name and Rearrange codes

Change-Id: Iaa053e9004dd3aaf3e6caa99bfcab5288d73211b
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoFix a minor issue (engine_appid was not saved in info handle) 71/278971/1
sooyeon [Thu, 30 Jun 2022 04:37:55 +0000 (13:37 +0900)]
Fix a minor issue (engine_appid was not saved in info handle)

Change-Id: I380beddfa0953fd21a9524158d8aa5b8f098878c
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRemove unnecessary command and Fix return value in vcd_client_widget_get_foreground_pid() 70/278970/1
sooyeon [Thu, 30 Jun 2022 02:48:50 +0000 (11:48 +0900)]
Remove unnecessary command and Fix return value in vcd_client_widget_get_foreground_pid()

Change-Id: I686738186f46907a74adccf412bc2295a1b79655
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUnify bundle data in client, mgr, and widget 69/278969/1
sooyeon [Wed, 29 Jun 2022 08:39:17 +0000 (17:39 +0900)]
Unify bundle data in client, mgr, and widget

Change-Id: If822325a6edfcc6d6ea6fdf65229455fb8f081f6
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoChange return values and Fix minor issues 68/278968/1
sooyeon [Wed, 29 Jun 2022 06:44:11 +0000 (15:44 +0900)]
Change return values and Fix minor issues

Change-Id: I1d10d83f58b3ec36ed3308b8906a5151b7571875
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRemove files and codes related to DBus 67/278967/1
sooyeon [Wed, 29 Jun 2022 01:51:11 +0000 (10:51 +0900)]
Remove files and codes related to DBus

Change-Id: I48d11a36f6551c9169d576218b9b56660de85489
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRename extern functions and Rearrange codes 66/278966/1
sooyeon [Tue, 28 Jun 2022 02:22:34 +0000 (11:22 +0900)]
Rename extern functions and Rearrange codes

Change-Id: I3da3d9e9a46b6126af91b9ddcc16b4f00ef4123f
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoFix minor issues (indentation, filemod, add a checker of return values, etc) 65/278965/1
sooyeon [Tue, 28 Jun 2022 02:02:03 +0000 (11:02 +0900)]
Fix minor issues (indentation, filemod, add a checker of return values, etc)

Change-Id: I0f34be3b3fdfd659e7f47bca5d82f0c5333c1840
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoReplace IPC of vc_setting 64/278964/1
sooyeon [Mon, 27 Jun 2022 08:12:33 +0000 (17:12 +0900)]
Replace IPC of vc_setting

Change-Id: I58f30103efd851762c01e6f2730087364c1b8cf8
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd a missing file in CMakeLists and a code to handle TTS feedback data 63/278963/1
sooyeon [Sun, 26 Jun 2022 06:15:35 +0000 (15:15 +0900)]
Add a missing file in CMakeLists and a code to handle TTS feedback data

Change-Id: I9e8ef00e6e88a363cfc47578b9e19e7335f3f4c1
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoImplement functions related to auth, set_foreground, send_utterance_status 62/278962/1
sooyeon [Thu, 23 Jun 2022 01:47:28 +0000 (10:47 +0900)]
Implement functions related to auth, set_foreground, send_utterance_status

Change-Id: Ieddc83ffd9e76e75eedf28416dd21e952a6419ba
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>