aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/ConversationFragment.java')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationFragment.java15
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) {