|
@@ -153,6 +153,14 @@ public abstract class SignalingMessageReceiver {
|
|
void onUnshareScreen();
|
|
void onUnshareScreen();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Listener for conversation messages.
|
|
|
|
+ */
|
|
|
|
+ public interface ConversationMessageListener {
|
|
|
|
+ void onStartTyping(String session);
|
|
|
|
+ void onStopTyping(String session);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Listener for WebRTC offers.
|
|
* Listener for WebRTC offers.
|
|
*
|
|
*
|
|
@@ -185,6 +193,8 @@ public abstract class SignalingMessageReceiver {
|
|
|
|
|
|
private final CallParticipantMessageNotifier callParticipantMessageNotifier = new CallParticipantMessageNotifier();
|
|
private final CallParticipantMessageNotifier callParticipantMessageNotifier = new CallParticipantMessageNotifier();
|
|
|
|
|
|
|
|
+ private final ConversationMessageNotifier conversationMessageNotifier = new ConversationMessageNotifier();
|
|
|
|
+
|
|
private final OfferMessageNotifier offerMessageNotifier = new OfferMessageNotifier();
|
|
private final OfferMessageNotifier offerMessageNotifier = new OfferMessageNotifier();
|
|
|
|
|
|
private final WebRtcMessageNotifier webRtcMessageNotifier = new WebRtcMessageNotifier();
|
|
private final WebRtcMessageNotifier webRtcMessageNotifier = new WebRtcMessageNotifier();
|
|
@@ -236,6 +246,14 @@ public abstract class SignalingMessageReceiver {
|
|
callParticipantMessageNotifier.removeListener(listener);
|
|
callParticipantMessageNotifier.removeListener(listener);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public void addListener(ConversationMessageListener listener) {
|
|
|
|
+ conversationMessageNotifier.addListener(listener);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void removeListener(ConversationMessageListener listener) {
|
|
|
|
+ conversationMessageNotifier.removeListener(listener);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Adds a listener for all offer messages.
|
|
* Adds a listener for all offer messages.
|
|
*
|
|
*
|
|
@@ -563,6 +581,14 @@ public abstract class SignalingMessageReceiver {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if ("startedTyping".equals(type)) {
|
|
|
|
+ conversationMessageNotifier.notifyStartTyping(sessionId);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if ("stoppedTyping".equals(type)) {
|
|
|
|
+ conversationMessageNotifier.notifyStopTyping(sessionId);
|
|
|
|
+ }
|
|
|
|
+
|
|
if ("reaction".equals(type)) {
|
|
if ("reaction".equals(type)) {
|
|
// Message schema (external signaling server):
|
|
// Message schema (external signaling server):
|
|
// {
|
|
// {
|