From f1800660580eb49af0854db29b7e006e3e12d401 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Sat, 23 Jan 2021 15:31:48 -0500 Subject: [PATCH] Disallow link previews in multi-forward when sending to SMS. --- .../interstitial/ShareInterstitialActivity.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialActivity.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialActivity.java index 8c196ac0c..5b0c9bb42 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialActivity.java @@ -10,6 +10,7 @@ import androidx.appcompat.widget.Toolbar; import androidx.lifecycle.ViewModelProviders; import androidx.recyclerview.widget.RecyclerView; +import com.annimon.stream.Stream; import com.dd.CircularProgressButton; import org.thoughtcrime.securesms.PassphraseRequiredActivity; @@ -19,6 +20,7 @@ import org.thoughtcrime.securesms.components.SelectionAwareEmojiEditText; import org.thoughtcrime.securesms.linkpreview.LinkPreviewRepository; import org.thoughtcrime.securesms.linkpreview.LinkPreviewViewModel; import org.thoughtcrime.securesms.mms.GlideApp; +import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.sharing.MultiShareArgs; import org.thoughtcrime.securesms.sharing.MultiShareDialogs; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; @@ -80,6 +82,16 @@ public class ShareInterstitialActivity extends PassphraseRequiredActivity { LinkPreviewViewModel.Factory linkPreviewViewModelFactory = new LinkPreviewViewModel.Factory(linkPreviewRepository); linkPreviewViewModel = ViewModelProviders.of(this, linkPreviewViewModelFactory).get(LinkPreviewViewModel.class); + + boolean hasSms = Stream.of(args.getShareContactAndThreads()) + .anyMatch(c -> { + Recipient recipient = Recipient.resolved(c.getRecipientId()); + return !recipient.isRegistered() || recipient.isForceSmsSelection(); + }); + + if (hasSms) { + linkPreviewViewModel.onTransportChanged(hasSms); + } } private void initializeViews(@NonNull MultiShareArgs args) {