The CallParticipantModel observer now also emits one-time events that
are not reflected in the model state.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Otherwise following error was thrown:
Expected com.nextcloud.talk.viewmodels.CallRecordingViewModel$RecordingStartingState@5f78de22 but encountered com.nextcloud.talk.viewmodels.CallRecordingViewModel$RecordingStartingState@516ebdf8
com.vividsolutions.jts.util.AssertionFailedException: Expected com.nextcloud.talk.viewmodels.CallRecordingViewModel$RecordingStartingState@5f78de22 but encountered com.nextcloud.talk.viewmodels.CallRecordingViewModel$RecordingStartingState@516ebdf8
at app//com.vividsolutions.jts.util.Assert.equals(Assert.java:100)
at app//com.vividsolutions.jts.util.Assert.equals(Assert.java:85)
at app//com.nextcloud.talk.viewmodels.CallRecordingViewModelTest.testCallRecordingViewModel_clickStartRecord(CallRecordingViewModelTest.kt:25)
at java.base@11.0.15/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
more call recording states are:
3 = Starting video recording
4 = Starting audio recording
5 = Recording failed
these actions were added:
- Show grey recording icon to moderators if recording is starting
- Show toast to moderators if recording failed
- Add system message for recording failed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Note the slight difference in naming between the signaling message
("raiseHand", the action) and the stored data ("RaisedHand", the record
of the action).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
For now only the same signaling messages that were already handled are
still handled; in the future it could be extended to handle other
messages, like the one sent by the external signaling server when a
participant leaves the room (in some cases no participants update
message is sent if the participant leaves the call and room at the same
time, which causes the participants to still be seen as in call until a
new update is received).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
For now only the same participant list messages that were already
handled are taken into account, but at a later point further messages,
like participants joining or leaving the conversation, could be added
too.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Although "unshareScreen" is technically bound to a specific peer
connection it is instead treated as a general message on the call
participant.
Nevertheless, call participant messages will make possible (at a later
point) to listen to events like "raise hand" or "mute" (which, again,
could be technically bound to a specific peer connection, but at least
for now are treated as a general message on the call participant).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Unlike the WebRtcMessageListener, which is bound to a specific peer
connection, an OfferMessageListener listens to all offer messages, no
matter which peer connection they are bound to. This can be used, for
example, to create a new peer connection when a remote offer for which
there is no previous connection is received.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
For now only WebRTC messages can be listened to, although it will be
extended with other kinds later.
This commit only introduces the base class, although it is not used yet
anywhere; a concrete implementation will be added in a following commit.
The test class is named "SignalingMessageReceiverWebRtcTest" rather than
just "SignalingMessageReceiverTest" to have smaller, more manageable
test classes for each listener kind rather than one large test class for
all of them.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
With this implementation the can publish audio & video permission are
set during the creation of the 'CallActivity'. This permissions are
fixed for the complete call. If the permissions are changed by a
moderator the call must be left and joined again.
Resolves: #1783
Signed-off-by: Tim Krüger <t@timkrueger.me>
Currently a conversation can be made public via the bottom sheet menu in
the conversation list.
With this commit this is added to the conversation info to align with Talk web
and iOS. The functionality is removed from the bottom sheet menu in the
conversation list.
Resolves: #2134
Signed-off-by: Tim Krüger <t@timkrueger.me>
The test will be skipped on the CI server because it fails there:
com.nextcloud.talk.utils.ShareUtilsIT > date[android-27(AVD) - 8.1.0] FAILED
java.lang.AssertionError: expected:<1207778138000> but was:<1207785338000>
at org.junit.Assert.fail(Assert.java:88)
Locally the test works fine. For this problem a issue were created.
See: #1737
Signed-off-by: Tim Krüger <t@timkrueger.me>