From 5f77f791d074ec1a4b03efe57f1ddde2f4c0a8db Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Thu, 10 Oct 2024 15:45:19 +0200 Subject: [PATCH] fix the warning when attaching multiple files: images are recoded, only videos are not --- .../securesms/BaseConversationListFragment.java | 6 +++++- .../thoughtcrime/securesms/ConversationActivity.java | 5 ++++- .../securesms/util/SendRelayedMessageUtil.java | 10 ++++++++++ src/main/res/values/strings.xml | 5 +++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java b/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java index 795d1e8b2..fdfab8a66 100644 --- a/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java @@ -93,12 +93,16 @@ public abstract class BaseConversationListFragment extends Fragment implements A if (isForwarding(getActivity())) { message = String.format(Util.getLocale(), getString(R.string.ask_forward_multiple), selectedChats.size()); } else if (!uris.isEmpty()) { - message = String.format(Util.getLocale(), getString(R.string.share_multiple_attachments_multiple_chats), uris.size(), selectedChats.size()); + message = String.format(Util.getLocale(), getString(R.string.ask_send_files_to_selected_chats), uris.size(), selectedChats.size()); } else { message = String.format(Util.getLocale(), getString(R.string.share_text_multiple_chats), selectedChats.size(), getSharedText(getActivity())); } + Context context = getContext(); if (context != null) { + if (SendRelayedMessageUtil.containsVideoType(context, uris)) { + message += "\n\n" + getString(R.string.videos_sent_without_recoding); + } new AlertDialog.Builder(context) .setMessage(message) .setCancelable(false) diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java index e4a150f2f..6f8463f76 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java @@ -669,7 +669,10 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity ArrayList uriList = RelayUtil.getSharedUris(this); int sharedContactId = RelayUtil.getSharedContactId(this); if (uriList.size() > 1) { - String message = String.format(getString(R.string.share_multiple_attachments), uriList.size()); + String message = String.format(getString(R.string.ask_send_files_to_selected_chat), uriList.size()); + if (SendRelayedMessageUtil.containsVideoType(context, uriList)) { + message += "\n\n" + getString(R.string.videos_sent_without_recoding); + } new AlertDialog.Builder(this) .setMessage(message) .setCancelable(false) diff --git a/src/main/java/org/thoughtcrime/securesms/util/SendRelayedMessageUtil.java b/src/main/java/org/thoughtcrime/securesms/util/SendRelayedMessageUtil.java index e534e3a3c..76d96c7d4 100644 --- a/src/main/java/org/thoughtcrime/securesms/util/SendRelayedMessageUtil.java +++ b/src/main/java/org/thoughtcrime/securesms/util/SendRelayedMessageUtil.java @@ -74,6 +74,16 @@ public class SendRelayedMessageUtil { } } + public static boolean containsVideoType(Context context, ArrayList uris) { + for (final Uri uri : uris) { + final String mimeType = MediaUtil.getMimeType(context, uri); + if (MediaUtil.isVideoType(mimeType)) { + return true; + } + } + return false; + } + public static DcMsg createMessage(Context context, Uri uri, String text) throws NullPointerException { DcContext dcContext = DcHelper.getContext(context); DcMsg message; diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index d602e38bc..1840add53 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -656,8 +656,9 @@ Forward to… - Send %1$d files to the selected chat?\n\nThe files are sent unmodified in their original size (eg. images and videos are not re-encoded). - Send %1$d file(s) to %2$d chats?\n\nThe files are sent unmodified in their original size (eg. images and videos are not re-encoded). + Send %1$d files to the selected chat? + Send %1$d file(s) to %2$d chats? + (Videos are sent as original, big files. To send videos as smaller files, attach them separately). Send this text to %1$d chats?\n\n\"%2$s\" Sharing aborted due to missing permissions.