Fix crash when draft text is null.

Fixes #10913
fork-5.53.8
Fumiaki Yoshimatsu 2021-02-19 16:17:30 -05:00 zatwierdzone przez Cody Henthorne
rodzic 2e82ee0aaf
commit 687192f071
3 zmienionych plików z 10 dodań i 8 usunięć

Wyświetl plik

@ -196,11 +196,11 @@ public class MediaSendActivity extends PassphraseRequiredActivity implements Med
return intent;
}
public static Intent buildShareIntent(@NonNull Context context,
@NonNull List<Media> media,
@NonNull List<RecipientId> recipientIds,
@NonNull CharSequence body,
@NonNull TransportOption transportOption)
public static Intent buildShareIntent(@NonNull Context context,
@NonNull List<Media> media,
@NonNull List<RecipientId> recipientIds,
@Nullable CharSequence body,
@NonNull TransportOption transportOption)
{
Intent intent = new Intent(context, MediaSendActivity.class);
intent.putParcelableArrayListExtra(KEY_MEDIA, new ArrayList<>(media));

Wyświetl plik

@ -82,7 +82,7 @@ public final class MultiShareArgs implements Parcelable {
return dataType;
}
public String getDraftText() {
public @Nullable String getDraftText() {
return draftText;
}

Wyświetl plik

@ -72,7 +72,9 @@ public final class MultiShareSender {
boolean forceSms = recipient.isForceSmsSelection() && transport.isSms();
int subscriptionId = transport.getSimSubscriptionId().or(-1);
long expiresIn = recipient.getExpireMessages() * 1000L;
boolean needsSplit = !transport.isSms() && message.length() > transport.calculateCharacters(message).maxPrimaryMessageSize;
boolean needsSplit = !transport.isSms() &&
message != null &&
message.length() > transport.calculateCharacters(message).maxPrimaryMessageSize;
boolean isMediaMessage = !multiShareArgs.getMedia().isEmpty() ||
(multiShareArgs.getDataUri() != null && multiShareArgs.getDataUri() != Uri.EMPTY) ||
multiShareArgs.getStickerLocator() != null ||
@ -132,7 +134,7 @@ public final class MultiShareSender {
int subscriptionId)
{
String body = multiShareArgs.getDraftText();
if (transportOption.isType(TransportOption.Type.TEXTSECURE) && !forceSms) {
if (transportOption.isType(TransportOption.Type.TEXTSECURE) && !forceSms && body != null) {
MessageUtil.SplitResult splitMessage = MessageUtil.getSplitMessage(context, body, transportOption.calculateCharacters(body).maxPrimaryMessageSize);
body = splitMessage.getBody();