smartdevicelink / manticore Goto Github PK
View Code? Open in Web Editor NEWDynamically provision SDL Core and SDL HMI instances in the cloud
License: BSD 3-Clause "New" or "Revised" License
Dynamically provision SDL Core and SDL HMI instances in the cloud
License: BSD 3-Clause "New" or "Revised" License
Proposal: New vehicle data StabilityControlsStatus
This proposal is to add new vehicle data
StabilityControlsStatus
to know if stability controls like ESC, Traction Control etc. are active.
Proposal: Read Generic Network Signal Data
This proposal is to make vehicle data APIs (GetVehicleData/SubscribeVehicleData/UnsubscribeVehicleData/OnVehicleData) more flexible to allow additional new vehicle data items, while maintaining the security access via policies.
Review: smartdevicelink/sdl_evolution#502
Steering Committee Decision:
The Steering Committee voted to accept this proposal with revisions. The author is to add a statement explaining how old core implementations using this method can be updated to expose new standardized vehicle data items. Additionally, the author is to add the three revisions noted in this comment.
The proposal .md was updated on March 11, 2019 to include the agreed upon revisions.
Manticore should support DD Notifications (DD_On and DD_Off). This is a major point of testing needed for all applications that use the SDL library.
The current process is difficult to follow, passes around objects in multiple files with modifications, and is difficult to see whether all error cases have been covered (such as handling failed job submissions).
The code should be easier to read and less error-prone, preferably using the async/await syntax.
Manticore's menu does not have a back button. This means that the user is forced to select a menu item in order to exit the menu. This is an issue because I often accidentally open the menu and I just want to close it. In addition, if the menu is empty, there is no way to exit the menu.
Manticore Version: 1.2.0
Web Browser: Chrome v. 65.0.3325.181
On the Manticore page on the developer portal the iOS example app link is currently linking to:
https://github.com/smartdevicelink/hello_sdl_ios -which is broken.
It is expected to link to:
https://github.com/smartdevicelink/sdl_ios/tree/master/SmartDeviceLink_Example
Add the ability to get and set remote control vehicle data from the Manticore UI on the developer portal.
Proposal: Template Titles
Templates should have the capability to have a title to help orient the user in the UI.
Review: smartdevicelink/sdl_evolution#542
Steering Committee Decision:
The Steering Committee voted to accept this proposal with revisions. The revisions will include adding the parameter to the
Show
RPC and also renaming the parameter to something more specific, such asTemplateTitle
.
The proposal .md file was updated to reflect these revisions on 7/18/18.
Proposal: Adding GPS Shift support
To add shifted param for GPS data struct so that HMI can communicate to app when GPS data is shifted using an algorithm
Review: smartdevicelink/sdl_evolution#598
Steering Committee Decision:
The Steering Committee fully agreed to accept this proposal on 2018-09-25.
Proposal: New vehicle data HandsOffSteering
This proposal is to add new vehicle data
HandsOffSteering
to know whether or not a driver has his or her hands on the steering wheel.
A field in the Manticore UI for changing the url of where updated policy tables are will allow a developer to use something like the open source policy server to test their policies with applications connected over Manticore.
The VR tab for the Manticore UI doesn't allow scrolling through the AddCommand buttons if there are too many.
Connect an app through Manticore, and try sending a bunch of VR AddCommands. Shrink the browser window so that not all the commands are visible.
Scrolling is enabled.
Scrolling is disabled.
Proposal: Remote Control - Allow Multiple Modules per Module Type
SDL remote control baseline proposal SDL-0071 groups available controllable items of the same category into a RC module type. SDL defines six module types:
RADIO
,CLIMATE
,AUDIO
,LIGHT
,HMI_SETTINGS
andSEAT
. SDL allows only one module per module type so far. However, there are production needs to support multiple modules of the same module type. For example, some vehicles in the market are equipped with "dual-zone" climate control systems. There are also "tri-zone" or even "quad-zone" climate control in the existing vehicles. Some vehicles in the market have seat control for several seats (driver's seat, front passenger's seat for example). Some vehicles have both a default entertainment system and a back seat entertainment system. There are car headrest monitors, seat back monitors, car roof mount monitors and flip down screens. Passengers can use a back seat entertainment system to play video, audio or even games.
Review: smartdevicelink/sdl_evolution#700
Steering Committee Decision:
The Steering Committee voted to accept this proposal with the following revisions:
userLocation
should be DRIVER to ensure backwards compatibilityuserLocation
parameter to SetGlobalProperties
RPC instead of including userLocation
as a parameter in each Remote Control request, such as GetInteriorVehicleDataConsent
, SetInteriorVehicleData`, etc.The proposal .md file was updated to reflect these revisions on 5/21/19.
Proposal: Alert icon
This proposal is about adding the RPC
alert
to include an icon.
Proposal: Open Menu RPC
This proposal is about providing the capability to open the built-in app-menu which is provided by the native UI.
Review: smartdevicelink/sdl_evolution#352
Steering Committee Decision:
The Steering Committee voted to accept this proposal, with the revision outlined in kshala-ford's last comment. There was also discussion about allowing an RPC to close the menu, but it was determined that this proposal works to address when there isn't a system button on the screen, and there would always be a system button giving the user the option to close.
The proposal .md was updated on December 4, 2017 to include the agreed upon revisions.
The UI does not respond to ButtonPress, which should be causing changes in the RC data similar to how the UI RC buttons work.
Proposal: Template Improvements: Additional SubMenus
Currently, SDL is by far the most restrictive among its competitors for drilling down into menus. It only allows the top menu and one submenu (additional submenus can be "faked" using Choice Sets). CarPlay, for example, allows at least 3 levels of drilling, this was the most I could find in the apps I use (in addition to tabs at the top, which is a kind-of 4th level). CarPlay allows as much drilling as desired by the user in the car, but prevents scrolling while moving. For future updates, we should allow further menu depth. For driver distraction reasons, a later proposal will allow restriction of menu depth while driving to replicate current restrictions if desired.
Review: smartdevicelink/sdl_evolution#423
Steering Committee Decision:
The Steering Committee has voted to accept this proposal with the following revisions: update proposal to only include details regarding "Allowing Submenu's with parentID's that refer another Submenu." A separate proposal will be entered to discuss "Allowing Core to define driver distraction parameters for HMI."
When discussing submenus, a few additional points were made:
Right now, this is only considered for submenus, but driver distraction guidelines could be extended to include choice sets for interactions as well (including list length)
Proposal outlines the same behavior as is currently in place for submenus, but extends to allow a submenu to have a submenu
The proposal .md was updated on March 22, 2018 to include the agreed upon revisions.
For the Manticore UI, send OnInterior RPCs in addition to the button event RPCs.
Proposal: Cancel Interaction RPC
Add the ability to allow interaction alerts to be canceled.
Sending RPC batches over Manticore causes an unexpected issue where only some of the RPCs are successful.
Connect an app through Manticore, and try sending 20 CreateInteractionChoiceSet RPCs concurrently.
All CICS's are successful.
Only the first four CICS's are successful, and the rest fail (GENERIC_ERROR)
Proposal: Remote Control - Radio and Climate Parameter Update
This proposal changes the minimum index of HD radio sub-channels from 1 to 0.
In addition, we propose to add a new parameter climateEnable to ClimateControlData which will allow an application to power climate control on or off.
smartdevicelink/sdl_evolution#643
Steering Committee Decision:
The Steering Committee voted to accept this proposal with revisions. The author is to update this proposal to state that
availableHDs
andavailableHdsAvailable
are deprecated entirely if the functionality is subsumed byavailableHDChannels
as finalized in this comment.
Revisions were made on 2019-01-02
Proposal: Subtle Alert Style
This feature adds the
SubtleAlert
RPC, which presents a style of alert: the "subtle" alert. This is a "notification style" alert that does not take over the entire screen.
Review: smartdevicelink/sdl_evolution#777
Steering Committee Decision:
The Steering Committee voted to accept this proposal with the following revision: update to use alternate approach 1, for the reasons identified in this comment from the Project Maintainer.
The proposal .md file was updated to reflect these revisions on 7/22/19.
Proposal: Add Currently Playing Media Image to MediaServiceData
This proposal adds an image for the currently playing media item to the media app service.
Proposal: Widget support
This proposal is about widget support for SDL applications on modern infotainment systems and large displays. At the same time the proposed feature should prepare SDL for multi-window and multi-display support.
Review: smartdevicelink/sdl_evolution#664
Steering Committee Decision:
The Steering Committee voted to accept this proposal with the agreed upon revisions, described in this comment and included in PR #729.
The proposal .md file was updated to reflect these revisions on 5/20/19.
Proposal: Interior Vehicle Data Resumption
This proposal is to restore Interior data subscriptions on application registration after unexpected disconnect or ignition cycle.
Review: smartdevicelink/sdl_evolution#554
Steering Committee Decision:
The Steering Committee accepted this proposal with revisions on 8/1/2018. Revisions were made on 10/9/18.
When showing an alert on Manticore, part of the alert box extends off the screen.
On generic_hmi, it looks like the entire background is darkened, so it looks like the entire view is slightly offset on Manticore.
SDLAlert
RPCThe alert box should be centered on the screen.
The alert box extends off the screen
Add weather and navigation image support for Manticore's provider app service.
Proposal: SDL 0167 - App Services - Weather Service
Steering Committee Review: smartdevicelink/sdl_evolution#581
Proposal: AutoCompleteList
The AutoCompleteList will give apps the ability to have multiple listing options while searching for things like destination and information; instead of giving a single suggestion.
Sorry guys, I'm not sure whether here's the correct place to ask such a question though:
I'm trying connecting to manticore instances (https://smartdevicelink.com/resources/manticore/) from the SDL Android sample app (https://smartdevicelink.com/en/guides/android/getting-started-with-android/hello-sdl-android/) with tcpDebug configuration.
The connection seems to be established however the UI elements don't come out as expected:
Error logs:
19661 ERROR [05:56:38,807][HMIMessageHandler] Subscriber already exists!
19686 ERROR [05:56:38,807][HMIMessageHandler] Subscriber already exists!
19721 ERROR [05:56:38,808][HMIMessageHandler] Subscriber already exists!
19743 ERROR [05:56:38,811][HMIMessageHandler] Subscriber already exists!
19973 ERROR [05:56:39,022][HMIMessageHandler] Request with id: 21 has not been found!
20052 ERROR [05:56:39,026][HMIMessageHandler] Request with id: 23 has not been found!
20137 ERROR [05:56:39,034][HMIMessageHandler] Request with id: 25 has not been found!
20233 ERROR [05:56:39,246][RPCHandlerImpl] Incorrect parameter from HMI - RPC.msg_params.audioPassThruCapabilities.bitsPerSample: Invalid enum value: RATE_8_BIT
20345 ERROR [05:56:39,266][HMIMessageHandler] Request with id: 37 has not been found!
20375 ERROR [05:56:39,432][HMIMessageHandler] Request with id: 39 has not been found!
20486 ERROR [05:56:40,831][ApplicationManager] Navi/Projection application not found
20494 ERROR [05:56:40,832][Commands] Substitution mobile --> HMI id is failed.
20509 ERROR [05:56:40,835][ApplicationManager] Message doesn't contain parameter app_id
20578 ERROR [05:56:40,913][ConnectionHandler] Device not found!
20598 ERROR [05:56:40,914][StateControllerImpl] State has NOT been changed.
20751 ERROR [05:56:41,119][HMIMessageHandler] Request with id: 45 has not been found!
20772 ERROR [05:56:41,119][HMIMessageHandler] Request with id: 47 has not been found!
20781 ERROR [05:56:42,825][Commands] Substitution mobile --> HMI id is failed.
20797 ERROR [05:56:42,826][Policy] Policy table is not valid.
20871 ERROR [05:56:43,060][HMIMessageHandler] Request with id: 48 has not been found!
20966 DEBUG [05:56:43,273][Commands] Header added: { "HTTPRequest": {"headers": {"ContentType": "application/json","ConnectTimeout": 60,"DoOutput": true,"DoInput": true,"UseCaches": false,"RequestMethod": "POST","ReadTimeout":60,"InstanceFollowRedirects": false,"charset": "utf-8","Content-Length": 16649},"body": "{\"policy_table\":{\"app_policies\":{\"8678309\":\"default\",\"default\":{\"RequestSubType\":[],\"RequestType\":[],\"app_services\":{\"MEDIA\":{\"parameters\":[{\"function_id\":39},{\"function_id\":41},{\"function_id\":48},{\"function_id\":52},{\"function_id\":53},{\"function_id\":32786},{\"function_id\":32787}]},\"NAVIGATION\":{\"parameters\":[{\"function_id\":39},{\"function_id\":41},{\"function_id\":45},{\"function_id\":46},{\"function_id\":48},{\"function_id\":52},{\"function_id\":53},{\"function_id\":32784},{\"function_id\":32786},{\"function_id\":32787}]},\"WEATHER\":{\"parameters\":[{\"function_id\":39},{\"function_id\":41},{\"function_id\":48},{\"function_id\":52},{\"function_id\":53},{\"function_id\":32786},{\"function_id\":32787}]}},\"groups\":[\"Base-4\",\"Location-1\",\"Notifications\",\"Notifications-RC\",\"DrivingCharacteristics-3\",\"VehicleInfo-3\",\"PropriataryData-1\",\"PropriataryData-2\",\"ProprietaryData-3\",\"CloudAppStore\",\"CloudApp\",\"AppServiceProvider\",\"AppServiceConsumer\",\"RemoteControl\",\"Emergency-1\",\"Navigation-1\",\"Base-6\",\"OnKeyboardInputOnlyGroup\",\"OnTouchEventOnlyGroup\",\"DiagnosticMessageOnly\",\"DataConsent-2\",\"BaseBeforeDataConsent\",\"SendLocation\",\"WayPoints\",\"BackgroundAPT\",\"HapticGroup\"],\"memory_kb\":0,\"moduleType\":[\"CLIMATE\",\"RADIO\",\"SEAT\",\"AUDIO\",\"LIGHT\",\"HMI_SETTINGS\"],\"priority\":\"NONE\"},\"device\":{\"priority\":\"NONE\"},\"pre_DataConsent\":{\"groups\":[\"BaseBeforeDataConsent\"],\"memory_kb\":0,\"priority\":\"NONE\"}},\"consumer_friendly_messages\":{\"version\":\"001.001.021\"},\"device_data\":{\"98563ad8e76948e985420768f8d19b45b887a2d5e7650cac1d91d46755b2c022\":{},\"d92ec52974d1118683f10234b43c41a6cf9dc9bd898a77d6da91387c459e9d56\":{}},\"functional_groupings\":{\"AppServiceConsumer\":{\"rpcs\":{\"GetAppServiceData\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"GetFile\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"OnAppServiceData\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"PerformAppServiceInteraction\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]}}},\"AppServiceProvider\":{\"rpcs\":{\"GetAppServiceData\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"OnAppServiceData\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"PerformAppServiceInteraction\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"PublishAppService\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]}}},\"BackgroundAPT\":{\"rpcs\":{\"EndAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\"]},\"OnAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\"]},\"PerformAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\"]}}},\"Base-4\":{\"rpcs\":{\"AddCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"AddSubMenu\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"Alert\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"ChangeRegistration\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"CreateInteractionChoiceSet\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"DeleteInteractionChoiceSet\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteSubMenu\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"EncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"EndAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GenericResponse\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GetSystemCapability\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ListFiles\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAppInterfaceUnregistered\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnButtonEvent\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\"]},\"OnButtonPress\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\"]},\"OnCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnDriverDistraction\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnEncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHMIStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHashChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnLanguageChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnPermissionsChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSystemCapabilityUpdated\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"PerformAudioPassThru\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"PerformInteraction\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"PutFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"RegisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ResetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ScrollableMessage\":{\"hmi_levels\":[\"FULL\"]},\"SetAppIcon\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetDisplayLayout\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetMediaClockTimer\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\"]},\"Show\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"Slider\":{\"hmi_levels\":[\"FULL\"]},\"Speak\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"SubscribeButton\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnregisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnsubscribeButton\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"Base-6\":{\"rpcs\":{\"AddCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"AddSubMenu\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"Alert\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"ChangeRegistration\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"CreateInteractionChoiceSet\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"DeleteInteractionChoiceSet\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteSubMenu\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"EncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"EndAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GenericResponse\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ListFiles\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAppInterfaceUnregistered\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnButtonEvent\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"OnButtonPress\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"OnCommand\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"OnDriverDistraction\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnEncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHMIStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnLanguageChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnPermissionsChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnTBTClientState\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"PerformAudioPassThru\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"PerformInteraction\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"PutFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"RegisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ResetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ScrollableMessage\":{\"hmi_levels\":[\"FULL\"]},\"SetAppIcon\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetDisplayLayout\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SetMediaClockTimer\":{\"hmi_levels\":[\"FULL\"]},\"Show\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"Slider\":{\"hmi_levels\":[\"FULL\"]},\"Speak\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"SubscribeButton\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnregisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnsubscribeButton\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"BaseBeforeDataConsent\":{\"rpcs\":{\"ChangeRegistration\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"DeleteFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"EncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ListFiles\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAppInterfaceUnregistered\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnEncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHMIStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHashChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnLanguageChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnPermissionsChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"PutFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"RegisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ResetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetAppIcon\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetDisplayLayout\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnregisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]}}},\"CloudApp\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"cloudAppVehicleID\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"cloudAppVehicleID\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"cloudAppVehicleID\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"cloudAppVehicleID\"]}}},\"CloudAppStore\":{\"rpcs\":{\"GetCloudAppProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SetCloudAppProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"DataConsent-2\":{\"rpcs\":null,\"user_consent_prompt\":\"DataConsent\"},\"DiagnosticMessageOnly\":{\"rpcs\":{\"DiagnosticMessage\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"DrivingCharacteristics-3\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"accPedalPosition\",\"beltStatus\",\"electronicParkBrakeStatus\",\"driverBraking\",\"myKey\",\"prndl\",\"rpm\",\"steeringWheelAngle\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"accPedalPosition\",\"beltStatus\",\"electronicParkBrakeStatus\",\"driverBraking\",\"myKey\",\"prndl\",\"rpm\",\"steeringWheelAngle\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"accPedalPosition\",\"beltStatus\",\"electronicParkBrakeStatus\",\"driverBraking\",\"myKey\",\"prndl\",\"rpm\",\"steeringWheelAngle\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"accPedalPosition\",\"beltStatus\",\"electronicParkBrakeStatus\",\"driverBraking\",\"myKey\",\"prndl\",\"rpm\",\"steeringWheelAngle\"]}},\"user_consent_prompt\":\"DrivingCharacteristics\"},\"Emergency-1\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"airbagStatus\",\"clusterModeStatus\",\"eCallInfo\",\"emergencyEvent\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"airbagStatus\",\"clusterModeStatus\",\"eCallInfo\",\"emergencyEvent\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"airbagStatus\",\"clusterModeStatus\",\"eCallInfo\",\"emergencyEvent\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"airbagStatus\",\"clusterModeStatus\",\"eCallInfo\",\"emergencyEvent\"]}}},\"HapticGroup\":{\"rpcs\":{\"OnTouchEvent\":{\"hmi_levels\":[\"FULL\"]},\"SendHapticData\":{\"hmi_levels\":[\"FULL\"]}}},\"Location-1\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"gps\",\"speed\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"gps\",\"speed\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"gps\",\"speed\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"gps\",\"speed\"]}},\"user_consent_prompt\":\"Location\"},\"Navigation-1\":{\"rpcs\":{\"AlertManeuver\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ShowConstantTBT\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"UpdateTurnList\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"Notifications\":{\"rpcs\":{\"Alert\":{\"hmi_levels\":[\"BACKGROUND\"]}},\"user_consent_prompt\":\"Notifications\"},\"Notifications-RC\":{\"rpcs\":{\"OnHMIStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnPermissionsChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]}}},\"OnKeyboardInputOnlyGroup\":{\"rpcs\":{\"OnKeyboardInput\":{\"hmi_levels\":[\"FULL\"]}}},\"OnTouchEventOnlyGroup\":{\"rpcs\":{\"OnTouchEvent\":{\"hmi_levels\":[\"FULL\"]}}},\"PropriataryData-1\":{\"rpcs\":{\"DiagnosticMessage\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GetDTCs\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ReadDID\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"PropriataryData-2\":{\"rpcs\":{\"DiagnosticMessage\":{,\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GetDTCs\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ReadDID\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"ProprietaryData-3\":{\"rpcs\":{\"GetDTCs\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ReadDID\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"RemoteControl\":{\"rpcs\":{\"ButtonPress\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GetInteriorVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnInteriorVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnRCStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetInteriorVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]}}},\"SendLocation\":{\"rpcs\":{\"SendLocation\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"VehicleInfo-3\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"bodyInformation\",\"deviceStatus\",\"engineOilLife\",\"engineTorque\",\"externalTemperature\",\"turnSignal\",\"fuelLevel\",\"fuelLevel_State\",\"headLampStatus\",\"instantFuelConsumption\",\"fuelRange\",\"cloudAppVehicleID\",\"odometer\",\"tirePressure\",\"vin\",\"wiperStatus\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"bodyInformation\",\"deviceStatus\",\"engineOilLife\",\"engineTorque\",\"externalTemperature\",\"turnSignal\",\"fuelLevel\",\"fuelLevel_State\",\"headLampStatus\",\"instantFuelConsumption\",\"fuelRange\",\"cloudAppVehicleID\",\"odometer\",\"tirePressure\",\"vin\",\"wiperStatus\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"bodyInformation\",\"deviceStatus\",\"engineOilLife\",\"engineTorque\",\"externalTemperature\",\"turnSignal\",\"fuelLevel\",\"fuelLevel_State\",\"headLampStatus\",\"instantFuelConsumption\",\"fuelRange\",\"cloudAppVehicleID\",\"odometer\",\"tirePressure\",\"wiperStatus\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"bodyInformation\",\"deviceStatus\",\"engineOilLife\",\"engineTorque\",\"externalTemperature\",\"turnSignal\",\"fuelLevel\",\"fuelLevel_State\",\"headLampStatus\",\"instantFuelConsumption\",\"fuelRange\",\"cloudAppVehicleID\",\"odometer\",\"tirePressure\",\"wiperStatus\"]}},\"user_consent_prompt\":\"VehicleInfo\"},\"WayPoints\":{\"rpcs\":{\"GetWayPoints\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnWayPointChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SubscribeWayPoints\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"UnsubscribeWayPoints\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}}},\"module_config\":{\"endpoints\":{\"0x04\":{\"default\":[\"http://x.x.x.x:3000/api/1/softwareUpdate\"]},\"0x07\":{\"default\":[\"http://x.x.x.x:3000/api/1/policies/proprietary\"]},\"lock_screen_icon_url\":{\"default\":[\"http://i.imgur.com/TgkvOIZ.png\"]},\"queryAppsUrl\":{\"default\":[\"http://sdl.shaid.server\"]}},\"exchange_after_x_days\":30,\"exchange_after_x_ignition_cycles\":100,\"exchange_after_x_kilometers\":1800,\"full_app_id_supported\":true,\"notifications_per_minute_by_priority\":{\"COMMUNICATION\":6,\"EMERGENCY\":60,\"NAVIGATION\":15,\"NONE\":0,\"NORMAL\":4,\"PROJECTION\":15,\"VOICECOM\":20},\"preloaded_pt\":false,\"seconds_between_retries\":[1,5,25,125,625],\"timeout_after_x_seconds\":60},\"module_meta\":{\"ignition_cycles_since_last_exchange\":0,\"pt_exchanged_at_odometer_x\":0,\"pt_exchanged_x_days_after_epoch\":0},\"usage_and_error_counts\":{\"app_level\":{\"8678309\":{\"count_of_TLS_errors\":0}}}}}"}}
21032 ERROR [05:57:01,161][ApplicationManager] Navi/Projection application not found
And after clicked the icon:
21055 ERROR [05:57:42,650][ApplicationManager] Unknown unregister reason -1
21119 ERROR [05:57:42,836][Policy] Policy table is not valid.
21193 ERROR [05:57:43,016][HMIMessageHandler] Request with id: 50 has not been found!
21221 ERROR [05:57:43,057][Commands] There are no available applications for processing.
Does anyone have ideas?
Proposal: New vehicle data SeatOccupancy
This proposal is to add new vehicle data
SeatOccupancy
to know if a vehicle seat is occupied and belted.
Review: smartdevicelink/sdl_evolution#870
Steering Committee Decision:
The Steering Committee voted to accept this proposal with the following revision: update
SeatOccupancy
parameter description to "Seat status array containing the location and whether the seats are belted."
The proposal .md file was updated to reflect these revisions on 12/4/19.
If you send a PerformInteraction RPC with a VR_ONLY interaction mode, clicking on the choice in the Manticore UI triggers an OnCommand instead of a PerformInteraction
Actual: Copyright (c) 2014, Livio, a wholly owned subsidiary of Ford Motor Company All rights reserved...Neither the name of Livio, a wholly owned subsidiary of Ford Motor Company nor the names
Expected: Copyright (c) 2017 SmartDeviceLink Consortium, Inc. ... Neither the name of SmartDeviceLink Consortium, Inc. nor the names...
It would be helpful if the console on manticore had a "filter" input box. If in other words if you have a console log:
Some log
Another log
My log
Your log
A dog
filtering on "log" would leave:
Some log
Another log
My log
Your log
filtering on "dog" would leave:
A dog
By using the aws-sdk npm module, the Manticore API machine can publish logs to CloudWatch logs so that they can be viewed without needing to retrieve them from the machine itself.
For the template LargeGraphicWithSoftButtons
, if sending more than 4 soft buttons in a show request, a SUCCESS
response for the show request is returned, but no buttons show up on the screen.
MEDIA
, so the default template is MEDIA
.LargeGraphicWithSoftButtons
. The show request will send 8 soft buttons.The first 4 soft buttons sent in the show request will show up in the LargeGraphicWithSoftButtons
template. The rest of the soft buttons will be ignored.
No soft buttons are shown in the LargeGraphicWithSoftButtons
template.
The SDL Example app is included with the SDL_iOSlibrary
For the emergency event, all properties of the object must be returned from the UI, or else a parsing error occurs with core.
Proposal: SDL Passenger Mode
Allow a passenger to dismiss the lock screen to improve usability of applications. This re-visited proposal now includes a way for individual OEMs to control this mode via policy updates.
Review: smartdevicelink/sdl_evolution#359
Steering Committee Decision:
The Steering Committee voted to accept this proposal with the following revisions:
The proposal .md was updated on April 12, 2018 to include the agreed upon revisions.
The proposal .md was updated again on June 26, 2019 to include revisions as outlined in accepted Evolution Proposal SDL 0119 Revisions - SDL-passenger-mode, which included expanding the feature to impact the Policy Server.
Proposal: Update Published App Services
Currently there is no way for an application to update the manifest of an app service or manually unpublish this service once it has been published. This proposal will detail the additions necessary to support this functionality.
Review: smartdevicelink/sdl_evolution#713
Steering Committee Decision:
The Steering Committee voted to accept this proposal with revisions. The revisions will include:
DeleteAppService
to UnpublishAppService
PublishAppService
RPC, Core will not send out any update to clients.The proposal .md file was updated to reflect these revisions on 5/9/19.
Proposal: Add Tiles as an Option for Main Menus
In addition to a list of menu items, we should allow the developers the option to use a tiled layout for their menu.
Review: smartdevicelink/sdl_evolution#731
Steering Committee Decision:
The Steering Committee voted to accept this proposal with the following revision: clarify that if this proposal is implemented after SDL 0216 - Widget support, the
menuLayouts
parameter will be contained within theWindowCapability
struct instead of theDisplayCapabilities
struct.
The proposal .md file was updated to reflect these revisions on 5/23/19.
Proposal: CloseApplication RPC
This proposal is about adding a new RPC called
CloseApplication
which can be used by an app to send itself intoHMI_NONE
.
Proposal: Pixel density and Scale
This proposal is about adding parameters to
VideoStreamingCapabilities
for pixel density and scale.
Symptoms found while testing:
The rate of failure seems to rely only on startup between manticore and core. so, there's a small chance (~20%) that when an instance is received, it will REJECT when an app connects and sends a setinterior. the failure rate doesn't seem to depend on what or how many setinteriors the app sends.
error messages: "User location is not valid", "Resource acquisition is not allowed according to location verification."
Im only able to reproduce the issue, and I was using the java suite app. I asked someone else to try and reproduce it and the error didn't happen.
the error happens when Im not sending in any specific module id. not sure whether sending a specific module id would cause the error to happen also
disconnecting the app and reconnecting the app will cause the setinterior RPCs to succeed
when it does succeed, it will not fail again (unless I got lucky)
I tried removing the seat capabilities in the RC capabilities response from the manticore UI and so far I haven't gotten any errors regarding setting RC data
being reasonably sure about a behavior meant attempting the process up to 14 times (using 95% certainty and assumed a 20% failure rate)
when the error does show up:
it will continue to error on successive setinteriors until the app disconnects and reconnects, then tries again
the RC resource is free
RC button presses dont work either. RC button presses via the UI will still work, but sending a ButtonPress RPC through the app results in REJECTED
for button presses being REJECTED, the same reason for failure happens as sending SetInteriors
When a phone tries to subscribe to RC buttons, UNSUPPORTED_RESOURCE is returned when it should be returning SUCCESS.
Proposal: Keyboard Enhancements
This proposal is about adding a new keyboard layout and adding new properties for keyboards supported by SDL. The following keyboard enhancements are discussed in this proposal.
Enhancement #1: Support for Numeric Keyboard.
Enhancement #2: Allow apps to mask entered characters.
Enhancement #3: Allow apps to change special characters shown on the keyboard layout.
Review: smartdevicelink/sdl_evolution#754
Steering Committee Decision:
The Steering Committee voted to accept this proposal with the revisions outlined in this comment from the author. The project maintainer also agreed to the author's point regarding
INVALID_DATA
(12).
The proposal .md file was updated to reflect these revisions on 7/22/19.
License file should be updated to "Copyright (c) 2017 - 2018 SmartDeviceLink Consortium, Inc."
DeleteCommand
is sent, the corresponding voice command in the VR menu of Manticore should be removed from the list. Currently nothing happens when the DeleteCommand
was sent successfully.Manticore Version: 1.2.0
SDL Core Version: 4.4.1
Web Browser: Chrome v. 65.0.3325.181
When reconnecting to Manticore via the same socket after killing and restarting the app, the template is set to whatever was the last template in the previous session instead of the default template for the app type.
Also, attempting to change the template closes the Manticore app. The app icon then needs to be selected to reopen the app (the template is usually set correctly). I have to power off Manticore and get a new socket before templates start working again.
MEDIA
, so the default template is MEDIA
.LargeGraphicWithSoftButtons
(or any other supported template on Manticore)The template should be set to MEDIA on reconnect. Templates should be changed successfully.
The template should be set to MEDIA on reconnect. Instead it is set to LargeGraphicWithSoftButtons
. Changing the template closes the app on Manticore.
The SDL Example app is included with the SDL_iOSlibrary
Proposal: SDL 0207 - RPC message protection
This proposal proposes a design to protect (enable encryption for) RPC messages transmitted between a mobile application and the SDL.
smartdevicelink/sdl_evolution#634
Steering Committee Decision:
The Steering Committee voted to accept this proposal with revisions. The revisions will include adding a flag in the policy table per app that describes if they are required to comply with the encryption or not as noted in this comment.
There was additional discussion in regards to whether or not this encryption will be used in core from the policy table, essentially authentication and validation or if this flag needs to be passed from core into the proxies. It was determined that it is almost inferred by the proxies if they get an on-permission change with the new RPCs that are delegating they need to be encrypted and the app itself would need encryption, so core should send the on-permission changes to an app in regards to the RPC encryptions unless that app requires an encryption.
Revisions were made on 2.19.19
Proposal: Navigation Subscription Buttons
This proposal adds support for new subscription buttons (like the existing Play/Pause, Next, Previous, etc.) specifically designed for navigation scenarios.
Review: smartdevicelink/sdl_evolution#712
Steering Committee Decision:
The Steering Committee voted to accept this proposal with the following revisions:
Additionally, there was a question in the Steering Committee meeting about requiring applications to be compatible with this proposal. It was advised that this requirement is out of the scope of SDL, and OEMs would need to ask application developers to implement this proposal once it's available in the library for developers to implement.
The proposal .md file was updated to reflect these revisions on 5/20/19.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.