Skip to content

Commit

Permalink
Merge pull request #3872 from smartdevicelink/release/8.1.0
Browse files Browse the repository at this point in the history
Release 8.1.0
  • Loading branch information
jacobkeeler authored Apr 13, 2022
2 parents 68f0821 + 6b423eb commit 65947fd
Show file tree
Hide file tree
Showing 156 changed files with 2,156 additions and 1,799 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/sdl_core_github_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
run: git -C ${{ github.workspace }} submodule update --init --recursive
# Install Dependencies
- name: Apt Get Dependencies
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
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
- name: Setup CMAKE
uses: jwlawson/actions-setup-cmake@v1.8
with:
Expand All @@ -36,7 +36,7 @@ jobs:
- name: Configure
run: cmake ../sdl_core -DBUILD_TESTS=ON -DLOGGER_NAME=BOOST
- name: Build
run: make install-3rd_party && make -j `nproc` install
run: make install-3rd_party && make install_python_dependencies && make -j `nproc` install
- name: Set Library Path
run: echo "LD_LIBRARY_PATH=$THIRD_PARTY_INSTALL_PREFIX/lib:." >> $GITHUB_ENV
# run tests
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sdl_core_github_ci_coverity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: git -C ${{ github.workspace }} submodule update --init --recursive
# Install Dependencies
- name: Apt Get Dependencies
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
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
- name: Setup CMAKE
uses: jwlawson/actions-setup-cmake@v1.8
with:
Expand Down Expand Up @@ -51,7 +51,7 @@ jobs:
- name: unzip
run: tar zxvf coverity_tool.tgz
- name: Build
run: make install-3rd_party && ./cov-analysis-linux64-2020.09/bin/cov-build --dir cov-int make -j `nproc` install
run: make install-3rd_party && make install_python_dependencies && ./cov-analysis-linux64-*/bin/cov-build --dir cov-int make -j `nproc` install
- name: Set Library Path
run: echo "LD_LIBRARY_PATH=$THIRD_PARTY_INSTALL_PREFIX/lib:." >> $GITHUB_ENV
- name: Compress Coverity
Expand Down
5 changes: 5 additions & 0 deletions src/appMain/hmi_capabilities.json
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,11 @@
"audioType": "PCM"
},
"hmiZoneCapabilities": "FRONT",
"hmiCapabilities":{
"navigation":true,
"phoneCall":true,
"videoStreaming":true
},
"softButtonCapabilities": [{
"shortPressAvailable": true,
"longPressAvailable": true,
Expand Down
2 changes: 2 additions & 0 deletions src/appMain/life_cycle_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -237,12 +237,14 @@ void sig_handler(int sig) {
SDL_LOG_DEBUG("SIGTERM signal has been caught");
break;
case SIGSEGV:
std::cerr << "SIGSEGV caught" << std::endl;
SDL_LOG_DEBUG("SIGSEGV signal has been caught");
SDL_FLUSH_LOGGER();
// exit need to prevent endless sending SIGSEGV
// http://stackoverflow.com/questions/2663456/how-to-write-a-signal-handler-to-catch-sigsegv
abort();
default:
std::cerr << "Unexpected signal " << sig << " caught" << std::endl;
SDL_LOG_DEBUG("Unexpected signal has been caught");
exit(EXIT_FAILURE);
}
Expand Down
2 changes: 1 addition & 1 deletion src/appMain/smartDeviceLink.ini
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ CloudAppRetryTimeout = 1000
CloudAppMaxRetryAttempts = 5

[ProtocolHandler]
; SDL supported protocol version
; SDL supported protocol version. Minimum value is 2
MaxSupportedProtocolVersion = 5
; Packet with payload bigger than next value will be marked as a malformed
; for protocol v3 or higher
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,12 @@ class AppLaunchCtrl {
* @brief OnMasterReset clear database of saved applications
*/
virtual void OnMasterReset() = 0;

/**
* @brief Stop - allows to stop app launcher.
*/
virtual void Stop() = 0;

virtual ~AppLaunchCtrl() {}
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ class AppLaunchCtrlImpl : public AppLaunchCtrl {
void OnAppRegistered(const application_manager::Application& app) OVERRIDE;
void OnDeviceConnected(const std::string& device_mac) OVERRIDE;
void OnMasterReset() OVERRIDE;
void Stop() OVERRIDE;

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

AppsLauncher apps_launcher_;
DeviceAppsLauncher device_apps_launcher_;
sync_primitives::Lock device_apps_launcher_lock_;

DISALLOW_COPY_AND_ASSIGN(AppLaunchCtrlImpl);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class DeviceAppsLauncherImpl {
};

bool StopLaunchingAppsOnDevice(const std::string& device_mac);
void StopLaunchingAppsOnAllDevices();

private:
sync_primitives::Lock launchers_lock_;
Expand All @@ -60,6 +61,7 @@ class DeviceAppsLauncher {
const std::string& device_mac,
const std::vector<ApplicationDataPtr>& applications_to_launch);
bool StopLaunchingAppsOnDevice(const std::string& device_mac);
void StopLaunchingAppsOnAllDevices();

const AppLaunchSettings& settings() const;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,14 +113,15 @@ class InitialApplicationData {
public:
virtual ~InitialApplicationData() {}

virtual const smart_objects::SmartObject* app_types() const = 0;
virtual const smart_objects::SmartObject* vr_synonyms() const = 0;
virtual const smart_objects::SmartObjectSPtr app_types() const = 0;
virtual const smart_objects::SmartObjectSPtr vr_synonyms() const = 0;
virtual const std::string& mac_address() const = 0;
virtual const std::string& bundle_id() const = 0;
virtual void set_bundle_id(const std::string& bundle_id) = 0;
virtual std::string policy_app_id() const = 0;
virtual const smart_objects::SmartObject* tts_name() const = 0;
virtual const smart_objects::SmartObject* ngn_media_screen_name() const = 0;
virtual const smart_objects::SmartObjectSPtr tts_name() const = 0;
virtual const smart_objects::SmartObjectSPtr ngn_media_screen_name()
const = 0;
virtual const mobile_api::Language::eType& language() const = 0;
virtual const mobile_api::Language::eType& ui_language() const = 0;
virtual const utils::SemanticVersion& msg_version() const = 0;
Expand Down Expand Up @@ -195,18 +196,18 @@ typedef std::vector<smart_objects::SmartObjectSPtr> MobileMessageQueue;
class DynamicApplicationData {
public:
virtual ~DynamicApplicationData() {}
virtual const smart_objects::SmartObject* help_prompt() const = 0;
virtual const smart_objects::SmartObject* timeout_prompt() const = 0;
virtual const smart_objects::SmartObject* vr_help_title() const = 0;
virtual const smart_objects::SmartObject* vr_help() const = 0;
virtual const smart_objects::SmartObjectSPtr help_prompt() const = 0;
virtual const smart_objects::SmartObjectSPtr timeout_prompt() const = 0;
virtual const smart_objects::SmartObjectSPtr vr_help_title() const = 0;
virtual const smart_objects::SmartObjectSPtr vr_help() const = 0;
virtual const mobile_api::TBTState::eType& tbt_state() const = 0;
virtual const smart_objects::SmartObject* show_command() const = 0;
virtual const smart_objects::SmartObject* tbt_show_command() const = 0;
virtual const smart_objects::SmartObjectSPtr show_command() const = 0;
virtual const smart_objects::SmartObjectSPtr tbt_show_command() const = 0;
virtual DataAccessor<ButtonSubscriptions> SubscribedButtons() const = 0;
virtual const smart_objects::SmartObject* keyboard_props() const = 0;
virtual const smart_objects::SmartObject* menu_title() const = 0;
virtual const smart_objects::SmartObject* menu_icon() const = 0;
virtual const smart_objects::SmartObject* menu_layout() const = 0;
virtual const smart_objects::SmartObjectSPtr keyboard_props() const = 0;
virtual const smart_objects::SmartObjectSPtr menu_title() const = 0;
virtual const smart_objects::SmartObjectSPtr menu_icon() const = 0;
virtual const smart_objects::SmartObjectSPtr menu_layout() const = 0;
virtual smart_objects::SmartObject day_color_scheme() const = 0;
virtual smart_objects::SmartObject night_color_scheme() const = 0;
virtual std::string display_layout() const = 0;
Expand Down Expand Up @@ -520,6 +521,25 @@ class DynamicApplicationData {
* @return TRUE if perform interaction active, otherwise FALSE
*/
virtual bool is_reset_global_properties_active() const = 0;

/**
* @brief Set allowed mode for specified choice_set_id.
* @param choice_set_id Choice set id.
* @param is_allowed TRUE if the choice set has to be allowed to perform,
* otherwise FALSE.
* Allow mode means that the choice_set is not fully processed or not fully
* deleted (in both cases request is being processed on HMI side, and HMI
* hasn't sent response with result yet)
*/
virtual void set_choice_set_allow_mode(const uint32_t choice_set_id,
const bool is_allowed) = 0;

/**
* @brief Check if choice set allowed.
* @param choice_set_id Choice set id.
* @return TRUE if the choice set is allowed to perform, otherwise FALSE.
*/
virtual bool is_choice_set_allowed(const uint32_t choice_set_id) const = 0;
};

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

/**
* @brief returns current hash value
Expand Down Expand Up @@ -596,7 +618,8 @@ class Application : public virtual InitialApplicationData,
*/
virtual void set_app_data_resumption_allowance(const bool allowed) = 0;

virtual void CloseActiveMessage() = 0;
// Deprecated, has no effect
DEPRECATED virtual void CloseActiveMessage() = 0;
virtual bool IsFullscreen() const = 0;
virtual void ChangeSupportingAppHMIType() = 0;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ class InitialApplicationDataImpl : public virtual Application {
InitialApplicationDataImpl();
~InitialApplicationDataImpl();

const smart_objects::SmartObject* app_types() const;
const smart_objects::SmartObject* vr_synonyms() const;
const smart_objects::SmartObjectSPtr app_types() const;
const smart_objects::SmartObjectSPtr vr_synonyms() const;
virtual std::string policy_app_id() const;
const smart_objects::SmartObject* tts_name() const;
const smart_objects::SmartObject* ngn_media_screen_name() const;
const smart_objects::SmartObjectSPtr tts_name() const;
const smart_objects::SmartObjectSPtr ngn_media_screen_name() const;
const mobile_api::Language::eType& language() const;
const mobile_api::Language::eType& ui_language() const;
const utils::SemanticVersion& msg_version() const;
Expand All @@ -73,11 +73,11 @@ class InitialApplicationDataImpl : public virtual Application {
mobile_api::LayoutMode::eType perform_interaction_layout() const OVERRIDE;

protected:
smart_objects::SmartObject* app_types_;
smart_objects::SmartObject* vr_synonyms_;
smart_objects::SmartObjectSPtr app_types_;
smart_objects::SmartObjectSPtr vr_synonyms_;
std::string mobile_app_id_;
smart_objects::SmartObject* tts_name_;
smart_objects::SmartObject* ngn_media_screen_name_;
smart_objects::SmartObjectSPtr tts_name_;
smart_objects::SmartObjectSPtr ngn_media_screen_name_;
mobile_api::Language::eType language_;
mobile_api::Language::eType ui_language_;
mobile_apis::LayoutMode::eType perform_interaction_layout_;
Expand All @@ -92,17 +92,17 @@ class DynamicApplicationDataImpl : public virtual Application {
typedef std::map<WindowID, smart_objects::SmartObject> AppWindowsTemplates;
DynamicApplicationDataImpl();
~DynamicApplicationDataImpl();
const smart_objects::SmartObject* help_prompt() const;
const smart_objects::SmartObject* timeout_prompt() const;
const smart_objects::SmartObject* vr_help_title() const;
const smart_objects::SmartObject* vr_help() const;
const smart_objects::SmartObjectSPtr help_prompt() const;
const smart_objects::SmartObjectSPtr timeout_prompt() const;
const smart_objects::SmartObjectSPtr vr_help_title() const;
const smart_objects::SmartObjectSPtr vr_help() const;
const mobile_api::TBTState::eType& tbt_state() const;
const smart_objects::SmartObject* show_command() const;
const smart_objects::SmartObject* tbt_show_command() const;
const smart_objects::SmartObject* keyboard_props() const;
const smart_objects::SmartObject* menu_title() const;
const smart_objects::SmartObject* menu_icon() const;
const smart_objects::SmartObject* menu_layout() const;
const smart_objects::SmartObjectSPtr show_command() const;
const smart_objects::SmartObjectSPtr tbt_show_command() const;
const smart_objects::SmartObjectSPtr keyboard_props() const;
const smart_objects::SmartObjectSPtr menu_title() const;
const smart_objects::SmartObjectSPtr menu_icon() const;
const smart_objects::SmartObjectSPtr menu_layout() const;

smart_objects::SmartObject day_color_scheme() const OVERRIDE;
smart_objects::SmartObject night_color_scheme() const OVERRIDE;
Expand Down Expand Up @@ -315,18 +315,23 @@ class DynamicApplicationDataImpl : public virtual Application {
*/
inline bool is_reset_global_properties_active() const;

void set_choice_set_allow_mode(const uint32_t choice_set_id,
const bool is_allowed);

bool is_choice_set_allowed(const uint32_t choice_set_id) const;

protected:
smart_objects::SmartObject* help_prompt_;
smart_objects::SmartObject* timeout_prompt_;
smart_objects::SmartObject* vr_help_title_;
smart_objects::SmartObject* vr_help_;
smart_objects::SmartObjectSPtr help_prompt_;
smart_objects::SmartObjectSPtr timeout_prompt_;
smart_objects::SmartObjectSPtr vr_help_title_;
smart_objects::SmartObjectSPtr vr_help_;
mobile_api::TBTState::eType tbt_state_;
smart_objects::SmartObject* show_command_;
smart_objects::SmartObject* keyboard_props_;
smart_objects::SmartObject* menu_title_;
smart_objects::SmartObject* menu_icon_;
smart_objects::SmartObject* menu_layout_;
smart_objects::SmartObject* tbt_show_command_;
smart_objects::SmartObjectSPtr show_command_;
smart_objects::SmartObjectSPtr keyboard_props_;
smart_objects::SmartObjectSPtr menu_title_;
smart_objects::SmartObjectSPtr menu_icon_;
smart_objects::SmartObjectSPtr menu_layout_;
smart_objects::SmartObjectSPtr tbt_show_command_;
smart_objects::SmartObjectSPtr display_capabilities_;
AppWindowsTemplates window_templates_;

Expand All @@ -346,6 +351,8 @@ class DynamicApplicationDataImpl : public virtual Application {
uint32_t is_perform_interaction_active_;
bool is_reset_global_properties_active_;
int32_t perform_interaction_mode_;
mutable sync_primitives::Lock allowed_choice_sets_lock_;
std::set<uint32_t> allowed_choice_sets_;
DisplayCapabilitiesBuilder display_capabilities_builder_;

private:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -577,8 +577,8 @@ class ApplicationImpl : public virtual Application,
bool audio_streaming_allowed_;
bool video_streaming_suspended_;
bool audio_streaming_suspended_;
sync_primitives::Lock video_streaming_suspended_lock_;
sync_primitives::Lock audio_streaming_suspended_lock_;
bool video_streaming_stopped_;
bool audio_streaming_stopped_;
sync_primitives::Lock streaming_stop_lock_;

bool is_app_allowed_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,8 @@ class ApplicationManagerImpl
uint32_t hmi_app_id) const OVERRIDE;
ApplicationSharedPtr application_by_policy_id(
const std::string& policy_app_id) const OVERRIDE;
ApplicationSharedPtr pending_application_by_hmi_app(
uint32_t hmi_app_id) const OVERRIDE;
ApplicationSharedPtr pending_application_by_policy_id(
const std::string& policy_app_id) const OVERRIDE;
ApplicationSharedPtr reregister_application_by_policy_id(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,6 @@ class EventDispatcher {
int32_t hmi_correlation_id,
EventObserver& observer) = 0;

/*
* @brief Unsubscribes the observer from specific event
*
* @param event_id The event ID to subscribe for
* @param hmi_correlation_id The event HMI correlation ID
*/
virtual void remove_observer(const Event::EventID& event_id,
const int32_t hmi_correlation_id) = 0;

/*
* @brief Unsubscribes the observer from specific event
*
Expand Down
Loading

0 comments on commit 65947fd

Please sign in to comment.