send call reactions

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2023-05-04 16:20:44 +02:00
parent 6d735dd537
commit cafb8b649a
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
3 changed files with 27 additions and 7 deletions

View File

@ -513,6 +513,16 @@ public class CallActivity extends CallBaseActivity {
reactionAnimator = new ReactionAnimator(context, binding.reactionAnimationWrapper, viewThemeUtils); reactionAnimator = new ReactionAnimator(context, binding.reactionAnimationWrapper, viewThemeUtils);
} }
public void sendReaction(String emoji) {
addReactionForAnimation(emoji, conversationUser.getDisplayName());
if (isConnectionEstablished() && peerConnectionWrapperList != null) {
for (PeerConnectionWrapper peerConnectionWrapper : peerConnectionWrapperList) {
peerConnectionWrapper.sendReaction(emoji);
}
}
}
@Override @Override
public void onStart() { public void onStart() {
super.onStart(); super.onStart();
@ -2730,7 +2740,7 @@ public class CallActivity extends CallBaseActivity {
} }
} }
public void addCallReaction(String emoji, String displayName) { public void addReactionForAnimation(String emoji, String displayName) {
reactionAnimator.addReaction(emoji, displayName); reactionAnimator.addReaction(emoji, displayName);
} }
@ -2910,7 +2920,7 @@ public class CallActivity extends CallBaseActivity {
@Override @Override
public void onReaction(String reaction) { public void onReaction(String reaction) {
addCallReaction(reaction, callParticipantModel.getNick()); addReactionForAnimation(reaction, callParticipantModel.getNick());
} }
} }

View File

@ -122,11 +122,7 @@ class MoreCallActionsDialog(private val callActivity: CallActivity) : BottomShee
emojiView.layoutParams = param emojiView.layoutParams = param
emojiView.setOnClickListener { view -> emojiView.setOnClickListener { view ->
// TODO: send signaling messages instead to directly show reaction on own device callActivity.sendReaction((view as EmojiTextView).text.toString())
callActivity.addCallReaction(
(view as EmojiTextView).text.toString(),
callActivity.conversationUser.displayName
)
dismiss() dismiss()
} }
binding.callEmojiBar.addView(emojiView) binding.callEmojiBar.addView(emojiView)

View File

@ -204,6 +204,20 @@ public class PeerConnectionWrapper {
signalingMessageSender.send(ncSignalingMessage); signalingMessageSender.send(ncSignalingMessage);
} }
public void sendReaction(String emoji) {
NCMessagePayload ncMessagePayload = new NCMessagePayload();
ncMessagePayload.setReaction(emoji);
ncMessagePayload.setTimestamp(System.currentTimeMillis());
NCSignalingMessage ncSignalingMessage = new NCSignalingMessage();
ncSignalingMessage.setTo(sessionId);
ncSignalingMessage.setType("reaction");
ncSignalingMessage.setPayload(ncMessagePayload);
ncSignalingMessage.setRoomType(videoStreamType);
signalingMessageSender.send(ncSignalingMessage);
}
/** /**
* Adds a listener for data channel messages. * Adds a listener for data channel messages.
* *