| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Add appropriate commands
Make changes in application manager
Issue : #3197
|
|
|
|
| |
Issue : #3197
|
|
|
|
| |
Issue : #3197
|
| |
|
|
|
|
| |
Issue : #3197
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Send UPDATING state after receiving a successful SDL.PolicyUpdate response
* Restart the timeout in case SDL received BC.OnSystemRequest with type PROPRIETARY or HTTP from HMI in UPDATING state
* Fix UPDATE_NEEDED - UPDATING sequence in case of second app register
* Add unit tests
* fixup! Send UPDATING state after receiving a successful SDL.PolicyUpdate response
* fixup! Restart the timeout in case SDL received BC.OnSystemRequest with type PROPRIETARY or HTTP from HMI in UPDATING state
Co-authored-by: Yaroslav Mamykin (GitHub) <33784535+YarikMamykin@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix processing of VR only PI response
1. Added sending of UI_ClosePopUp request to HMI after
VR.PerformInteraction response.
2. Added sending response with choice_id to mobile in case of successful
VR.PerformInteraction response
* Fix adapt existing unit tests
* Add new unit tests
* fixup! Fix processing of VR only PI response
* fixup! Fix processing of VR only PI response
* fixup! Add new unit tests
* fixup! Fix processing of VR only PI response
* fixup! Add new unit tests
|
| |
|
|
|
|
|
|
|
|
| |
* Delete old version of jsoncpp lib and add new like submodule, change deprecated interface for new.
* Logs output without extra special symbols
* fixup! Delete old version of jsoncpp lib and add new like submodule, change deprecated interface for new.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix timeout for close application
When application restarts streaming service, while close app timeout
not expired, SDL will unregister application.
* fix clear timer pool
* Fix clear pool timer to be periodic
* fixup! Fix clear pool timer to be periodic
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Update malformed message's criterias according the documentation
* Change UT according new rules
* Unify logger's message
* fixup! Update malformed message's criterias according the documentation
* Fix build with ENABLE_LOG_OFF
* fixup! Fix build with ENABLE_LOG_OFF
* Add short condition for variable and fix build with Enable_log off
* fixup! Add short condition for variable and fix build with Enable_log off
Co-authored-by: Ira Lytvynenko (GitHub) <ILytvynenko@luxoft.com>
Co-authored-by: Yevhenii Dementieiev (GitHub) <57259850+ydementieiev@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
adapter (#3134)
* Allow code compatibility with flag TELEMETRY_MONITOR On/Off
Added missed virtual keyword for SetTelemetryMonitor method.
Updated related interface and dependent mock classes
* Add missed mock classes and update existing ones
* Update TCP transport Adapter unit test logic
Replaced mock object with real TCP transport adapter
to be used with mock object to allow unit testing.
* Rework TransportManagerDefault class to allow its unit testing
1) Replaced local variables(raw pointers) by class members
2) Reworked Transport Manager unit tests
* Add missed logic when Connection failed to ThreadedSocketConnection::threadMain()
Added missed "else" case to ThreadedSocketConnection::threadMain()
when connection establishing is failed
* Add the Terminate method to the connection interface.
To avoid race condition and deadlock during destroying object of TcpServerOriginatedSocketConnection the Terminate method was added to the ThreadedSocketConnection.
Race condition can happen between the call FindEstablishedConnection from TcpTransportAdapter::Store and Terminate from TransportAdapterImpl.
In case when TcpServerOriginatedSocketConnection destroyed after FindEstablishedConnection called we will get deadlock , because in destructor of TcpServerOriginatedSocketConnection we call StopAndJoinThread(), but now we are in the same thread.
Co-authored-by: Andriy Byzhynar (GitHub) <AByzhynar@luxoft.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* SDL restores AddCommands in the order they were created
SDL generates and assigns internal_id for each AddCommand from mobile app
and restore AddCommands by this internal_id
* Fix message helper unit tests
* Fix resume controller unit tests
* Fix cmd_id in SendAddVRCommandToHMI
* fixup! SDL restores AddCommands in the order they were created
* Go to the next command if command id missing
Co-authored-by: Ira Lytvynenko (GitHub) <ILytvynenko@luxoft.com>
Co-authored-by: Yevhenii Dementieiev (GitHub) <57259850+ydementieiev@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix UpdateDeviceList content
fixed UpdateDeviceList contetnt for case, when device connected
ower tcp protocol was unexpectedly disconnected and
device has only one connection.
* answering review
* Fix redundant UpdateDeviceList issue
Co-authored-by: Mykola Korniichuk (GitHub) <42380041+mkorniichuk@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Handle wrong message type from HMI was added
* Fixed ignored request from HMI in case of invalid data.
utils::SharedPtr replaced with std::shared_ptr for ProcessMessageFromHMI
and ProcessMessageFromMobile in rpc_handler.
New parameter "report" in HandleWrongMessageType in order to get a proper
error message in response.
Redundant log message removed from sdl_activate_app_request.
INVALID_DATA now will be sent as a response to HMI
in case of wrong parameters in the request.
Co-authored-by: Mykola Korniichuk (GitHub) <42380041+mkorniichuk@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix SDL app stream processing with non-streamable state.
For determining whether an application is allowed to stream,
SDL considered only HMI_Level.
Now streaming state is also taken into account.
Fix notifications for not streamable apps
* Fix unit tests after rename function in new inplimentation
* Minor fixes
* const parameter for StartEndStreamTimer
* Fix logging messages
* end_stream_timer shanged to SingleShot
* fix unit test for state_controller
* fixup! Minor fixes * const parameter for StartEndStreamTimer * Fix logging messages * end_stream_timer shanged to SingleShot * fix unit test for state_controller
* rename HMILevelAllowsStreaming -> HMIStateAllowsStreaming
* fixup! Fix SDL app stream processing with non-streamable state.
Co-authored-by: Yevhenii Dementieiev (GitHub) <57259850+ydementieiev@users.noreply.github.com>
|
|\
| |
| | |
Fix/sdl crash during set app icon
|
| |
| |
| |
| | |
Update SetAppIcon request according to the changes in file system
|
| | |
|
| |
| |
| | |
* Fix versioning appliance for vehicle data
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Fix misplaced OnDataVideoStreaming
OnDataVideoStreaming notification was sent for each application
independently. Now one would be sent from application_manager with
respect to service status
* Fix OnDataStreamingNotification
* rename parameters
* fixup! rename parameters
|
|\ \
| | |
| | | |
Fix BC.PolicyUpdate double sending
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* Fix wrong success code for ReadDID request truncated data
* fixup! Fix wrong success code for ReadDID request truncated data
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
App. (#2365)
* Bugfix `SDL forwards OnButtonEvent notification`
Bugfix `SDL forwards OnButtonEvent notification
of CUSTOM_BUTTON to BACKGROUND App.`
Issue number #967
* Check that SDL forwards OnButtonEvent notification of CUSTOM_BUTTON to BACKGROUND App
* fixup! Bugfix `SDL forwards OnButtonEvent notification`
Co-authored-by: Ira Lytvynenko (GitHub) <ILytvynenko@luxoft.com>
Co-authored-by: Igor Gapchuk (GitHub) <41586842+IGapchuk@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A crash occurs because we use an overload of
boost::beast::websocket::stream::write without error_code.
After the error occurs we add an error message to the logger
and continue working.
In SendMessage_UnpreparedConnection_WithoutFall test we use sleep because we can't ability to catch processed event.
This issue is that LoopThreadDelegate requires a WebsocketSession to work.
WebsocketSession init LoopThreadDelegate with 'this', so we have no way to simulate it without additional installers.
In future, to avoid sleep, we can:
Create a wrapper class for the socket, then provide the socket layout for the WebsocketSession in unit tests and wrap the following interfaces:
async_read
write down
get_executor
async_accept
|
| | |
| | |
| | |
| | |
| | |
| | | |
In case of duplicated name of application SDL didn't increment
'count_of_rejections_duplicate_name' counter in policy db.
Added incrementing of counter.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is the issue when SDL incorrect validates display capabilities
as a Smart Object. The route cause of the issue is the missed "alertIcon"
parameter in mapping <string value, hmi_apis::Common_ImageFieldName::eType>
. During validation, a Smart Object SDL can't find mandatory parameter and
fail validation. As a result, SDL doesn't set display capabilities into
the HMI capabilities entity.
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Fix undefined behavior after SO cleanup
After cleanup_data() call, delete is used to deallocate
memory by pointer, however pointer still hold a value
of address of deallocated memory. By that reason SO
still have an ability to access that data what might
cause UB including core crash in the random places.
This function has been updated to set pointers to NULL
as well as smart object type to prevent accident access
to deallocated memory.
* fixup! Fix undefined behavior after SO cleanup
* Fix CSmartSchema corruption while copying
The issue is that HMICapabilities class is storing
different capability fields by raw pointer. In some
cases when one thread is trying to copy smart object
by pointer, another thread may try to set the same
field and destroys a previous one. This may cause a
half-copied smart object instance, like smart object
with the schema pointing to already destroyed schema
item. When such smart object is destroyed, we may see
a core crash or unexpected SDL behavior.
To avoid such issues, raw pointers were raplced with
shared pointers, set by swap() operation. This provide
a guarantee that object will not be destroyed while
copying by some thread.
|
|\ \
| |/
|/| |
Update develop with hotfix 6.0.1
|
| |\
|/ /
| | |
Hotfix Release 6.0.1
|
| |\
| | |
| | | |
Fix application of hybrid app preference parameter for cloud applications
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add the new ApplicationEvent.
Add the new ApplicationEvent (kRCStatusChanged) for informing RcRPCPlugin
that OnRCStatus notification should be sent.
Split adding RcExtension to application and sending OnRCStatus notification
to the separate actions.
* Fix SDL crash during application registration.
There is an issue when SDL crashes during registration second application
in the time when already exists a registered other one application.
In the current implementation ApplicationManager during application
registering by the ApplicationManager::RegisterApplication method creates
a new instance of the application and adds it to the collection of all
registered applications. This method calls in the
RegisterAppInterfaceRequest, but all needed extensions will be added only
by the ApplicationManager::OnApplicationRegistered method during sending
RegisterAppInterface Response to the mobile.
According to the described behavior could appear case when a first
application is registered successfully and all needed application
extensions are successfully added too. The second application starts
the registration process in someone thread, but in the other one thread,
SDL receives PolicyEvent::kApplicationPolicyUpdated event and tries to
unsubscribe all applications from removed in policy table Vehicle Data
Items. All actions go on in the next sequence:
Precondition:
The first application is successfully registered and all needed
extensions are added.
The first thread:
1. The Mobile device sends RegisterAppInterfaceRequest RPC to the SDL for
registration of the second application.
2. SDL receives the RegisterAppInterfaceRequest and calls method Run.
Within method RegisterAppInterfaceRequest::Run ApplicationManager runs
3. the method RegisterApplication.
The second thread:
4. The SDL receives the PolicyEvent::kApplicationPolicyUpdated event and
forwards the event to each plugin for processing it.
5. VehicleInfoPlugin tries to unsubscribe all registered applications
from removed in policy table Vehicle Data Items.
The plugin finds the first application and unsubscribes it from all
removed Vehicle Data Items.
The plugin finds the second application and doesn't find any extensions
for the application and crashes on the DCHECK with an uninitialized
pointer to the extension.
|
| | |
|