mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 12:09:45 +01:00
check if conversation is breakout room
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
99a4ca5e33
commit
2835bb6c02
@ -173,6 +173,7 @@ import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_CALL_WITHOUT_NOTIFI
|
|||||||
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_CONVERSATION_NAME;
|
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_CONVERSATION_NAME;
|
||||||
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_CONVERSATION_PASSWORD;
|
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_CONVERSATION_PASSWORD;
|
||||||
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FROM_NOTIFICATION_START_CALL;
|
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FROM_NOTIFICATION_START_CALL;
|
||||||
|
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_BREAKOUT_ROOM;
|
||||||
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR;
|
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR;
|
||||||
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_MODIFIED_BASE_URL;
|
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_MODIFIED_BASE_URL;
|
||||||
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_AUDIO;
|
import static com.nextcloud.talk.utils.bundle.BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_AUDIO;
|
||||||
@ -309,6 +310,7 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
private CallParticipantList callParticipantList;
|
private CallParticipantList callParticipantList;
|
||||||
|
|
||||||
private String switchToRoomToken = "";
|
private String switchToRoomToken = "";
|
||||||
|
private boolean isBreakoutRoom = false;
|
||||||
|
|
||||||
private SignalingMessageReceiver.LocalParticipantMessageListener localParticipantMessageListener =
|
private SignalingMessageReceiver.LocalParticipantMessageListener localParticipantMessageListener =
|
||||||
new SignalingMessageReceiver.LocalParticipantMessageListener() {
|
new SignalingMessageReceiver.LocalParticipantMessageListener() {
|
||||||
@ -390,6 +392,10 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
isIncomingCallFromNotification = extras.getBoolean(KEY_FROM_NOTIFICATION_START_CALL);
|
isIncomingCallFromNotification = extras.getBoolean(KEY_FROM_NOTIFICATION_START_CALL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (extras.containsKey(KEY_IS_BREAKOUT_ROOM)) {
|
||||||
|
isBreakoutRoom = extras.getBoolean(KEY_IS_BREAKOUT_ROOM);
|
||||||
|
}
|
||||||
|
|
||||||
credentials = ApiUtils.getCredentials(conversationUser.getUsername(), conversationUser.getToken());
|
credentials = ApiUtils.getCredentials(conversationUser.getUsername(), conversationUser.getToken());
|
||||||
|
|
||||||
baseUrl = extras.getString(KEY_MODIFIED_BASE_URL, "");
|
baseUrl = extras.getString(KEY_MODIFIED_BASE_URL, "");
|
||||||
@ -496,7 +502,7 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initFeaturesVisibility() {
|
private void initFeaturesVisibility() {
|
||||||
if (isAllowedToStartOrStopRecording()) {
|
if (isAllowedToStartOrStopRecording() || isAllowedToRaiseHand()) {
|
||||||
binding.moreCallActions.setVisibility(View.VISIBLE);
|
binding.moreCallActions.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
binding.moreCallActions.setVisibility(View.GONE);
|
binding.moreCallActions.setVisibility(View.GONE);
|
||||||
@ -1225,6 +1231,12 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void clickHand(Boolean raise) {
|
public void clickHand(Boolean raise) {
|
||||||
|
|
||||||
|
if (isBreakoutRoom) {
|
||||||
|
Log.d(TAG, "send request to request help for breakout rooms.");
|
||||||
|
}
|
||||||
|
//
|
||||||
|
|
||||||
// TODO: fix how to build&send the message
|
// TODO: fix how to build&send the message
|
||||||
// if (isConnectionEstablished() && peerConnectionWrapperList != null) {
|
// if (isConnectionEstablished() && peerConnectionWrapperList != null) {
|
||||||
// if (!hasMCU) {
|
// if (!hasMCU) {
|
||||||
@ -1911,7 +1923,6 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putBoolean(KEY_SWITCH_TO_ROOM_AND_START_CALL, true);
|
bundle.putBoolean(KEY_SWITCH_TO_ROOM_AND_START_CALL, true);
|
||||||
bundle.putString(KEY_ROOM_TOKEN, switchToRoomToken);
|
bundle.putString(KEY_ROOM_TOKEN, switchToRoomToken);
|
||||||
|
|
||||||
// bundle.putString(KEY_ROOM_ID, roomId);
|
// bundle.putString(KEY_ROOM_ID, roomId);
|
||||||
bundle.putParcelable(KEY_USER_ENTITY, conversationUser);
|
bundle.putParcelable(KEY_USER_ENTITY, conversationUser);
|
||||||
// conversationName = extras.getString(KEY_CONVERSATION_NAME, "");
|
// conversationName = extras.getString(KEY_CONVERSATION_NAME, "");
|
||||||
@ -3062,7 +3073,8 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isAllowedToRaiseHand() {
|
public boolean isAllowedToRaiseHand() {
|
||||||
return CapabilitiesUtilNew.hasSpreedFeatureCapability(conversationUser, "raise-hand");
|
return CapabilitiesUtilNew.hasSpreedFeatureCapability(conversationUser, "raise-hand") ||
|
||||||
|
isBreakoutRoom;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class SelfVideoTouchListener implements View.OnTouchListener {
|
private class SelfVideoTouchListener implements View.OnTouchListener {
|
||||||
|
@ -173,6 +173,7 @@ import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ACTIVE_CONVERSATION
|
|||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_CONVERSATION_NAME
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_CONVERSATION_NAME
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FILE_PATHS
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FILE_PATHS
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
|
||||||
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_BREAKOUT_ROOM
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_RECORDING_STATE
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_RECORDING_STATE
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_ID
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_ID
|
||||||
@ -2841,6 +2842,10 @@ class ChatController(args: Bundle) :
|
|||||||
bundle.putBoolean(BundleKeys.KEY_CALL_WITHOUT_NOTIFICATION, true)
|
bundle.putBoolean(BundleKeys.KEY_CALL_WITHOUT_NOTIFICATION, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (it.objectType == BREAKOUT_ROOM_TYPE) {
|
||||||
|
bundle.putBoolean(KEY_IS_BREAKOUT_ROOM, true)
|
||||||
|
}
|
||||||
|
|
||||||
return if (activity != null) {
|
return if (activity != null) {
|
||||||
val callIntent = Intent(activity, CallActivity::class.java)
|
val callIntent = Intent(activity, CallActivity::class.java)
|
||||||
callIntent.putExtras(bundle)
|
callIntent.putExtras(bundle)
|
||||||
@ -3531,5 +3536,6 @@ class ChatController(args: Bundle) :
|
|||||||
private const val LOOKING_INTO_FUTURE_TIMEOUT = 30
|
private const val LOOKING_INTO_FUTURE_TIMEOUT = 30
|
||||||
private const val CHUNK_SIZE: Int = 10
|
private const val CHUNK_SIZE: Int = 10
|
||||||
private const val ONE_SECOND_IN_MILLIS = 1000
|
private const val ONE_SECOND_IN_MILLIS = 1000
|
||||||
|
private const val BREAKOUT_ROOM_TYPE = "room"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -81,4 +81,5 @@ object BundleKeys {
|
|||||||
const val KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO = "KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO"
|
const val KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO = "KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO"
|
||||||
const val KEY_IS_MODERATOR = "KEY_IS_MODERATOR"
|
const val KEY_IS_MODERATOR = "KEY_IS_MODERATOR"
|
||||||
const val KEY_SWITCH_TO_ROOM_AND_START_CALL = "KEY_SWITCH_TO_ROOM_AND_START_CALL"
|
const val KEY_SWITCH_TO_ROOM_AND_START_CALL = "KEY_SWITCH_TO_ROOM_AND_START_CALL"
|
||||||
|
const val KEY_IS_BREAKOUT_ROOM = "KEY_IS_BREAKOUT_ROOM"
|
||||||
}
|
}
|
||||||
|
@ -292,7 +292,7 @@ public class PeerConnectionWrapper {
|
|||||||
try {
|
try {
|
||||||
buffer = ByteBuffer.wrap(LoganSquare.serialize(dataChannelMessage).getBytes());
|
buffer = ByteBuffer.wrap(LoganSquare.serialize(dataChannelMessage).getBytes());
|
||||||
dataChannel.send(new DataChannel.Buffer(buffer, false));
|
dataChannel.send(new DataChannel.Buffer(buffer, false));
|
||||||
} catch (IOException e) {
|
} catch (Exception e) {
|
||||||
Log.d(TAG, "Failed to send channel data, attempting regular " + dataChannelMessage);
|
Log.d(TAG, "Failed to send channel data, attempting regular " + dataChannelMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user