summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Address comments and fix UTfix/cover_protocol_and_connection_handlers_with_unit_testsAndrii Kalinich2020-11-094-73/+97
|
* Merge remote-tracking branch 'origin/develop' into ↵Andrii Kalinich2020-11-091095-106527/+50937
|\ | | | | | | fix/cover_protocol_and_connection_handlers_with_unit_tests
| * Merge remote-tracking branch 'origin/master' into developJackLivio2020-11-05225-3896/+3302
| |\
| | * Merge pull request #3551 from smartdevicelink/release/7.0.07.0.0JackLivio2020-11-051095-106525/+50935
| | |\ | | | | | | | | 7.0.0 Release
| | | * Update rpc_spec tag for 7.0.0JackLivio2020-11-051-0/+0
| | | |
| | | * ensure apps receive default HMI status before activated status (#3559)7.0.0-RC2release/7.0.0Collin2020-10-2910-15/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove cloud app exception from StateControllerImpl::OnApplicationRegistered * Fix/ Postpone application activation if registration is not complete yet (#3557) * Postpone application activation if registration is not complete yet * fixup! Postpone application activation if registration is not complete yet * fixup! Postpone application activation if registration is not complete yet Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com> * fix style * fix unit tests Co-authored-by: Ira Lytvynenko (GitHub) <ILytvynenko@luxoft.com> Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com>
| | | * remove possibility for invalid choice ID to be sent to mobile (#3555)Collin2020-10-291-10/+15
| | | |
| | | * Fix a/v streaming retry sequence issues (#3552)Andrii Kalinich (GitHub)2020-10-264-60/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were noticed two issues related to a/v streaming: 1. Due to object self destruction after TerminateRequest() call any attempt to access member field of that object may cause an undefined behavior - it might be a core crash or corrupted value sometimes. In this particular case, SDL tries to access `message_` field through `application_id()` function after object destruction. As a result, sometimes SDL crashes and sometimes this function just returns 0. Because of that, SDL was not able to find application by zero id and broke the retry sequence. This causes random failures of some ATF scripts. To avoid that issue, all retry logic was extracted into the separate function and `TerminateRequest` was moved after that function. This will guarantee that there is no attempts to access object fields after its destruction. 2. There was noticed that SDL makes one redundant retry attempt. That was because of late retry value increment. To fix that issue, increment has been placed before retry amount check.
| | | * Bugfix 2808 copy (#3546)JackLivio2020-10-262-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix issue 2808:SDL Crash seen in SDL upon receiving rpc - OnEmergencyEvent with enabled:true * change code stype * Fix conflicts * Fix log * Fix crash * Address comments Co-authored-by: zhangwenqin <zhangwenqin@iauto.com>
| | | * Fix sdl sends unexpected disconnect with resource constraint (#3516)Serhii Niukalov (GitHub)2020-10-2314-13/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rework processing of the OnExitApplication (RESOURCE_CONSTRAINT) notification * Update UTs according to changes Co-authored-by: sniukalov <sniukaov@luxoft.com> Co-authored-by: Aleksandr Kutsan <AKutsan@luxoft.com> Co-authored-by: jacobkeeler <jacob.keeler@livioradio.com> Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com>
| | | * Fix formatting for logs after logger overhaul (#3554)Jacob Keeler2020-10-2341-264/+134
| | | | | | | | | | | | | | | | | | | | * Fix formatting for logs after logger overhaul Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
| | | * Add missed NACK reasons (#3545)Yana Chernysheva (GitHub)2020-10-2317-201/+204
| | | | | | | | | | | | * Add missed NACK reasons, update UTs and add minor changes
| | | * Fix application activation after resumption (#3550)Yana Chernysheva (GitHub)2020-10-225-28/+18
| | | | | | | | | | | | | | | | | | | | * Set is_resuming flag to false * Change return value in RestoreAppHMIState and StartAppHmiStateResumption
| | | * Add defvalue to policy table schema (#3530)Jacob Keeler2020-10-2215-62/+246
| | | | | | | | | | | | * Add defvalue to policy table schema
| | | * Merge pull request #3548 from smartdevicelink/hotfix/mobile_api_link_readmeJacob Keeler2020-10-211-1/+1
| | | |\ | | | | | | | | | | Fix broken Mobile API link in README
| | | | * Fix broken Mobile API link in READMEhotfix/mobile_api_link_readmeJacob Keeler2020-10-211-1/+1
| | | |/ | | |/|
| | | * Keep FULL for apps after conflict resolution (#3538)Andrii Kalinich (GitHub)2020-10-201-1/+5
| | | |
| | | * Add check for non-existent parent ID to AddSubMenuRequest (#3534)Yana Chernysheva (GitHub)2020-10-202-3/+38
| | | | | | | | | | | | | | | | | | | | * Add check for non-existent parent ID to AddSubMenuRequest * fixup! Add check for non-existent parent ID to AddSubMenuRequest
| | | * Fix synchronization in WaypointsPendingResumptionHandler (#3531)Yana Chernysheva (GitHub)2020-10-193-137/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a problem with duplicate subscriptions to shared data due to time gap between check for already subscribed apps in SDLRPCPlugin and further processing of corresponding requests in WayPointsPendingResumptionHandler. That's why this check was moved to WayPointsPendingResumptionHandler. Also refactoring of some methods WayPointsPendingResumptionHandler class was done to make their logic clearer and easier to understand.
| | | * Add error handling for failed hmi message send (#3537)JackLivio2020-10-144-6/+29
| | | |
| | | * remove unlock of lock that isn't locked (#3536)7.0.0-RC1Collin2020-10-081-1/+0
| | | |
| | | * Fix/Add DialNumber RPC to preloaded pt (#3533)Shobhit Adlakha2020-10-071-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add the DialNumber RPC to the Base-4 and Base-6 functional groups * Move DialNumber into a separate functional group * Fix added functional group
| | | * Fix/usb handler thread safe stop (#3492)Andrii Kalinich (GitHub)2020-10-063-5/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Wait for UsbHandler thread end in UsbHandler dtor The Thread dedicated for handling libusb events should exit successfully on it's own. This guarantees that `libusb_close()` being called on all devices, as well as `libusb_exit()` call is properly sequenced. Thread exits in recommended by libusb doc way: 1. set exit flag 2. deregister hotplug callbacks, which will wake up `libusb_handle_events()` once again. But this commit changes the way the Thread being joined. It ensures that `join()` is called with `kNoStop` flag, which prevents force stop using `pthread_cancel()`. * Using atomic bool for shutdown_requested_ flag Making UsbHandler::shutdown_requested_ flag atomic to guarantee mutual access to it. exchange() call is needed for helgrind to feel sure that there is no data race. * Remove redundant DCHECK This assertion has been exposed by the current fix
| | | * use less common port in websocket connection tests (#3529)Collin2020-10-061-1/+1
| | | |
| | | * Re-order rai logic for plugins (#3526)JackLivio2020-10-065-8/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Re-order rai logic for plugins * style * Add mock method * Add method descriptions * Add timing content
| | | * Bugfix 3173 (#3528)JackLivio2020-10-064-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix 3173 bug:multi-thread access one pointer at same time caused a wild pointer problem in HMICapabilitiesImpl class * modify test code for 3173 * fix Unit tests * Fix merge conflicts Co-authored-by: zhangwenqin <zhangwenqin@iauto.com>
| | | * Fix dead lock in usb connection (#3494)Andrii Kalinich (GitHub)2020-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | In a while called method locks mutex for protecting data and if USB connection is failed it means that method will call and will try to lock the same mutex again. That's why this mutex should be recursive.
| | | * Add check for already processed resumptions (#3525)Yana Chernysheva (GitHub)2020-10-053-142/+61
| | | |
| | | * Fix streamer activity in case of suspend (#3488)Andrii Kalinich (GitHub)2020-10-0516-130/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix streamer activity in case of suspend The problem of the current implementation is that SDL kills streaming thread responsible for sending a/v streaming data to HMI when streaming timeout expires. This issue is observed when mobile app dumps 10-seconds audio file to SDL during 2 seconds and after that app does not send any data. In that case HMI will play audio file during 2 seconds + timeout = 5 seconds. At the 5th second SDL just kills streaming thread with all pending messages, however audio service is still open. As a result not a whole audio file is played. The correct behavior from SDL side in that case is not kill streaming thread when streaming timeout was expired. SDL should kill streaming thread only when service is actually stopped. Current SDL behavior was updated to align with a correct behavior described above. * Adjust fix to work with audio socket streaming * Revert "[WIP] initial fix of socket streaming by guessing playback time (#3057)" This reverts commit 7c442abce73c462e7724a64b3ce037bcb8e9093e. * Remove unused code after revert * Fix style issues
| | | * Fix deadlock in policy handler (#3497)Igor Gapchuk (GitHub)2020-10-053-356/+460
| | | |
| | | * Fix GetInteriorVehicle request wrong processes result codes from HMI (#3519)Igor Gapchuk (GitHub)2020-10-022-6/+68
| | | | | | | | | | | | | | | | GetInteriorVehicle request RPC should process the next result codes as success: WRONG_LANGUAGE, RETRY, SAVED.
| | | * Use weak_ptr<WebsocketSession> instead of raw ptrs (#3490)Andrii Kalinich (GitHub)2020-10-023-141/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes no functional or insecure changes. It only prevents possible SIGSEGVs. Don't use raw pointers to WebsocketSession in almost all cases. For function arguments, pointers changed to references for preventing null pointer occurrence. For containers pointers changed to weak_ptr for preventing expired references. Removed wrong inheritance for CMessageBroker
| | | * Merge pull request #3449 from ↵Jacob Keeler2020-10-0224-776/+100
| | | |\ | | | | | | | | | | | | | | | | | | | | LuxoftSDL/fix/move_duplicate_conversion_functions_to_message_helper Move duplicate conversion functions to Message Helper
| | | | * Delete module_types_str_mappingYana Chernysheva2020-10-021-9/+1
| | | | |
| | | | * Merge branch 'release/7.0.0' into ↵Yana Chernysheva2020-10-02123-1555/+993
| | | | |\ | | | | |/ | | | |/| | | | | | fix/move_duplicate_conversion_functions_to_message_helper
| | | * | Remove ManageMobileCommand call from UnregisterAppInterfaceRequest and ↵Yana Chernysheva (GitHub)2020-10-012-16/+0
| | | | | | | | | | | | | | | | | | | | corresponding unit test (#3389)
| | | * | Merge pull request #3523 from smartdevicelink/fix/play_tone_without_ttsJacob Keeler2020-10-011-3/+4
| | | |\ \ | | | | | | | | | | | | Ignore playTone if provided without TTSChunks
| | | | * | Ignore playTone if provided without TTSChunksfix/play_tone_without_ttsjacobkeeler2020-09-301-3/+4
| | | | | |
| | | * | | Fix Cppcheck issues (#3453)Yana Chernysheva (GitHub)2020-10-0198-961/+639
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix noExplicitConstructor issue * Fix functionConst issues * Fix unusedFunction and unusedField issues * Fix redundantInitialization * Fix unreadVariable and unusedVariable issues * Fix postfixOperator issue * Fix variableScope issue * Fix invalidPrintfArgType_sint and unsignedLessThanZero issues * Fix other errors * Add changes, related to functions marked as unused * Fix new issues * Fixe review comment * Fix codestyle * Fix constParameter errors * Fix functionConst errors * Fix noExplicitConstructor, redundantInitialization errors * Fix unreadVariable errors * Fix shadowVariable error * Fix useStlAlgorithm errors * Fixe variableScope error, add FIXME comment * Fix code style * Fix compile error * Remove unsued function * Fix compile error Co-authored-by: Vladislav Semenyuk <vsemenyuk@luxoft.com>
| | | * | | Fix data races in TcpClientListener (#3495)Andrii Kalinich (GitHub)2020-10-012-7/+10
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | Regarding of Helgrind report. Changed type of TcpClientListener::thread_stop_requested_ from bool to std::atomic_bool. The same for remove_devices_on_terminate_
| | | * | Fix deadlock in connection_handler (#3496)Igor Gapchuk (GitHub)2020-09-301-5/+15
| | | | |
| | | * | Use atomic bool in ApplicatinManager (#3491)Andrii Kalinich (GitHub)2020-09-302-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Replace bool flag 'is_stopping_' in class ApplicationManagerImpl and remove mutex 'stopping_application_mng_lock_'.
| | | * | Replace direct access with accessor for apps (#3487)Andrii Kalinich (GitHub)2020-09-302-18/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | Merge branch 'develop' into release/7.0.0collin2020-09-302-0/+2
| | | |\ \ | | |_|/ / | |/| | |
| * | | | Unsubscribe from event in VehicleInfoPendingResumptionHandler (#3515)Yana Chernysheva (GitHub)2020-09-302-0/+2
| | | | |
| | | * | Merge pull request #3510 from ↵Jacob Keeler2020-09-293-478/+65
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | LuxoftSDL/fix/fix_enums_conversion_in_hmi_capabilities Fix/fix enums conversion in hmi capabilities
| | | | * | Align HMI capabilities file with APIAndrii Kalinich2020-09-232-3/+3
| | | | | |
| | | | * | Fix enum conversion in HMI capabilitiesAndrii Kalinich2020-09-221-475/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (#3520)Collin2020-09-292-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add webengine_websocket to TransportTypeProfileStringFromDeviceHandle * differentiate transport name from cloud * add WEBSOCKET and WEBENGINE devices to ini file
| | | * | | Add additional check to avoid duplicate subscriptions to Vehicle Data (#3512)Yana Chernysheva (GitHub)2020-09-294-28/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Replace check for already existed subscriptions * Delete unused enum * Update unit tests and add new unit test