Rewrite call state machine

* Remove the two separate enumerations of call state: now everything
   uses the js-sdk version of call state. Stop adding a separate
   'call_state' field onto the call object(!)
 * Better reflection of the actual state of the call in the call bar,
   so when it's connecting, it says connecting, and only says 'active call'
   when the call is actually active.
 * More typey goodness
This commit is contained in:
David Baker 2020-10-09 18:56:07 +01:00
parent 5a4ca4578a
commit 55f77b04ae
8 changed files with 153 additions and 130 deletions

View file

@ -25,6 +25,7 @@ import CallHandler from '../../../CallHandler';
import PulsedAvatar from '../avatars/PulsedAvatar';
import RoomAvatar from '../avatars/RoomAvatar';
import FormButton from '../elements/FormButton';
import { CallState } from 'matrix-js-sdk/lib/webrtc/call';
interface IProps {
}
@ -53,7 +54,7 @@ export default class IncomingCallBox extends React.Component<IProps, IState> {
switch (payload.action) {
case 'call_state': {
const call = CallHandler.sharedInstance().getCallForRoom(payload.room_id);
if (call && call.call_state === 'ringing') {
if (call && call.state === CallState.Ringing) {
this.setState({
incomingCall: call,
});