Skip to content

Commit 65947fd

Browse files
authored
Merge pull request #3872 from smartdevicelink/release/8.1.0
Release 8.1.0
2 parents 68f0821 + 6b423eb commit 65947fd

File tree

156 files changed

+2156
-1799
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

156 files changed

+2156
-1799
lines changed

.github/workflows/sdl_core_github_ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
run: git -C ${{ github.workspace }} submodule update --init --recursive
1010
# Install Dependencies
1111
- name: Apt Get Dependencies
12-
run: sudo apt-get update && sudo apt-get install libssl-dev libbluetooth3 libbluetooth-dev libudev-dev cmake html2text lcov git cmake automake1.11 build-essential libavahi-client-dev sqlite3 libsqlite3-dev libgtest-dev bluez-tools libpulse-dev libusb-1.0.0-dev cppcheck python3-pip python3-setuptools && sudo apt-get install -f clang-format-8
12+
run: sudo apt-get update && sudo apt-get install libssl-dev libbluetooth3 libbluetooth-dev libudev-dev cmake html2text lcov git cmake automake1.11 build-essential libavahi-client-dev sqlite3 libsqlite3-dev libgtest-dev bluez-tools libpulse-dev libusb-1.0.0-dev cppcheck python3-pip python3-setuptools python3-wheel && sudo apt-get install -f clang-format-8
1313
- name: Setup CMAKE
1414
uses: jwlawson/actions-setup-cmake@v1.8
1515
with:
@@ -36,7 +36,7 @@ jobs:
3636
- name: Configure
3737
run: cmake ../sdl_core -DBUILD_TESTS=ON -DLOGGER_NAME=BOOST
3838
- name: Build
39-
run: make install-3rd_party && make -j `nproc` install
39+
run: make install-3rd_party && make install_python_dependencies && make -j `nproc` install
4040
- name: Set Library Path
4141
run: echo "LD_LIBRARY_PATH=$THIRD_PARTY_INSTALL_PREFIX/lib:." >> $GITHUB_ENV
4242
# run tests

.github/workflows/sdl_core_github_ci_coverity.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
run: git -C ${{ github.workspace }} submodule update --init --recursive
2222
# Install Dependencies
2323
- name: Apt Get Dependencies
24-
run: sudo apt-get update && sudo apt-get install libssl-dev libbluetooth3 libbluetooth-dev libudev-dev cmake html2text lcov git cmake automake1.11 build-essential libavahi-client-dev sqlite3 libsqlite3-dev libgtest-dev bluez-tools libpulse-dev libusb-1.0.0-dev cppcheck python3-pip python3-setuptools && sudo apt-get install -f clang-format-6.0
24+
run: sudo apt-get update && sudo apt-get install libssl-dev libbluetooth3 libbluetooth-dev libudev-dev cmake html2text lcov git cmake automake1.11 build-essential libavahi-client-dev sqlite3 libsqlite3-dev libgtest-dev bluez-tools libpulse-dev libusb-1.0.0-dev cppcheck python3-pip python3-setuptools python3-wheel && sudo apt-get install -f clang-format-8
2525
- name: Setup CMAKE
2626
uses: jwlawson/actions-setup-cmake@v1.8
2727
with:
@@ -51,7 +51,7 @@ jobs:
5151
- name: unzip
5252
run: tar zxvf coverity_tool.tgz
5353
- name: Build
54-
run: make install-3rd_party && ./cov-analysis-linux64-2020.09/bin/cov-build --dir cov-int make -j `nproc` install
54+
run: make install-3rd_party && make install_python_dependencies && ./cov-analysis-linux64-*/bin/cov-build --dir cov-int make -j `nproc` install
5555
- name: Set Library Path
5656
run: echo "LD_LIBRARY_PATH=$THIRD_PARTY_INSTALL_PREFIX/lib:." >> $GITHUB_ENV
5757
- name: Compress Coverity

