diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/ConversationFragment.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConversationFragment.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index 9ab0f50fc..8354d6517 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -139,6 +139,7 @@ import static de.pixart.messenger.ui.SettingsActivity.WARN_UNENCRYPTED_CHAT; import static de.pixart.messenger.ui.XmppActivity.EXTRA_ACCOUNT; import static de.pixart.messenger.ui.XmppActivity.REQUEST_INVITE_TO_CONVERSATION; import static de.pixart.messenger.ui.util.SoftKeyboardUtils.hideSoftKeyboard; +import static de.pixart.messenger.utils.Compatibility.runsTwentyOne; import static de.pixart.messenger.utils.PermissionUtils.allGranted; import static de.pixart.messenger.utils.PermissionUtils.getFirstDenied; import static de.pixart.messenger.utils.PermissionUtils.readGranted; @@ -632,6 +633,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke popup.setOnMenuItemClickListener(attachmentItem -> { switch (attachmentItem.getItemId()) { case R.id.attach_choose_picture: + case R.id.attach_choose_video: case R.id.attach_take_picture: case R.id.attach_record_video: case R.id.attach_choose_file: @@ -996,6 +998,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke case ATTACHMENT_CHOICE_CHOOSE_FILE: case ATTACHMENT_CHOICE_RECORD_VIDEO: case ATTACHMENT_CHOICE_RECORD_VOICE: + case ATTACHMENT_CHOICE_CHOOSE_VIDEO: final Attachment.Type type = requestCode == ATTACHMENT_CHOICE_RECORD_VOICE ? Attachment.Type.RECORDING : Attachment.Type.FILE; final List<Attachment> fileUris = Attachment.extractAttachments(getActivity(), data, type); mediaPreviewAdapter.addMediaPreviews(fileUris); @@ -1151,7 +1154,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke menuNeedHelp.setVisible(true); menuSearchUpdates.setVisible(false); ConversationMenuConfigurator.configureAttachmentMenu(conversation, menu, activity.xmppConnectionService.getAttachmentChoicePreference(), hasAttachments); - ConversationMenuConfigurator.configureEncryptionMenu(conversation, menu); + ConversationMenuConfigurator.configureEncryptionMenu(conversation, menu, activity); } else { menuNeedHelp.setVisible(false); menuSearchUpdates.setVisible(true); @@ -1434,6 +1437,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke handleEncryptionSelection(item); break; case R.id.attach_choose_picture: + case R.id.attach_choose_video: case R.id.attach_take_picture: case R.id.attach_record_video: case R.id.attach_choose_file: @@ -1494,6 +1498,9 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke case R.id.attach_choose_picture: attachFile(ATTACHMENT_CHOICE_CHOOSE_IMAGE); break; + case R.id.attach_choose_video: + attachFile(ATTACHMENT_CHOICE_CHOOSE_VIDEO); + break; case R.id.attach_take_picture: attachFile(ATTACHMENT_CHOICE_TAKE_PHOTO); break; @@ -1678,7 +1685,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } private void updateChatBG() { - if (activity.unicoloredBG()) { + if (activity.unicoloredBG() || !runsTwentyOne()) { binding.conversationsFragment.setBackgroundResource(0); binding.conversationsFragment.setBackgroundColor(StyledAttributes.getColor(activity, R.attr.color_background_tertiary)); } else { @@ -2141,12 +2148,16 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke public void onStart() { super.onStart(); if (this.reInitRequiredOnStart && this.conversation != null) { + if (activity != null) { + updateChatBG(); + } final Bundle extras = pendingExtras.pop(); reInit(this.conversation, extras != null); if (extras != null) { processExtras(extras); } } else if (conversation == null && activity != null && activity.xmppConnectionService != null) { + updateChatBG(); final String uuid = pendingConversationsUuid.pop(); Log.d(Config.LOGTAG, "ConversationFragment.onStart() - activity was bound but no conversation loaded. uuid=" + uuid); if (uuid != null) { |