Skip to content

Commit ba261a2

Browse files
authored
Merge pull request #130 from smartdevicelink/develop
Release 5.0.0
2 parents 9ba7a5f + f9a17cd commit ba261a2

File tree

58 files changed

+1208
-391
lines changed

Some content is hidden

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

58 files changed

+1208
-391
lines changed

config.json

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@
2626
{
2727
"name": "MixingAudioSupported"
2828
},
29-
{
30-
"name": "AllowDeviceToConnect"
31-
},
3229
{
3330
"name": "SystemRequest"
3431
},
@@ -62,15 +59,15 @@
6259
{
6360
"name": "OnAwakeSDL"
6461
},
65-
{
66-
"name": "OnEmergencyEvent"
67-
},
6862
{
6963
"name": "OnExitAllApplications"
7064
},
7165
{
7266
"name": "OnExitApplication"
7367
},
68+
{
69+
"name": "OnEventChanged"
70+
},
7471
{
7572
"name": "OnFileRemoved"
7673
},
@@ -80,9 +77,6 @@
8077
{
8178
"name": "OnIgnitionCycleOver"
8279
},
83-
{
84-
"name": "OnPhoneCall"
85-
},
8680
{
8781
"name": "OnPutFile"
8882
},
@@ -109,6 +103,12 @@
109103
},
110104
{
111105
"name": "UpdateAppList"
106+
},
107+
{
108+
"name": "OnSystemTimeReady"
109+
},
110+
{
111+
"name": "GetSystemTime"
112112
}
113113
]
114114
},
@@ -464,6 +464,9 @@
464464
},
465465
{
466466
"name": "SetInteriorVehicleData"
467+
},
468+
{
469+
"name": "OnRCStatus"
467470
}
468471
]
469472
},
@@ -477,6 +480,14 @@
477480
"name": "Structs"
478481
}
479482
]
483+
},
484+
{
485+
"name": "UnixSignals",
486+
"navigation": [
487+
{
488+
"name": "LowVoltage"
489+
}
490+
]
480491
}
481492
]
482493
}
Binary file not shown.

docs/BasicCommunication/AllowDeviceToConnect/index.md

Lines changed: 0 additions & 89 deletions
This file was deleted.

