| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add unit tests to cover a test case
* Removing maxlength attribute for OnSystemRequest,StartStream
and StartAudioStream
Sometimes, it is necessary to provide a URL which is very large
and thus cannot fit in the current 1,000 or 500 character limit.
* Update path length for video and audio
streaming files
* fixup! Update path length for video and audio streaming files
* fixup! Add unit tests to cover a test case
* fixup! Add unit tests to cover a test case
* fixup! Removing maxlength attribute for OnSystemRequest,StartStream and StartAudioStream
Co-authored-by: sniukalov <sniukaov@luxoft.com>
Co-authored-by: LitvinenkoIra <ilytvynenko@luxoft.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(#3394)
* Add changes to HMI_API
* Add changes related to MessageHelper
* Add the new parameter into the sdl_preloaded_pt and policy_table_interface_ext
files
The new parameter "handsOffSteering" was added into the
"DrivingCharacteristics-3" section of the sdl_preloaded_pt file.
Also the new parameter was added into the policy_table_interface_ext file
* Update the sdl_preloaded_pt.json file with the new schema item
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
Co-authored-by: YarikMamykin <ymamykin@gmail.com>
Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add window status related data types to HMI API
* Update rpc_spec url to fork
* Update MOBILE API in rpc_spec with WindowStatus data
* Update SDL core with WindowState related data
* Add/Update unit tests
* Update preloaded json file
* Add window status section to sdl_preloaded_pt.json
* fixup! Update MOBILE API in rpc_spec with WindowStatus data
* fixup! Add window status section to sdl_preloaded_pt.json
* fixup! Add/Update unit tests
* Update src/appMain/sdl_preloaded_pt.json
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
* Update src/appMain/sdl_preloaded_pt.json
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
* Update submodules
Co-authored-by: YarikMamykin <ymamykin@gmail.com>
Co-authored-by: LitvinenkoIra <ilytvynenko@luxoft.com>
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Implement additional sub menus
* Fix merge conflicts
* Revert adding mobile api merge conflict
* Update src/components/interfaces/HMI_API.xml
Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com>
* Update src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc
Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com>
* Update src/components/application_manager/src/application_data_impl.cc
Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com>
* Update src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc
Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com>
* Address comments
* Fix unit tests
* Fix conflitcs
* Update src/components/interfaces/HMI_API.xml
Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com>
* Update commit hash
Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* New vehicle data: GearStatus
* Add the new parameter into the rpc_spec
* Add the new parameter into the sdl_preloaded_pt and policy_table_interface_ext
files
* Update the sdl_preloaded_pr.json file with the new schema item
These changes are not as necessary, but to keep project in consistent state,
they were added.
* TMP: Update rpc_spec
This commit should be removed before merge
* fixup! Add the new parameter into the rpc_spec
* Update prndl parameter description
* fixup! Update the sdl_preloaded_pr.json file with the new schema item
* fixup! Update the sdl_preloaded_pr.json file with the new schema item
* Update src/appMain/sdl_preloaded_pt.json
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
* Update submodules
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
Co-authored-by: LitvinenkoIra <ilytvynenko@luxoft.com>
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Change rpc_spec url to fork
* Update Mobile API for the StabilityControlsStatus
* Update HMI API for the StabilityControlsStatus
Add StabilityControlsStatus for GetVehicleData,
SubscribeVehicleData, UnsubscribeVehicleData &
OnVehicleData RPCs
* Add new vehicle data StabilityControlsStatus
* Update the sdl_preloaded_pr.json file with the new schema item
These changes are not as necessary, but to keep project in consistent state,
they were added.
* Add StabilityControlsStatus to json test files
* fixup! Change rpc_spec url to fork
* Temporary commit to rpc_spec
Should be removed before merge
* Update src/appMain/sdl_preloaded_pt.json
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
* Update rpc_spec reference
Co-authored-by: sniukalov <sniukaov@luxoft.com>
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
Co-authored-by: Yevhenii <ydementieiev@luxoft.com>
Co-authored-by: Ira Lytvynenko (GitHub) <ILytvynenko@luxoft.com>
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Updated HMI api for refactoring fuel information related vehicle date
* Updated Mobile API for refactoring fuel information related vehicle data
* Temporary commit. Should be remove before merge.
Change rpc_spec repository to repository with updates related to the
proposal Refactor Fuel Information Related Vehicle Data.
* Temporary commit to fix Boost downloading. Should be removed before merge.
Add into src/3rd_party/CMakeLists the boost mirror links.
* Update the sdl_preloaded_pr.json file
These changes are not as necessary, but to keep project in consistent state,
they were added.
* fixup! Temporary commit. Should be remove before merge.
* fixup! Update the sdl_preloaded_pr.json file
* fixup! Updated HMI api for refactoring fuel information related vehicle date
* fixup! Updated Mobile API for refactoring fuel information related vehicle data
* Update rpc_spec reference
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
Co-authored-by: LitvinenkoIra <ilytvynenko@luxoft.com>
|
| |\
| | |
| | |
| | |
| | | |
smartdevicelink/fix/fix_button_subscriptions_mutex_deadlock
Fix mutex deadlock around app button subscriptions
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Sometimes there was observed mutex deadlock while
more then one thread are accessing buttons subscriptions
container protected with data accessor class. The
issue is happening when one thread is trying to
unregister application, acquires applications lock and
trying to save application resumption data which at
some point requires app subscribed buttons lock to
be acquired. At the same moment another thread is
trying to resume application data and acquires
subscribed buttons accessor after which is trying
to send notifications to HMI, which at some point
requires applications lock to be acquired. When these
two threads have a time intersection, mutex deadlock
is happening.
To resolve this deadlock, button subscription accessor
has been replaced with temporary accessor + copying
protected content to a local variable which allows to
release that lock beforehand.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* allow button events to be forwarded to subscribed mobile apps in hmi level LIMITED for all buttons besides OK
* fixup! allow button events to be forwarded to subscribed mobile apps in hmi level LIMITED for all buttons besides OK
use existing var and clean up condition
* fix description of OnButtonPress and OnButtonEvent param appID
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Replace raw pointers with shared pointers
* Save UI.GetCapabilities, UI.GetLanguage, UI.GetSupportedLanguages
responses into the file specified by ini file
If ini file contains an empty path to the cache file,
this feature will be disabled and SDL will work as before.
SDL will save each response only first time, after that
file will not be overwritten.
On master reset SDL will remove the cache file.
SDL will read default hmi capability values from the cache
file on each system boot up
* Fix doxygen
* Define HMI interfaces aliases
* Implement caching for VR, TTS, Buttons, VehicheInfo and RC capabilities
* Fix default capabilities structure according to the HMI API
* Send requests to get capabilities from HMI in case any capability is missing in cache
* Refactor RC capabilities storing and retrieving. Fix related UTs.
* Created implementation and unit tests for HMI capabilities persistence after SW update
* Created implementation for save and received MetaInfo
* Increase unit tests coverage on persistence HMI capabilities
* Do not rewrite MetaInfo in case invalid BC.GetSystemInfo response from HMI
* Read pcm_stream_capabilities from HMI and save to the cache
* Refactor hmi capabilities test
* Fix wrong convert PrerecordedSpeech and added unit test for check
* Suspend response to RAI requests until HMI has responded to all the HMI capabilities
* Request appropriate capabilities if they are not present in the cache and the default capabilities as well
* fixup! Send requests to get capabilities from HMI in case any capability is missing in cache
* Remove hm_capabilities.json test file
It should be removed because during UT building the real hmi_capabilities.json
file is copying to the test directory
* Re-factor HMICapabilitiesImpl and add the new one method
Make changes in the next places:
- GetRequestsRequiredForCapabilities method rename to
IsRequestsRequiredForCapabilities and return value change to bool. This commit
provides the next implementation: the method checks if specified request should
be sent to the HMI;
- in the save_hmi_capability_field_to_json method remove redundant section
in the json node to save;
- JsonCapabilitiesGetter: GetInterfaceJsonMember method rename to
IsInterfaceJsonMemberExists. Return value change to bool;
- Add the new one function GetInterfaceGetter: returns the JsonCapabilitiesGetter
according to specified interface name;
- Parsing the capabilities cache file wrapped to the try/catch construction;
- Add AddRequiredRequestsForCapabilities method;
- Remove MatchesCCPUVersion method as redundant;
- Rework PrepareXXXJsonValueForSaving methods;
- Add new Unit tests for HMICapabilitiesImpl;
- Update existing Unit tests according to the appropriate changes;
* Update CCPU Version max value parameter (regular and external policies)
* Minor updates:
- Remove input parameter for the GetSystemInfo method, move the
OnSoftwareVersionReceived method out of GetSystemInfo method;
- UIGetCapabilitiesResponse: retrieve reference for a specific section from a
message instead of using the whole path to needed section;
- OnTTSLanguageChangeNotification: add saving cached capabilities for VR;
- OnVRLanguageChangeNotification: update log info;
- VRGetCapabilitiesResponse: retrieve reference for a specific section from a
message instead of using the whole path to needed section;
- VRGetSupportedLanguagesResponse: update log info;
- CacheManager (regular and external policies): add doxygen description for the
SetPreloadedPtFlag method; move back meta info out of "for" loop;
* Minor changes for the Unit tests
* Fix SDL Core crash during getting RC capability
There the case when RC capability didn't initialized yet and rc_capability()
method is calling and returns invalid pointer to the RC capability.
This commit provides the next changes:
- Add check for returned pointer to rc_capability;
- Add the new one capabilitiesStatus parameter "kInvalidStatus" for return
value for the GetModuleDataCapabilities method;
- Update capabilitiesStatus parameter names according to the coding style;
* fixup! Re-factor HMICapabilitiesImpl and add the new one method
* fixup! Re-factor HMICapabilitiesImpl and add the new one method
* fixup! Re-factor HMICapabilitiesImpl and add the new one method
* Remove "system_display_capabilities" smart key
* Add to the RequestToHMI the RequestCapabilities method
The "RequestCapabilities" methos is common for the all *IsReady requests.
Because of that it was moved to the base class with common logic.
* Re-factor all *IsReady request.
The logic for getting capabilities from HMI is common for the all *IsReady
request. This logic is implemented in the base RequestToHMI class.
So, this logic should be removed from each request and the method of the
base class should be used.
* fixup! Re-factor all *IsReady request.
Co-authored-by: LitvinenkoIra <ilytvynenko@luxoft.com>
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
Co-authored-by: Yevhenii Dementieiev (GitHub) <ydementieiev@luxoft.com>
Co-authored-by: sniukalov <sniukaov@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
SDLCORE-459
Fix race condition ragarding Helgrind issue.
Error 9 : Possible race condition in case of using assignment operator
with atomic variable 'shutdown_', fix via using 'atomic_exchange'.
Error 10: Incorrect sequence of closing boost asio objects.
Add member function into CMessageBrokerController for correct close sequence.
Co-authored-by: Maksym Shvaiko <MShvaiko@luxoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Adding pcmStreamCapabilities param to HMI API in UI.GetCapabilities
* Adding to read pcmStreamCapabilities from HMI
* Add unit test to cover a test case
Co-authored-by: sniukalov <sniukaov@luxoft.com>
|
| | |
| | |
| | |
| | |
| | | |
ChangeRegistration with not supported language (#3427)
Co-authored-by: zhangwenqin <zhangwenqin@iauto.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Move definitions of SamplingRate / AudioCaptureQuality / AudioType to public header
* Transfer AudioPassThru configuration to adapter
* fix: apply AudioPassThru config to GStreamer pipeline
* Update media manager test to remove deprecated method
* Reflect code review comments
- Update Doxygen comment format
- Add description of create_caps_string() method
* Fix style issue in from_mic_recorder_adapter.h
* Update MediaManager to use Mobile API audio related enums
Reflecting review comments.
|
| | | |
|
| | | |
|
|/ / |
|
|/
|
|
|
| |
VehicleInfoPlugin (#3355)
* Add check for already existed subscriptions
|
| |
|
|
|
|
|
|
|
|
|
|
| |
SDLCORE-373
Unprotected critical section accessed by two different threads,
timing_map was being modified by clearing the map identifiers causing a
crash in boost::date_time
Review: Change RWLock to Lock, Added FrequencyImpl private method
Co-authored-by: Mario Godinez <mgodine6@ford.com>
|
|
|
| |
prevent override of bluetooth destructor so that the default transport adapter destructor impl will be called
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SYNC-10345
There was a vulnerability in the PolicyHandler which causes a mutex deadlock.
For example - MessageLoop thread of RpcService handles incoming messages. In
case when SDL receives AllowSDLFunctionality notification, this thread calls
OnAllowSDLFunctionalityNotification inside PolicyHandler. At some point of time
this function captures accessor from AM which holds applications_list_lock_
there. At this moment thread AM Pool 0 of RequestController processes some RPC
from queue and captures policy_manager_lock_ in PolicyHandler. After that at
some moment thread AM Pool 0 tries to get application shared pointer from AM
and locks itself as this mutex are already locked with thread MessageLoop.
Also, MessageLoop thread at some moment tries to acquire policy_manager_lock_
and locks itself as this mutex are already locked with thread AM Pool 0, which
is waiting for applications_list_lock_ to unlock. As a result we have a
classical thread deadlock after which SDL stuck forewer.
To avoid such situations, there was analyzed all bottlenecks related to
applications_list_lock_ and its accessors. Accessors were scoped in several
places to avoid similar deadlocks in future.
Co-authored-by: Elvis Kuliiev <ekuliiev@luxoft.com>
|
|
|
|
|
|
|
|
|
| |
* Fix issue with External PTU timeout
When attempting to start an encrypted service, the mobile proxy would not receive a response if the PTU timed out. This is because the retry count is based on the number of OnSystemRequests received from the HMI. Since that number would never exceed the number of retries, `IsAllowedRetryCountExceeded` would never return false. This will now return false after the final retry times out.
* Add error code check in ProcessInternalError
If the proxy responds with NOT_SUPPORTED or SSL_INVALID_DATA, Core will mark the handshake as failed.
|
|
|
|
| |
This reverts commit 1e5d115dd5c12b15c5667961c24737f08691b988.
|
| |
|
|
|
|
|
|
|
|
|
| |
SDLCORE-458
Fix deadlock in timer.cc call lock two times for Lock,
second lock was removed, cause using of it hadn't any benefits.
Regarding of Helgrind report.
Co-authored-by: Maksym Shvaiko <MShvaiko@luxoft.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add HMI warnings response for filtered enums
* Only filter enums with valid typing
Invalid types with an enum schema item were being silently filtered, so we need to look for a specific result code from validate() instead of looking for a general failure.
* Fix source for messages from hmis
* Fix unit tests
Co-authored-by: jacobkeeler <jacob.keeler@livioradio.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
* Add enum filtering step to applySchema
This step is triggered when `remove_unknown_parameters` is enabled
* Add unit tests
* Pass warning info to message response after processing
|
| |
|
|\
| |
| | |
Add SDL Core Daemon Script
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Create dedicated PID file directory
Check running processes before starting or stopping Core
Add `kill` command to destroy all running instances of Core
Change main SDL thread to be identifiable by name
|
| | |
|
| |
| |
| |
| |
| | |
* fix build error in http unit tests
* fix style
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add saving way points during notification
- When OnWayPointNotification appeared the wayPoint is saving
- When new app subscribing on wayPointNotification stored way points are sending to app
* Add unit tests
* fix style, update to remove (uint32_t) overload of SubscribeAppForWayPoints
Co-authored-by: collin <collin+i@collinmcqueen.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* fix: memory leak in ProtocolHandlerImpl::NotifySessionStarted()
This is detected by valgrind.
* fix: buffer over-run in ProtocolPayloadTest
This is an issue of unit test implementation and only affects
unit testing.
* fix: invalid memory accesses in ProtocolHandlerImplTest
These affect unit testing only.
Invalid memory accesses occurred because the mock class didn't
configure protocol version field properly.
* fix: valgrind warning in IncomingDataHandlerTest
This is not actually an issue. valgrind reported a warning
since the memory area was not initialized.
Co-authored-by: Collin <iCollin@users.noreply.github.com>
|
| |
| |
| |
| |
| | |
This issue only affects unit testing.
Co-authored-by: Collin <iCollin@users.noreply.github.com>
|
| | |
|
| | |
|