talk-android/app/src/main/java/com/nextcloud/talk/webrtc
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
..
DataChannelMessageNotifier.java Add listener for data channel messages 2022-12-28 11:47:55 +01:00
Globals.java Spotbugs: NPE deference, NPE-equals, unused variable, make vars final, reformat code for line-length 120 chars 2022-12-29 11:37:19 +01:00
MagicProximitySensor.java remove unused java imports 2022-07-26 22:24:18 +02:00
MagicWebRTCUtils.java rename blacklist/whitelist variables to include/exclude sets to reflect their collection type 2022-06-18 16:29:57 +02:00
PeerConnectionNotifier.java Add observer for peer connections 2022-12-28 15:48:45 +01:00
PeerConnectionWrapper.java codacy: Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 2023-06-01 19:10:35 +02:00
WebRtcAudioManager.java Spotbug: make constructor-called methods final 2022-12-29 11:36:59 +01:00
WebRtcBluetoothManager.java Spotbug: make constructor-called methods final 2022-12-29 11:36:59 +01:00
WebSocketConnectionHelper.java Move setupWebsocket() to onAttach() in ChatController 2023-03-10 14:25:49 +01:00
WebSocketInstance.kt Align typing indicator to new concept 2023-06-02 15:35:16 +02:00