docs/BasicCommunication/GetSystemTime/assets/GetSystemTime_TLS_Handshake.gliffy

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.
90.5 KB
Loading
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
## GetSystemTime
2+
3+
Type
4+
: Function
5+
6+
Sender
7+
: SDL
8+
9+
Purpose
10+
: Obtain current UTC time
11+
12+
When an application needs to start a protected service with SDL core the app sends a certificate to SDL during the TLS or DTLS handshake process.
13+
In order to validate the certificate and to check whether this certificate is not expired SDL core needs an accurate UTC system time value.
14+
15+
### Request
16+
SDL sends a GetSystemTime request after receiving a BC.OnSystemTimeReady notification from the HMI.
17+
After sending the request SDL starts [`<DefaultTimeout>`](https://github.com/smartdevicelink/sdl_hmi_integration_guidelines/blob/develop/docs/Configuration%20file/index.md#main) (value from .ini file) waiting for response from HMI.
18+
19+
#### Parameters
20+
21+
This RPC has no additional parameter requirements.
22+
23+
### Response
24+
25+
!!! must
26+
27+
1. Send a valid response during the `<DefaultTimeout>`(value from the smartDeviceLink.ini file)
28+
2. Provide all parameters of the "DateTime" struct inside of the GetSystemTime response.
29+
30+
!!!
31+
32+
!!! NOTE
33+
SDL logs the corresponding error internally and fails the handshake process if at least one of the following failures occurs:
34+
1. HMI does NOT respond during `<DefaultTimeout>`;
35+
2. HMI responds with any `<errorCode>` during `<DefaultTimeout>`;
36+
3. HMI sends invalid for any reason in the response:
37+
a. at least one String param is empty (exception: in case empty String param is allowed by HMI_API)
38+
b. at least one String param has '\n', '\t' or completely white-space
39+
c. wrong json format
40+
d. at least one param has invalid type
41+
e. at least one mandatory param was omitted
42+
f. at least one param is out of bounds
43+
!!!
44+
45+
If the handshake process fails, SDL behavior depends on the "ForceProtectedService"/"ForceUnprotectedService" params configured in the 'Security Manager' section of the smartDeviceLink.ini file.
46+
47+
#### Parameters
48+
|Name|Type|Mandatory|Additional|
49+
|:---|:---|:--------|:---------|
50+
|systemTime|[Common.DateTime](docs/Common/Structs/index.md)|true|Current UTC system time|
51+
52+
### Sequence Diagrams
53+
|||
54+
GetSystemTime
55+
![GetSystemTime](./assets/GetSystemTime_TLS_Handshake.png)
56+
|||
57+
58+
59+
### Example Request
60+
61+
```json
62+
{
63+
"id" : 59546,
64+
"jsonrpc" : "2.0",
65+
"method" : "BasicCommunication.GetSystemTime"
66+
}
67+
```
68+
69+
### Example Response
70+
71+
```json
72+
{
73+
"id":59546,
74+
"jsonrpc":"2.0",
75+
"result":{
76+
"systemTime":[
77+
{
78+
"millisecond":11,
79+
"second":111,
80+
"minute":111,
81+
"hour":11,
82+
"day":1,
83+
"month":11,
84+
"year":2017,
85+
"tz_hour":1,
86+
"tz_minute":11
87+
}
88+
],
89+
"code":0,
90+
"method":"BasicCommunication.GetSystemTime"
91+
}
92+
}
93+
```
94+
95+
### Example Error
96+
97+
```json
98+
{
99+
"id":59546,
100+
"jsonrpc":"2.0",
101+
"error":{
102+
"code":11,
103+
"message":"Mandatory parameters not provided.",
104+
"data":{
105+
"method":"BasicCommunication.GetSystemTime"
106+
}
107+
}
108+
}
109+
```

docs/BasicCommunication/OnAppDeactivated/index.md

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,12 @@ Purpose
1111

1212
SDL requires this notification in order to keep the mobile application from sending RPC's related to the HMI's functionality (e.g. adding commands for VR, starting an interaction with the user, speaking text via TTS, etc).
1313

14-
!!! MUST
1514

16-
1. Send an OnAppDeactivated notification when the user has navigated away from the application because of some `DeactivateReason`
17-
2. Send an OnAppDeactivated (reason="NAVIGATIONMAP") notification when the user switches from the application layout to the embedded navigation screen.
18-
3. Send an OnAppDeactivated (reason="AUDIO") notification when the user switches to the embedded audio source.
19-
4. Send an OnAppDeactivated (reason="PHONEMENU") notification when the user switches to the HMI phone menu.
15+
In the event a navigation application is in `FULL` and the HMI sends `OnAppDeactivated`, SDL must set the navigation application to `LIMITED` with the AudioStreamingState set to `AUDIBLE`, VideoStreamingState `STREAMABLE`.
2016

21-
!!!
22-
23-
In the event a navigation application is in `FULL` or `LIMITED` and the HMI sends `OnAppDeactivated` (reason="NAVIGATIONMAP"), SDL must set the navigation application to `BACKGROUND`.
17+
In the event a media projection application is in `FULL` and the HMI sends `OnAppDeactivated` (user goes out from media app screen to HU menu), SDL must set the app to `LIMITED` with the AudioStreamingState set to `AUDIBLE`, VideoStreamingState `STREAMABLE`.
2418

25-
In the event a navigation application is in `FULL` or `Limited` and the HMI sends `OnAppDeactivated` (reason="AUDIO"), SDL must set the navigation app to `LIMITED` with the AudioStreamingState set to `AUDIBLE`.
19+
In the event a non media projection application is in `FULL` the HMI sends `OnAppDeactivated` (user goes out from media app screen to HU menu), SDL must set the app to `LIMITED` with the AudioStreamingState set to `NOT_AUDIBLE`, VideoStreamingState `STREAMABLE`.
2620

2721
!!! NOTE
2822

@@ -37,7 +31,6 @@ The information about the application (name, appID, etc) is provided by SDL via
3731
|Name|Type|Mandatory|Additional|
3832
|:---|:---|:--------|:---------|
3933
|appID|Integer|true||
40-
|reason|[Common.DeactivateReason](../../common/enums/#deactivatereason)|true||
4134

4235
### Sequence Diagrams
4336
|||

docs/BasicCommunication/OnAppRegistered/index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ If the application does NOT resume data successfully:
4848
3. Compile and store `VRGrammars` for the `vrSynonyms` parameter, and arrange them for the user to be able to use via voice recognition. Note: The VR commands to activate an application must be accessible when viewing a different active application or the list of registered applications.
4949
4. Provide the user with the possibility to choose an application among a list of registered applications.
5050
5. Send an `OnAppActivated` notification to SDL when the user activates an app via the `UI` or `VR`.
51-
6. Manage application events by priority. HMI gets proirity information from _OnAppRegistered_, _UpdateAppList_, _ActivateApp_ HMI API.
51+
6. Manage application events by priority. HMI gets proirity information from _OnAppRegistered_, _UpdateAppList_, _ActivateApp_ HMI API.
52+
7. HMI must set app icon and create the app title in the mobile apps list in case SDL provides `<icon>` via `OnAppRegistered` notification.
53+
8. HMI must set default app icon in case SDL omits `<icon>` at `OnAppRegistered` notification.
5254
!!!
5355

5456
!!! NOTE
Binary file not shown.

docs/BasicCommunication/OnEmergencyEvent/index.md

Lines changed: 0 additions & 54 deletions
This file was deleted.

0 commit comments

Comments
 (0)