Fix crash from treating mms groups like Signal groups after sms is disabled.

Fixes #12534
fork-5.53.8
Cody Henthorne 2022-10-17 11:33:16 -04:00 zatwierdzone przez Greyson Parrelli
rodzic ba3dd79d4e
commit 3b3dcdcb14
3 zmienionych plików z 7 dodań i 2 usunięć

Wyświetl plik

@ -2726,7 +2726,7 @@ public class ConversationParentFragment extends Fragment
inputPanel.setHideForBlockedState(true);
smsExportStub.setVisibility(View.GONE);
registerButton.setVisibility(View.VISIBLE);
} else if (!conversationSecurityInfo.isPushAvailable() && !(SignalStore.misc().getSmsExportPhase().isSmsSupported() && conversationSecurityInfo.isDefaultSmsApplication()) && recipient.hasSmsAddress()) {
} else if (!conversationSecurityInfo.isPushAvailable() && !(SignalStore.misc().getSmsExportPhase().isSmsSupported() && conversationSecurityInfo.isDefaultSmsApplication()) && (recipient.hasSmsAddress() || recipient.isMmsGroup())) {
unblockButton.setVisibility(View.GONE);
inputPanel.setHideForBlockedState(true);
smsExportStub.setVisibility(View.VISIBLE);

Wyświetl plik

@ -158,6 +158,11 @@ public class RemoteDeleteSendJob extends BaseJob {
throw new IllegalStateException("Cannot delete a message that isn't yours!");
}
if (!conversationRecipient.isRegistered() || conversationRecipient.isMmsGroup()) {
Log.w(TAG, "Unable to remote delete non-push messages");
return;
}
List<Recipient> possible = Stream.of(recipients).map(Recipient::resolved).toList();
List<Recipient> eligible = RecipientUtil.getEligibleForSending(Stream.of(recipients).map(Recipient::resolved).toList());
List<RecipientId> skipped = Stream.of(SetUtil.difference(possible, eligible)).map(Recipient::getId).toList();

Wyświetl plik

@ -130,7 +130,7 @@ public class IncomingLollipopMmsConnection extends LollipopMmsConnection impleme
try {
retrieved = (RetrieveConf) new PduParser(baos.toByteArray(), parseContentDisposition).parse();
} catch (NullPointerException e) {
} catch (AssertionError | NullPointerException e) {
Log.w(TAG, "Badly formatted MMS message caused the parser to fail.", e);
throw new MmsException(e);
}