src/appMain/hmi_capabilities.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,11 @@
322322
"audioType": "PCM"
323323
},
324324
"hmiZoneCapabilities": "FRONT",
325+
"hmiCapabilities":{
326+
"navigation":true,
327+
"phoneCall":true,
328+
"videoStreaming":true
329+
},
325330
"softButtonCapabilities": [{
326331
"shortPressAvailable": true,
327332
"longPressAvailable": true,

src/appMain/life_cycle_impl.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,12 +237,14 @@ void sig_handler(int sig) {
237237
SDL_LOG_DEBUG("SIGTERM signal has been caught");
238238
break;
239239
case SIGSEGV:
240+
std::cerr << "SIGSEGV caught" << std::endl;
240241
SDL_LOG_DEBUG("SIGSEGV signal has been caught");
241242
SDL_FLUSH_LOGGER();
242243
// exit need to prevent endless sending SIGSEGV
243244
// http://stackoverflow.com/questions/2663456/how-to-write-a-signal-handler-to-catch-sigsegv
244245
abort();
245246
default:
247+
std::cerr << "Unexpected signal " << sig << " caught" << std::endl;
246248
SDL_LOG_DEBUG("Unexpected signal has been caught");
247249
exit(EXIT_FAILURE);
248250
}

src/appMain/smartDeviceLink.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ CloudAppRetryTimeout = 1000
237237
CloudAppMaxRetryAttempts = 5
238238

239239
[ProtocolHandler]
240-
; SDL supported protocol version
240+
; SDL supported protocol version. Minimum value is 2
241241
MaxSupportedProtocolVersion = 5
242242
; Packet with payload bigger than next value will be marked as a malformed
243243
; for protocol v3 or higher

src/components/application_manager/include/application_manager/app_launch/app_launch_ctrl.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ class AppLaunchCtrl {
6666
* @brief OnMasterReset clear database of saved applications
6767
*/
6868
virtual void OnMasterReset() = 0;
69+
70+
/**
71+
* @brief Stop - allows to stop app launcher.
72+
*/
73+
virtual void Stop() = 0;
74+
6975
virtual ~AppLaunchCtrl() {}
7076
};
7177

src/components/application_manager/include/application_manager/app_launch/app_launch_ctrl_impl.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class AppLaunchCtrlImpl : public AppLaunchCtrl {
6969
void OnAppRegistered(const application_manager::Application& app) OVERRIDE;
7070
void OnDeviceConnected(const std::string& device_mac) OVERRIDE;
7171
void OnMasterReset() OVERRIDE;
72+
void Stop() OVERRIDE;
7273

7374
private:
7475
const AppLaunchSettings& settings_;
@@ -77,6 +78,7 @@ class AppLaunchCtrlImpl : public AppLaunchCtrl {
7778

7879
AppsLauncher apps_launcher_;
7980
DeviceAppsLauncher device_apps_launcher_;
81+
sync_primitives::Lock device_apps_launcher_lock_;
8082

8183
DISALLOW_COPY_AND_ASSIGN(AppLaunchCtrlImpl);
8284
};

src/components/application_manager/include/application_manager/app_launch/device_apps_launcher.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class DeviceAppsLauncherImpl {
3535
};
3636

3737
bool StopLaunchingAppsOnDevice(const std::string& device_mac);
38+
void StopLaunchingAppsOnAllDevices();
3839

3940
private:
4041
sync_primitives::Lock launchers_lock_;
@@ -60,6 +61,7 @@ class DeviceAppsLauncher {
6061
const std::string& device_mac,
6162
const std::vector<ApplicationDataPtr>& applications_to_launch);
6263
bool StopLaunchingAppsOnDevice(const std::string& device_mac);
64+
void StopLaunchingAppsOnAllDevices();
6365

6466
const AppLaunchSettings& settings() const;
6567

src/components/application_manager/include/application_manager/application.h

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,15 @@ class InitialApplicationData {
113113
public:
114114
virtual ~InitialApplicationData() {}
115115

116-
virtual const smart_objects::SmartObject* app_types() const = 0;
117-
virtual const smart_objects::SmartObject* vr_synonyms() const = 0;
116+
virtual const smart_objects::SmartObjectSPtr app_types() const = 0;
117+
virtual const smart_objects::SmartObjectSPtr vr_synonyms() const = 0;
118118
virtual const std::string& mac_address() const = 0;
119119
virtual const std::string& bundle_id() const = 0;
120120
virtual void set_bundle_id(const std::string& bundle_id) = 0;
121121
virtual std::string policy_app_id() const = 0;
122-
virtual const smart_objects::SmartObject* tts_name() const = 0;
123-
virtual const smart_objects::SmartObject* ngn_media_screen_name() const = 0;
122+
virtual const smart_objects::SmartObjectSPtr tts_name() const = 0;
123+
virtual const smart_objects::SmartObjectSPtr ngn_media_screen_name()
124+
const = 0;
124125
virtual const mobile_api::Language::eType& language() const = 0;
125126
virtual const mobile_api::Language::eType& ui_language() const = 0;
126127
virtual const utils::SemanticVersion& msg_version() const = 0;
@@ -195,18 +196,18 @@ typedef std::vector<smart_objects::SmartObjectSPtr> MobileMessageQueue;
195196
class DynamicApplicationData {
196197
public:
197198
virtual ~DynamicApplicationData() {}
198-
virtual const smart_objects::SmartObject* help_prompt() const = 0;
199-
virtual const smart_objects::SmartObject* timeout_prompt() const = 0;
200-
virtual const smart_objects::SmartObject* vr_help_title() const = 0;
201-
virtual const smart_objects::SmartObject* vr_help() const = 0;
199+
virtual const smart_objects::SmartObjectSPtr help_prompt() const = 0;
200+
virtual const smart_objects::SmartObjectSPtr timeout_prompt() const = 0;
201+
virtual const smart_objects::SmartObjectSPtr vr_help_title() const = 0;
202+
virtual const smart_objects::SmartObjectSPtr vr_help() const = 0;
202203
virtual const mobile_api::TBTState::eType& tbt_state() const = 0;
203-
virtual const smart_objects::SmartObject* show_command() const = 0;
204-
virtual const smart_objects::SmartObject* tbt_show_command() const = 0;
204+
virtual const smart_objects::SmartObjectSPtr show_command() const = 0;
205+
virtual const smart_objects::SmartObjectSPtr tbt_show_command() const = 0;
205206
virtual DataAccessor<ButtonSubscriptions> SubscribedButtons() const = 0;
206-
virtual const smart_objects::SmartObject* keyboard_props() const = 0;
207-
virtual const smart_objects::SmartObject* menu_title() const = 0;
208-
virtual const smart_objects::SmartObject* menu_icon() const = 0;
209-
virtual const smart_objects::SmartObject* menu_layout() const = 0;
207+
virtual const smart_objects::SmartObjectSPtr keyboard_props() const = 0;
208+
virtual const smart_objects::SmartObjectSPtr menu_title() const = 0;
209+
virtual const smart_objects::SmartObjectSPtr menu_icon() const = 0;
210+
virtual const smart_objects::SmartObjectSPtr menu_layout() const = 0;
210211
virtual smart_objects::SmartObject day_color_scheme() const = 0;
211212
virtual smart_objects::SmartObject night_color_scheme() const = 0;
212213
virtual std::string display_layout() const = 0;
@@ -520,6 +521,25 @@ class DynamicApplicationData {
520521
* @return TRUE if perform interaction active, otherwise FALSE
521522
*/
522523
virtual bool is_reset_global_properties_active() const = 0;
524+
525+
/**
526+
* @brief Set allowed mode for specified choice_set_id.
527+
* @param choice_set_id Choice set id.
528+
* @param is_allowed TRUE if the choice set has to be allowed to perform,
529+
* otherwise FALSE.
530+
* Allow mode means that the choice_set is not fully processed or not fully
531+
* deleted (in both cases request is being processed on HMI side, and HMI
532+
* hasn't sent response with result yet)
533+
*/
534+
virtual void set_choice_set_allow_mode(const uint32_t choice_set_id,
535+
const bool is_allowed) = 0;
536+
537+
/**
538+
* @brief Check if choice set allowed.
539+
* @param choice_set_id Choice set id.
540+
* @return TRUE if the choice set is allowed to perform, otherwise FALSE.
541+
*/
542+
virtual bool is_choice_set_allowed(const uint32_t choice_set_id) const = 0;
523543
};
524544

525545
class Application : public virtual InitialApplicationData,
@@ -539,8 +559,10 @@ class Application : public virtual InitialApplicationData,
539559
* @brief Returns message belonging to the application
540560
* that is currently executed (i.e. on HMI).
541561
* @return smart_objects::SmartObject * Active message
562+
* @deprecated will always return NULL
542563
*/
543-
virtual const smart_objects::SmartObject* active_message() const = 0;
564+
DEPRECATED virtual const smart_objects::SmartObject* active_message()
565+
const = 0;
544566

545567
/**
546568
* @brief returns current hash value
@@ -596,7 +618,8 @@ class Application : public virtual InitialApplicationData,
596618
*/
597619
virtual void set_app_data_resumption_allowance(const bool allowed) = 0;
598620

599-
virtual void CloseActiveMessage() = 0;
621+
// Deprecated, has no effect
622+
DEPRECATED virtual void CloseActiveMessage() = 0;
600623
virtual bool IsFullscreen() const = 0;
601624
virtual void ChangeSupportingAppHMIType() = 0;
602625

src/components/application_manager/include/application_manager/application_data_impl.h

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ class InitialApplicationDataImpl : public virtual Application {
5050
InitialApplicationDataImpl();
5151
~InitialApplicationDataImpl();
5252

53-
const smart_objects::SmartObject* app_types() const;
54-
const smart_objects::SmartObject* vr_synonyms() const;
53+
const smart_objects::SmartObjectSPtr app_types() const;
54+
const smart_objects::SmartObjectSPtr vr_synonyms() const;
5555
virtual std::string policy_app_id() const;
56-
const smart_objects::SmartObject* tts_name() const;
57-
const smart_objects::SmartObject* ngn_media_screen_name() const;
56+
const smart_objects::SmartObjectSPtr tts_name() const;
57+
const smart_objects::SmartObjectSPtr ngn_media_screen_name() const;
5858
const mobile_api::Language::eType& language() const;
5959
const mobile_api::Language::eType& ui_language() const;
6060
const utils::SemanticVersion& msg_version() const;
@@ -73,11 +73,11 @@ class InitialApplicationDataImpl : public virtual Application {
7373
mobile_api::LayoutMode::eType perform_interaction_layout() const OVERRIDE;
7474

7575
protected:
76-
smart_objects::SmartObject* app_types_;
77-
smart_objects::SmartObject* vr_synonyms_;
76+
smart_objects::SmartObjectSPtr app_types_;
77+
smart_objects::SmartObjectSPtr vr_synonyms_;
7878
std::string mobile_app_id_;
79-
smart_objects::SmartObject* tts_name_;
80-
smart_objects::SmartObject* ngn_media_screen_name_;
79+
smart_objects::SmartObjectSPtr tts_name_;
80+
smart_objects::SmartObjectSPtr ngn_media_screen_name_;
8181
mobile_api::Language::eType language_;
8282
mobile_api::Language::eType ui_language_;
8383
mobile_apis::LayoutMode::eType perform_interaction_layout_;
@@ -92,17 +92,17 @@ class DynamicApplicationDataImpl : public virtual Application {
9292
typedef std::map<WindowID, smart_objects::SmartObject> AppWindowsTemplates;
9393
DynamicApplicationDataImpl();
9494
~DynamicApplicationDataImpl();
95-
const smart_objects::SmartObject* help_prompt() const;
96-
const smart_objects::SmartObject* timeout_prompt() const;
97-
const smart_objects::SmartObject* vr_help_title() const;
98-
const smart_objects::SmartObject* vr_help() const;
95+
const smart_objects::SmartObjectSPtr help_prompt() const;
96+
const smart_objects::SmartObjectSPtr timeout_prompt() const;
97+
const smart_objects::SmartObjectSPtr vr_help_title() const;
98+
const smart_objects::SmartObjectSPtr vr_help() const;
9999
const mobile_api::TBTState::eType& tbt_state() const;
100-
const smart_objects::SmartObject* show_command() const;
101-
const smart_objects::SmartObject* tbt_show_command() const;
102-
const smart_objects::SmartObject* keyboard_props() const;
103-
const smart_objects::SmartObject* menu_title() const;
104-
const smart_objects::SmartObject* menu_icon() const;
105-
const smart_objects::SmartObject* menu_layout() const;
100+
const smart_objects::SmartObjectSPtr show_command() const;
101+
const smart_objects::SmartObjectSPtr tbt_show_command() const;
102+
const smart_objects::SmartObjectSPtr keyboard_props() const;
103+
const smart_objects::SmartObjectSPtr menu_title() const;
104+
const smart_objects::SmartObjectSPtr menu_icon() const;
105+
const smart_objects::SmartObjectSPtr menu_layout() const;
106106

107107
smart_objects::SmartObject day_color_scheme() const OVERRIDE;
108108
smart_objects::SmartObject night_color_scheme() const OVERRIDE;
@@ -315,18 +315,23 @@ class DynamicApplicationDataImpl : public virtual Application {
315315
*/
316316
inline bool is_reset_global_properties_active() const;
317317

318+
void set_choice_set_allow_mode(const uint32_t choice_set_id,
319+
const bool is_allowed);
320+
321+
bool is_choice_set_allowed(const uint32_t choice_set_id) const;
322+
318323
protected:
319-
smart_objects::SmartObject* help_prompt_;
320-
smart_objects::SmartObject* timeout_prompt_;
321-
smart_objects::SmartObject* vr_help_title_;
322-
smart_objects::SmartObject* vr_help_;
324+
smart_objects::SmartObjectSPtr help_prompt_;
325+
smart_objects::SmartObjectSPtr timeout_prompt_;
326+
smart_objects::SmartObjectSPtr vr_help_title_;
327+
smart_objects::SmartObjectSPtr vr_help_;
323328
mobile_api::TBTState::eType tbt_state_;
324-
smart_objects::SmartObject* show_command_;
325-
smart_objects::SmartObject* keyboard_props_;
326-
smart_objects::SmartObject* menu_title_;
327-
smart_objects::SmartObject* menu_icon_;
328-
smart_objects::SmartObject* menu_layout_;
329-
smart_objects::SmartObject* tbt_show_command_;
329+
smart_objects::SmartObjectSPtr show_command_;
330+
smart_objects::SmartObjectSPtr keyboard_props_;
331+
smart_objects::SmartObjectSPtr menu_title_;
332+
smart_objects::SmartObjectSPtr menu_icon_;
333+
smart_objects::SmartObjectSPtr menu_layout_;
334+
smart_objects::SmartObjectSPtr tbt_show_command_;
330335
smart_objects::SmartObjectSPtr display_capabilities_;
331336
AppWindowsTemplates window_templates_;
332337

@@ -346,6 +351,8 @@ class DynamicApplicationDataImpl : public virtual Application {
346351
uint32_t is_perform_interaction_active_;
347352
bool is_reset_global_properties_active_;
348353
int32_t perform_interaction_mode_;
354+
mutable sync_primitives::Lock allowed_choice_sets_lock_;
355+
std::set<uint32_t> allowed_choice_sets_;
349356
DisplayCapabilitiesBuilder display_capabilities_builder_;
350357

351358
private:

0 commit comments

Comments
 (0)