smartdevicelink / sdl_hmi

BSD 3-Clause "New" or "Revised" License
14 stars 43 forks source link

HMI does not send "buttonCapabilities","imageFields","textFields" parameters as part of BC.OnSystemCapabilityUpdated notification from HMI during WEB_VIEW template change #678

Open VjKlepikov opened 2 years ago

VjKlepikov commented 2 years ago

HMI does not send "buttonCapabilities","imageFields","textFields" parameters as part of BC.OnSystemCapabilityUpdated notification from HMI during WEB_VIEW template change

Precondition:

  1. Core is built with DWEBSOCKET_SERVER_TRANSPORT_SUPPORT set to `true

  2. SmartDeviceLink.ini file is modified: ;WSServerCertificatePath = server-cert.pem ;WSServerKeyPath = server-key.pem ;WSServerCACertificatePath = ca-cert.pemare commented out

  3. Update preloaded_pt.json: Add to "app_policies" {"hello-webengine4": { "AppHMIType": [ "WEB_VIEW" ], "keep_context": false, "steal_focus": false, "priority": "NONE", "default_hmi": "NONE", "groups": ["Base-4", "WidgetSupport"], "hybrid_app_preference": "CLOUD", "enabled": false, "transport_type ": "WS"}

  4. SDL and HMI are started

  5. In HMI folder, run ./deploy_server.sh as a back-end process

  6. On HMI → Apps →Apps Store → Set Apps Properties → Available applications → Hello WebEngine4 – Set ( Alternative steps manually: On HMI, go to apps->App Store→Set App Properties ) Add properties for hello-webengine4 app: { "nicknames": [ "Hello WebEngine4" ], "policyAppID": "hello-webengine4", "enabled": true, "transportType": "ws", "hybridAppPreference": "BOTH" }

  7. Click Set and make sure that app showed in the apps list ( On HMI → Apps →Apps Store → Set Apps Properties → Set )

HMI → SDL: SetAppProperties ( properties: { nicknames: { "Hello WebEngine4" } , policyAppID:"hello-webengine4", enabled: true, transportType:"ws", hybridAppPreference: "BOTH" } SDL → HMI : SetAppProperties ( { success:true, resultCode: "SUCCESS" } )) SDL → HMI: UpdateAppList: (... {"applications":["appName":"Hello WebEngine4"... ] ... ) HMI → SDL : UpdateAppList response { SUCCESS }

The Web app is visible in the main window on the HMI

  1. Build SDL.min.js for WebEngine App HMI type WEB_VIEW Perform all steps from https://adc.luxoft.com/jira/browse/FORDTCN-7453 Copy the content of folder sdl_javascript_suite/examples/webengine/hello-sdl from https://github.com/smartdevicelink/sdl_javascript_suite to the folder sdl_hmi/web_engine/hello-webengine4 Update manifest.js file with content hello-webengine3 -> hello-webengine4

  2. Activate a Web app (WEB_VIEW) on the HMI

WebApp sends Show request with "templateConfiguration":{"template":"NON-MEDIA"}

Steps to reproduce: Change Template to "WEB_VIEW" Go to -> Options -> Return to WEB_VIEW App sends "Show" request for the main window with "templateConfiguration" ( "template":"WEB_VIEW" )

Expected result: HMI sends "buttonCapabilities","imageFields","textFields" parameters as part of BC.OnSystemCapabilityUpdated notification from HMI

Actual result: HMI does not send "buttonCapabilities","imageFields","textFields" parameters as part of BC.OnSystemCapabilityUpdated notification from HMI during WEB_VIEW template change

"BasicCommunication.OnSystemCapabilityUpdated","params":{"appID":2115972977,"systemCapability":{"systemCapabilityType":"DISPLAYS","displayCapabilities":[{"displayName":"SDL_HMI","windowCapabilities":[{"imageTypeSupported":["DYNAMIC","STATIC"],"templatesAvailable":["MEDIA","NON-MEDIA","NAV_FULLSCREEN_MAP","WEB_VIEW"]}],"windowTypeSupported":[{"type":"MAIN","maximumNumberOfWindows":1},{"type":"WIDGET","maximumNumberOfWindows":16}]}]}}

SDL_HMI_log: Logs.zip

OS & Version Information: OS/Version: Ubuntu 18.04 SDL Core Version: https://github.com/smartdevicelink/sdl_core/tree/release/8.1.0 (6b423eb ) HMI: https://github.com/smartdevicelink/sdl_hmi/tree/release/5.7.0 (31eed2d) , release/5.6.0 WebApp: https://github.com/smartdevicelink/sdl_javascript_suite/tree/develop (f541e2f)