|
|
@@ -20,9 +20,9 @@ class SpeakerStats {
|
|
20
|
20
|
this._userId = userId;
|
|
21
|
21
|
this.setDisplayName(displayName);
|
|
22
|
22
|
this._isLocalStats = isLocalStats || false;
|
|
23
|
|
- this.setIsDominantSpeaker(false);
|
|
|
23
|
+ this.setDominantSpeaker(false);
|
|
24
|
24
|
this.totalDominantSpeakerTime = 0;
|
|
25
|
|
- this._dominantSpeakerStart = null;
|
|
|
25
|
+ this._dominantSpeakerStart = 0;
|
|
26
|
26
|
this._hasLeft = false;
|
|
27
|
27
|
}
|
|
28
|
28
|
|
|
|
@@ -69,7 +69,7 @@ class SpeakerStats {
|
|
69
|
69
|
* @returns {boolean}
|
|
70
|
70
|
*/
|
|
71
|
71
|
isDominantSpeaker() {
|
|
72
|
|
- return this._isDominantSpeaker;
|
|
|
72
|
+ return this._dominantSpeakerStart > 0;
|
|
73
|
73
|
}
|
|
74
|
74
|
|
|
75
|
75
|
/**
|
|
|
@@ -80,18 +80,16 @@ class SpeakerStats {
|
|
80
|
80
|
* and will record any time accumulated since starting as dominant speaker.
|
|
81
|
81
|
* @returns {void}
|
|
82
|
82
|
*/
|
|
83
|
|
- setIsDominantSpeaker(isNowDominantSpeaker) {
|
|
84
|
|
- if (!this._isDominantSpeaker && isNowDominantSpeaker) {
|
|
|
83
|
+ setDominantSpeaker(isNowDominantSpeaker) {
|
|
|
84
|
+ if (!this.isDominantSpeaker() && isNowDominantSpeaker) {
|
|
85
|
85
|
this._dominantSpeakerStart = Date.now();
|
|
86
|
|
- } else if (this._isDominantSpeaker && !isNowDominantSpeaker) {
|
|
|
86
|
+ } else if (this.isDominantSpeaker() && !isNowDominantSpeaker) {
|
|
87
|
87
|
const now = Date.now();
|
|
88
|
|
- const timeElapsed = now - (this._dominantSpeakerStart || 0);
|
|
|
88
|
+ const timeElapsed = now - this._dominantSpeakerStart;
|
|
89
|
89
|
|
|
90
|
90
|
this.totalDominantSpeakerTime += timeElapsed;
|
|
91
|
|
- this._dominantSpeakerStart = null;
|
|
|
91
|
+ this._dominantSpeakerStart = 0;
|
|
92
|
92
|
}
|
|
93
|
|
-
|
|
94
|
|
- this._isDominantSpeaker = isNowDominantSpeaker;
|
|
95
|
93
|
}
|
|
96
|
94
|
|
|
97
|
95
|
/**
|
|
|
@@ -102,7 +100,7 @@ class SpeakerStats {
|
|
102
|
100
|
getTotalDominantSpeakerTime() {
|
|
103
|
101
|
let total = this.totalDominantSpeakerTime;
|
|
104
|
102
|
|
|
105
|
|
- if (this._isDominantSpeaker) {
|
|
|
103
|
+ if (this.isDominantSpeaker()) {
|
|
106
|
104
|
total += Date.now() - this._dominantSpeakerStart;
|
|
107
|
105
|
}
|
|
108
|
106
|
|
|
|
@@ -125,7 +123,7 @@ class SpeakerStats {
|
|
125
|
123
|
*/
|
|
126
|
124
|
markAsHasLeft() {
|
|
127
|
125
|
this._hasLeft = true;
|
|
128
|
|
- this.setIsDominantSpeaker(false);
|
|
|
126
|
+ this.setDominantSpeaker(false);
|
|
129
|
127
|
}
|
|
130
|
128
|
}
|
|
131
|
129
|
|