diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt index db8d53214..95e8977b0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt @@ -269,16 +269,18 @@ class MultiselectForwardFragment : return ContactSearchConfiguration.build { query = contactSearchState.query - addSection( - ContactSearchConfiguration.Section.Stories( - groupStories = contactSearchState.groupStories, - includeHeader = true, - headerAction = getHeaderAction(), - expandConfig = ContactSearchConfiguration.ExpandConfig( - isExpanded = contactSearchState.expandedSections.contains(ContactSearchConfiguration.SectionKey.STORIES) + if (FeatureFlags.stories() && isSelectedMediaValidForStories()) { + addSection( + ContactSearchConfiguration.Section.Stories( + groupStories = contactSearchState.groupStories, + includeHeader = true, + headerAction = getHeaderAction(), + expandConfig = ContactSearchConfiguration.ExpandConfig( + isExpanded = contactSearchState.expandedSections.contains(ContactSearchConfiguration.SectionKey.STORIES) + ) ) ) - ) + } if (query.isNullOrEmpty()) { addSection( @@ -309,6 +311,10 @@ class MultiselectForwardFragment : return Util.isDefaultSmsProvider(requireContext()) && requireArguments().getBoolean(ARG_CAN_SEND_TO_NON_PUSH) } + private fun isSelectedMediaValidForStories(): Boolean { + return getMultiShareArgs().all { it.isValidForStories } + } + override fun onGroupStoryClicked() { ChooseGroupStoryBottomSheet().show(parentFragmentManager, ChooseGroupStoryBottomSheet.GROUP_STORY) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareArgs.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareArgs.java index 264572f54..a8fb72b01 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareArgs.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareArgs.java @@ -126,6 +126,10 @@ public final class MultiShareArgs implements Parcelable { return expiresAt; } + public boolean isValidForStories() { + return !media.isEmpty() && media.stream().allMatch(m -> MediaUtil.isImageOrVideoType(m.getMimeType()) && !MediaUtil.isGif(m.getMimeType())); + } + public @NonNull InterstitialContentType getInterstitialContentType() { if (!requiresInterstitial()) { return InterstitialContentType.NONE;