talk-android/app/src/main/java/com/nextcloud/talk/signaling
Marcel Hibbe 7f51d45e9a
Align typing indicator to new concept
# Send start/stop typing
Send "Typing" every 10 sec when there was a change

Send stop typing:
- when input is deleted
- when there was no input during the 10s timer
- when on leaving room

# Receive start/stop typing
Clear typing for participant after 15s if no start typing-message was received.
Use userId instead sessionId to manage typing participants. This ensures participants are not shown multiple times when using multiple devices with the same user (multisession). To get the userId via websocket, SignalingMessageReceiver and WebSocketInstance had to be modified to pass the CallWebSocketMessage in case the signalingMessage.type is related to typing. Not sure if this is the best solution but didn't find any other way.

Typing is not handled when the userId is of the own user (this could happen when using multiple devices)

In case userId is null (which happens for guests), their sessionId is used as key for the typingParticipants map.

# Other
Disable setting for typing indicator when no HPB is used + Avoid crash in chat when no HPB is used.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-06-02 15:35:16 +02:00
..
CallParticipantMessageNotifier.java codacy: Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 2023-06-01 22:27:43 +02:00
ConversationMessageNotifier.kt Align typing indicator to new concept 2023-06-02 15:35:16 +02:00
LocalParticipantMessageNotifier.java Add listener for local participant signaling messages 2023-02-20 13:14:01 +01:00
OfferMessageNotifier.java Add listener for offer messages 2022-12-23 20:40:01 +01:00
ParticipantListMessageNotifier.java Add listener for participant list messages 2022-12-23 20:44:41 +01:00
SignalingMessageReceiver.java Align typing indicator to new concept 2023-06-02 15:35:16 +02:00
SignalingMessageSender.java Extract interface to send signaling messages 2022-12-27 14:28:57 +01:00
WebRtcMessageNotifier.java codacy: Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 2023-06-01 22:27:43 +02:00