From fa513325d5cf5f7f5703aad5ffbf5a43b1892c2f Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Sun, 4 Aug 2024 18:12:49 +0200 Subject: [PATCH] add videochat-invitations from attach-menu --- .../securesms/ConversationActivity.java | 18 ++++-------------- .../components/AttachmentTypeSelector.java | 15 ++++++++++----- .../res/layout/attachment_type_selector.xml | 7 ++++--- src/main/res/menu/conversation.xml | 3 --- 4 files changed, 18 insertions(+), 25 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java index 250464efb..e178e6adf 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java @@ -157,7 +157,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity private static final int PICK_GALLERY = 1; private static final int PICK_DOCUMENT = 2; - private static final int PICK_AUDIO = 3; + private static final int INVITE_VIDEO_CHAT = 3; private static final int PICK_CONTACT = 4; private static final int GROUP_EDIT = 6; private static final int TAKE_PHOTO = 7; @@ -386,8 +386,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity case PICK_DOCUMENT: setMedia(data.getData(), MediaType.DOCUMENT); break; - case PICK_AUDIO: - setMedia(data.getData(), MediaType.AUDIO); + case INVITE_VIDEO_CHAT: break; case PICK_CONTACT: addAttachmentContactInfo(data.getIntExtra(AttachContactActivity.CONTACT_ID_EXTRA, 0)); @@ -453,10 +452,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity menu.findItem(R.id.menu_show_map).setVisible(false); } - if (!DcHelper.isWebrtcConfigOk(dcContext) || !dcChat.canSend()) { - menu.findItem(R.id.menu_videochat_invite).setVisible(false); - } - if (!dcChat.canSend() || dcChat.isBroadcast() || dcChat.isMailingList()) { menu.findItem(R.id.menu_ephemeral_messages).setVisible(false); } @@ -532,7 +527,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity case R.id.menu_search_down: handleMenuSearchNext(true); return true; case android.R.id.home: handleReturnToConversationList(); return true; case R.id.menu_ephemeral_messages: handleEphemeralMessages(); return true; - case R.id.menu_videochat_invite: handleVideochatInvite(); return true; } return false; @@ -575,10 +569,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity }); } - private void handleVideochatInvite() { - new VideochatUtil().invite(this, chatId); - } - private void handleReturnToConversationList() { handleReturnToConversationList(null); } @@ -940,8 +930,8 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity AttachmentManager.selectGallery(this, PICK_GALLERY); break; case AttachmentTypeSelector.ADD_DOCUMENT: AttachmentManager.selectDocument(this, PICK_DOCUMENT); break; - case AttachmentTypeSelector.ADD_SOUND: - AttachmentManager.selectAudio(this, PICK_AUDIO); break; + case AttachmentTypeSelector.INVITE_VIDEO_CHAT: + new VideochatUtil().invite(this, chatId); break; case AttachmentTypeSelector.ADD_CONTACT_INFO: startContactChooserActivity(); break; case AttachmentTypeSelector.ADD_LOCATION: diff --git a/src/main/java/org/thoughtcrime/securesms/components/AttachmentTypeSelector.java b/src/main/java/org/thoughtcrime/securesms/components/AttachmentTypeSelector.java index 695ecb6d7..ccf47c6dc 100644 --- a/src/main/java/org/thoughtcrime/securesms/components/AttachmentTypeSelector.java +++ b/src/main/java/org/thoughtcrime/securesms/components/AttachmentTypeSelector.java @@ -36,7 +36,7 @@ public class AttachmentTypeSelector extends PopupWindow { public static final int ADD_GALLERY = 1; public static final int ADD_DOCUMENT = 2; - public static final int ADD_SOUND = 3; + public static final int INVITE_VIDEO_CHAT = 3; public static final int ADD_CONTACT_INFO = 4; public static final int TAKE_PHOTO = 5; public static final int ADD_LOCATION = 6; @@ -47,7 +47,7 @@ public class AttachmentTypeSelector extends PopupWindow { private final @NonNull LoaderManager loaderManager; private final @NonNull RecentPhotoViewRail recentRail; private final @NonNull ImageView imageButton; - private final @NonNull ImageView audioButton; + private final @NonNull ImageView videoChatButton; private final @NonNull ImageView documentButton; private final @NonNull ImageView contactButton; private final @NonNull ImageView cameraButton; @@ -70,7 +70,7 @@ public class AttachmentTypeSelector extends PopupWindow { this.chatId = chatId; this.recentRail = ViewUtil.findById(layout, R.id.recent_photos); this.imageButton = ViewUtil.findById(layout, R.id.gallery_button); - this.audioButton = ViewUtil.findById(layout, R.id.audio_button); + this.videoChatButton = ViewUtil.findById(layout, R.id.invite_video_chat_button); this.documentButton = ViewUtil.findById(layout, R.id.document_button); this.contactButton = ViewUtil.findById(layout, R.id.contact_button); this.cameraButton = ViewUtil.findById(layout, R.id.camera_button); @@ -79,7 +79,7 @@ public class AttachmentTypeSelector extends PopupWindow { this.closeButton = ViewUtil.findById(layout, R.id.close_button); this.imageButton.setOnClickListener(new PropagatingClickListener(ADD_GALLERY)); - this.audioButton.setOnClickListener(new PropagatingClickListener(ADD_SOUND)); + this.videoChatButton.setOnClickListener(new PropagatingClickListener(INVITE_VIDEO_CHAT)); this.documentButton.setOnClickListener(new PropagatingClickListener(ADD_DOCUMENT)); this.contactButton.setOnClickListener(new PropagatingClickListener(ADD_CONTACT_INFO)); this.cameraButton.setOnClickListener(new PropagatingClickListener(TAKE_PHOTO)); @@ -93,6 +93,11 @@ public class AttachmentTypeSelector extends PopupWindow { ViewUtil.findById(layout, R.id.location_button_label).setVisibility(View.GONE); } + if (!DcHelper.isWebrtcConfigOk(DcHelper.getContext(context))) { + this.videoChatButton.setVisibility(View.GONE); + ViewUtil.findById(layout, R.id.invite_video_chat_label).setVisibility(View.GONE); + } + setLocationButtonImage(context); setContentView(layout); @@ -140,7 +145,7 @@ public class AttachmentTypeSelector extends PopupWindow { animateButtonIn(contactButton, ANIMATION_DURATION / 3); animateButtonIn(locationButton, ANIMATION_DURATION / 4); animateButtonIn(documentButton, ANIMATION_DURATION / 4); - animateButtonIn(audioButton, 0); + animateButtonIn(videoChatButton, 0); animateButtonIn(closeButton, 0); } } diff --git a/src/main/res/layout/attachment_type_selector.xml b/src/main/res/layout/attachment_type_selector.xml index 18178b8dc..1024106f8 100644 --- a/src/main/res/layout/attachment_type_selector.xml +++ b/src/main/res/layout/attachment_type_selector.xml @@ -195,19 +195,20 @@ android:orientation="vertical"> + android:text="@string/videochat"/> diff --git a/src/main/res/menu/conversation.xml b/src/main/res/menu/conversation.xml index edeb94cf4..46be4a3a6 100644 --- a/src/main/res/menu/conversation.xml +++ b/src/main/res/menu/conversation.xml @@ -31,9 +31,6 @@ - -