56 lines
1.7 KiB
JavaScript
56 lines
1.7 KiB
JavaScript
|
// @flow
|
||
|
|
||
|
import { SET_CONFERENCE_TIMESTAMP, SET_SESSION_ID, SET_WATCH_REACHABLE } from './actionTypes';
|
||
|
|
||
|
/**
|
||
|
* Stores a timestamp when the conference is joined, so that the watch counterpart can start counting from when
|
||
|
* the meeting has really started.
|
||
|
*
|
||
|
* @param {number} conferenceTimestamp - A timestamp retrieved with {@code newDate.getTime()}.
|
||
|
* @returns {{
|
||
|
* type: SET_CONFERENCE_TIMESTAMP,
|
||
|
* conferenceTimestamp: number
|
||
|
* }}
|
||
|
*/
|
||
|
export function setConferenceTimestamp(conferenceTimestamp: number) {
|
||
|
return {
|
||
|
type: SET_CONFERENCE_TIMESTAMP,
|
||
|
conferenceTimestamp
|
||
|
};
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Updates the session ID which is sent to the Watch app and then used by the app to send commands. Commands from
|
||
|
* the watch are accepted only if the 'sessionID' passed by the Watch matches the one currently stored in Redux. It is
|
||
|
* supposed to prevent from processing outdated commands.
|
||
|
*
|
||
|
* @returns {{
|
||
|
* type: SET_SESSION_ID,
|
||
|
* sessionID: number
|
||
|
* }}
|
||
|
*/
|
||
|
export function setSessionId() {
|
||
|
return {
|
||
|
type: SET_SESSION_ID,
|
||
|
sessionID: new Date().getTime()
|
||
|
};
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Updates the reachable status of the watch. It's used to get in sync with the watch counterpart when it gets
|
||
|
* reconnected, but also to prevent from sending updates if the app is not installed at all (which would fail with
|
||
|
* an error).
|
||
|
*
|
||
|
* @param {boolean} isReachable - Indicates whether the watch is currently reachable or not.
|
||
|
* @returns {{
|
||
|
* type: SET_WATCH_REACHABLE,
|
||
|
* watchReachable: boolean
|
||
|
* }}
|
||
|
*/
|
||
|
export function setWatchReachable(isReachable: boolean) {
|
||
|
return {
|
||
|
type: SET_WATCH_REACHABLE,
|
||
|
watchReachable: isReachable
|
||
|
};
|
||
|
}
|