| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There was found a few places inside of ApplicationManager
where `applications_` and `apps_to_register_` members were
used without locks however these members are commonly used
and must be synchronized in all places.
To avoid potential data races, direct usage of these elements
were replaced with accessor for read-only operations.
Also was added a missing lock.
|
| |\ \ |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
LuxoftSDL/fix/fix_enums_conversion_in_hmi_capabilities
Fix/fix enums conversion in hmi capabilities
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There were found a couple of hardcoded HMI capabity enum to
string values and some of them were outdated. This legacy
code can be easily replaced with the templated function
supplied from generated API.
By that reason, all hardcoded pairs and maps were removed
and replaced with a common function.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* add webengine_websocket to TransportTypeProfileStringFromDeviceHandle
* differentiate transport name from cloud
* add WEBSOCKET and WEBENGINE devices to ini file
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Replace check for already existed subscriptions
* Delete unused enum
* Update unit tests and add new unit test
|
| | |/ /
| |/| | |
|
| | | | |
|
| |\ \ \
| | |/ /
| |/| | |
Add fixes for new Coverity issues
|
| | | |
| | | |
| | | |
| | | | |
Fixes CID 214309, 214305, 214304
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Add is_ready flag to apps and handle sending OnHMIStatus after RAI response
* Add mock functions
* Address review comments
* Only send delayed onHMIStatus if RAI was a success
* Prevent secondary hmi level none to cloud apps
* Move enabled check to last when init new cloud app
Co-authored-by: JackLivio <jack@livio.io>
|
| | |
| | |
| | |
| | | |
Resolves issue 3504
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | | |
fix/move_duplicate_conversion_functions_to_message_helper
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Add changes related to AppExtension and RCAppExtension
* Change OnTimeOut() method in affected requests
* Add changes related to ApplicationHelper class
* Add changes related to EventDispatcher
* Fill subscription data for all pending requests
Changed SDL logic to update subscription results for
each pending subscription request before notifying
resumption processor about current subscription is
processed.
This should be done beforehand because after raising
event to processor it can finish resumption process
and if it has failed then it can trigger sending of
the next subscription request. So at that point, each
subscription request should contain updated subscriptions
status, otherwise some redundant requests might be sent.
* Add RC data to resumption data processor
* Add RCPendingResumptionHandler class
* Process timeout for get interior vehicle data
* Revert Interior vehicle data
* Add resumption logic to RC app extension
* Resumption logic in RC plugin
* Helpers RC functions
* Update hash for RC data
* Filter RC subscriptions in vehicle data plugin
* UTs for the RCPendingResumptionHandler
Co-authored-by: Yana Chernysheva <ychernysheva@luxoft.com>
Co-authored-by: Andrii Kalinich (GitHub) <AKalinich@luxoft.com>
Co-authored-by: Aleksandr Kutsan <AKutsan@luxoft.com>
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
Co-authored-by: sniukalov <sniukaov@luxoft.com>
Co-authored-by: Dmitriy Boltovskiy <dboltovskyi@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Add reason param to StartService and EndService NAK payloads
* Update the default protocol version
* Fix unit tests
* Implement minor version check for reason param
* Fix unit tests
* Apply suggestions from code review
Co-authored-by: Collin <iCollin@users.noreply.github.com>
* Make semantic versions const and fix handshake NAK reason messages
* Make reason a required param
* Add error check for protocolversionused call
* Use full version for reason param version check
* Get protocol NAK reason from OnSessionEndedCallback
* Fix failing unit tests
* Remove unnecessary condition from protected/unprotected reason check
* Add unit tests for NACK reason param
* Add unit test for EndServiceNAK with reason param
* Fix calltimes in StartSession_NACKReason_SessionObserverReject
* Get reason string for service start failed
* Add more details to the invalid cert nak reason
Co-authored-by: Collin <iCollin@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Add changes to RAI request
* Add new class ResumptionDataProcessor
* Add new class SDLAppExtension
* Add new class ExtensionPendingResumptionHandler
* Add new class SDLPendingResumptionHandler
* New class VehicleInfoPendingResumptionHandler
* Add changes related to ApplicationManager class
* Add changes related to MessageHelper class
* Add changes related to StateController class
* Add changes related to ResumeController class
* Add changes related to PolicyHandler class
* Add changes related to SDLRPCPlugin
* Add changes related to VehicleInfoPlugin
* Add changes related to AppServiceAppExtension and SystemCapabilitiesAppExtension
* Add changes related to ResetGlobalProperties request
* Add changes related to VehicleInfoAppExtension
* Add changes related to AppExtension and RCAppExtension
* Change OnTimeOut() method in affected requests
* Add changes related to method IsAppSubscribedForWayPoints
* Fix problem with multiple definitions during building of unit tests
* Add changes related to ApplicationHelper class
* Add changes related to EventDispatcher
* Add changes related to OnSystemCapabilitiesUpdated notification
* Fix/fix rai default timeout (#108)
Fix RAI default timeout
As RAI request does not depend on any HMI response
there is no need to track any timeout for it. RAI
request will be removed from/ RequestController
queue upon RAI response which will be sent anyway
Update UT
* Do not unsubscribe from pending VD
Update SDL logic to avoid sending of unsubscribeVD
to HMI during vehicle data resumption for case
when another application is also have pending
subscription for the same vehicle data.
* Fill subscription data for all pending requests
Changed SDL logic to update subscription results for
each pending subscription request before notifying
resumption processor about current subscription is
processed.
This should be done beforehand because after raising
event to processor it can finish resumption process
and if it has failed then it can trigger sending of
the next subscription request. So at that point, each
subscription request should contain updated subscriptions
status, otherwise some redundant requests might be sent.
* fixup! Add new class ResumptionDataProcessor
* fixup! Add new class SDLPendingResumptionHandler
* fixup! Add new class ExtensionPendingResumptionHandler
* fixup! New class VehicleInfoPendingResumptionHandler
* fixup! Add changes to RAI request
* fixup! Add new class ResumptionDataProcessor
* fixup! Add new class SDLAppExtension
* fixup! Add new class SDLPendingResumptionHandler
* fixup! New class VehicleInfoPendingResumptionHandler
* fixup! Add changes related to ApplicationManager class
* fixup! Add changes related to MessageHelper class
* fixup! Add changes related to ResumeController class
* fixup! Add changes related to SDLRPCPlugin
* fixup! Add changes related to AppExtension and RCAppExtension
* fixup! Add changes related to AppServiceAppExtension and SystemCapabilitiesAppExtension
* fixup! Add changes related to OnSystemCapabilitiesUpdated notification
* fixup! Add changes related to ResumeController class
* fixup! Change OnTimeOut() method in affected requests
* fixup! fixup! Add new class SDLAppExtension
* Filter RC subscriptions in vehicle data plugin
* Timeout process for reset global properties
* Use ResumptionDataProcessor interface instead of subscriber function
* Rename ExtensionPendingResumptionHandler
* Rename SDLAppExtension
* Revert "Filter RC subscriptions in vehicle data plugin"
This reverts commit f35e573e7587b06472e9f396d249339e8fc05cc8.
* Rename resumption_data_processor.cc
* Rename SDLPendingResumptionHandler
* fixup! fixup! Add changes related to OnSystemCapabilitiesUpdated notification
* fixup! fixup! Add changes related to AppServiceAppExtension and SystemCapabilitiesAppExtension
* fixup! Use ResumptionDataProcessor interface instead of subscriber function
Co-authored-by: Andrii Kalinich (GitHub) <AKalinich@luxoft.com>
Co-authored-by: Aleksandr Kutsan <AKutsan@luxoft.com>
|
| | |
| | |
| | |
| | |
| | | |
* Overhaul state manager to handle regular state changes during hmi events
* Add parent check for all calls
|
| | |
| | |
| | | |
Fix adopted from SYNC4 codebase
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
SDLCORE-459
Helgrind considers that this issue is an error because we release
mutex before call Broadcast.
Co-authored-by: Elvis Kuliiev <ekuliiev@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fix mutex deadlock on VR.ChangeLanguage received
SYNC-10345
There was a problem that on receiving VR.ChangeLanguage SDL is holding application lock via accessor and tries to send some notifications from the same thread.
For sending notifications SDL should check policy permissions for that notification and hance, to acquire policy lock.
At the same time, PTU could happen in the separate thread and during PTU policy lock could be acquired. Also, during PTU SDL will try to acquire applications lock from this thread, however it is acquired by another thread which executing VR.ChangeLanguage request.
As a result we receive thread deadlock. To avoid this deadlock, accessor in VR.ChangeLanguage was scoped in the same manner as for UI and TTS parts.
* Copy apps without redundant scoping data accessor
Co-authored-by: Elvis Kuliiev <ekuliiev@luxoft.com>
Co-authored-by: Aleksandr Kutsan <AKutsan@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* SDLCORE-665: Fix dangerous work with app commands
SDLCORE-665
There was related to a thread safety violation
while working with application internal commands
array. This array is a thread safe itself as it is
protected with mutexes, however FindCommand()
function is returing a raw pointer to an internal
array element so the external component is able to
get access to this element at any time even without
locking the mutex.
Core crash which was found in DeleteCommand request
instance is happening by exactly the same reason -
DeleteCommand is using a raw pointer to find the command,
however this command might be destroyed from another
thread at this point of time. As a result, working
thread can access to a destroyed object by pointer.
As a quick solution, each FindCommand() was followed
by a command accessor which prevents unexpected command
destruction. Working thread will use the temporary
copy of command, but not command itself.
However, the better solution would be to change a
design and to avoid using of the raw pointers.
* Update an Application class methods to return by value instead of raw pointer
Updates the next methods:
FindCommand
FindSubMenu
FindChoiceSet
Updates related logic and Unit tests
* fixup! Update an Application class methods to return by value instead of raw pointer
* fixup! Update an Application class methods to return by value instead of raw pointer
* Review fix: log that submenu already exist instead of not found
* fixup! Update an Application class methods to return by value instead of raw pointer
Co-authored-by: ZhdanovP <pzhdanov@luxoft.com>
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* SYNC-62924: App not Un-Registering when trying to Force Close Nav App
SYNC-62924
1. video_streaming_Lock acquired was not released when timeout and stop called from another thread happens at the same time
2. resumption timeout callback was waiting on Policy_Manager_lock_ which was not released, when acquired if resuming application is activated.
3. Crash observered when one thread accessing multiframe data and other thread deleting the mutliframe data due to disconnection
Co-authored-by: asanka17 <asanka17@ford.com>
Co-authored-by: YarikMamykin <ymamykin@luxoft.com>
Co-authored-by: LitvinenkoIra <ilytvynenko@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Implement logger abstraction. Integrate it to SDL.
Create one logger instance for shared libraries
* Rename all logger macros.
* Update src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/resource_allocation_manager_impl.cc
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
* Fix review comments(errors in log messages)
* Fix review coments
* Fix code style
* Add logger variable creation to new commads
* Fix review comment
* Fixe review comment(class imblemtation moved to .cc file)
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* SDLCORE-666: Fix SIGKILL due to not clearing the requestinfo set.
SDLCORE-666
Added RequestInfoSet Destructor for properly clearing the time_sorted_pending_requests_ set
to avoid double release of the same while destroying the RequestController Object.
* Update fix for SIGKILL due to not clearing the requestinfo set
- Change the RemoveRequest method on the Erase method in the RequestInfoSet
destructor;
- Remove redundant TestRequestsInfo collection in the Unit test
Co-authored-by: Sidhartha <ssing314@ford.com>
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
Co-authored-by: Dmitriy Boltovskiy <dboltovskyi@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Add check for result code and minor changes to related responses
* Update corresponding unit tests
* Add other successful result codes
Co-authored-by: Dmitriy Boltovskiy <dboltovskyi@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Introduced enums instead multiple bool flags
Update threadFunc logic
Update Start logic
Update Stop logic
Update Join logic
* Update of the affected code
* UTs update
Co-authored-by: sniukalov <sniukaov@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Temporary commit. Changes rpc_spec submodule reference.
NOTE: should be removed before merge
* Update Mobile API for the new App HMI type WEB_VIEW
* Update HMI API for the new App HMI type WEB_VIEW
* Add app registration support of the hmi type WEB_VIEW
* Update Unit tests related to app registration
Add the new one case to check app registration with AppHMItype WEB_VIEW
Update existing Application Manager UTs with the new methods for WEB_VIEW
Update Application Mock
* Add Unit tests for RAI request test
* Implement HMI states management for WEP apps
* Add new application exit reason RESOURCE_CONSTRAINT
Add RESOURCE_CONSTRAINT to HMI API and its processing to
OnExitApplicationNotification, update unit tests
* Add web socket connection closing on RESOURCE_CONSTRAINT
* Update ProtocolHandlerImpl::OnTMMessageSendFailed
* Add Unit test for OnAppInterfaceUnregistedNotification
* Remove redundant code
* Add WEP media & nonmedia to general test cases
* Move function to iface class to allow its testing
* Add WEP media/nonmedia apps registration for HMI state checks
Added unit test cases for WEP media and non-media applications,
which allow to check HMI Level, system context, audio
and video streaming states calculation after the following actions:
- Initial HMI state after registration
- HMI state after app activaion
- HMI State after app deactivation
- HMI state after app exit
Note: HMI state includes HMI level, audio, video streaming state, system
context
* Make code more clear & easy for debug
* Add test case for WEP app in resuming mode
* Add missed logging
* Close connection after RESOURCE_CONSTRAINT
RESOURCE_CONSTRAINT unregister reason will close connection for all
applications, but not only Web engine projection
* Refactoring no functional changes
Use setters instead of direct access to app_hmi_type bool var
* Use PolicyHandler::CheckHMIType to avoid code duplication
* Update src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc
Co-authored-by: JackLivio <jack@livio.io>
* Use log to check if web engine is allowed
* fixup! Use log to check if web engine is allowed
* Revert "fixup! Use log to check if web engine is allowed"
This reverts commit baad4aae5ffdeba5502a533b2eeb18de84d92b05.
* Revert "Use log to check if web engine is allowed"
This reverts commit 94c6a7d9efc6912777834bb5aca22c7b46d43497.
* Revert "Update src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc"
This reverts commit 3296fcc399588f01624c1a27f64ab8bc9176e197.
* Revert "Use PolicyHandler::CheckHMIType to avoid code duplication"
This reverts commit 2c695099a63b838915cb9b5c91c46ad7fc013b47.
* Use log string to check if WEB engine is not allowed
* Update submodules
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
Co-authored-by: sniukalov <sniukaov@luxoft.com>
Co-authored-by: Andriy Byzhynar (GitHub) <AByzhynar@luxoft.com>
Co-authored-by: Mykhailo Vorobiov (GitHub) <61186891+mvorobio@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: JackLivio <jack@livio.io>
Co-authored-by: YarikMamykin <ymamykin@gmail.com>
Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com>
|
| | | |
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
smartdevicelink/fix/driver_distraction_capability_caching
Cache Driver Distraction Capability
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
# Conflicts:
# src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/hmi_command_factory.cc
# src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/mobile_command_factory.cc
# src/components/interfaces/HMI_API.xml
# tools/rpc_spec
|
| | |/ / |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
# Conflicts:
# tools/rpc_spec
|
| | | | |
| | | | |
| | | | | |
Co-authored-by: Collin <iCollin@users.noreply.github.com>
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | |_|_|/ /
| |/| | | |
| | | | | | |
fix/move_duplicate_conversion_functions_to_message_helper
|