Disassociate direct replies when remote-deleting a story.

This commit is contained in:
Alex Hart 2022-10-06 16:17:36 -03:00 committed by Greyson Parrelli
parent e3dff46136
commit 72347af967
2 changed files with 14 additions and 1 deletions

View file

@ -989,6 +989,17 @@ public class MmsDatabase extends MessageDatabase {
}
}
private void disassociateStoryQuotes(long storyId) {
ContentValues contentValues = new ContentValues(2);
contentValues.put(QUOTE_MISSING, 1);
contentValues.putNull(QUOTE_BODY);
getWritableDatabase().update(TABLE_NAME,
contentValues,
PARENT_STORY_ID + " = ?",
SqlUtil.buildArgs(new ParentStoryId.DirectReply(storyId).serialize()));
}
@Override
public boolean isGroupQuitMessage(long messageId) {
SQLiteDatabase db = databaseHelper.getSignalReadableDatabase();
@ -1380,6 +1391,7 @@ public class MmsDatabase extends MessageDatabase {
SignalDatabase.messageLog().deleteAllRelatedToMessage(messageId, true);
SignalDatabase.reactions().deleteReactions(new MessageId(messageId, true));
deleteGroupStoryReplies(messageId);
disassociateStoryQuotes(messageId);
threadId = getThreadIdForMessage(messageId);
SignalDatabase.threads().update(threadId, false);

View file

@ -9,6 +9,7 @@ import org.thoughtcrime.securesms.components.mention.MentionAnnotation;
import org.thoughtcrime.securesms.mms.QuoteModel;
import org.thoughtcrime.securesms.mms.SlideDeck;
import org.thoughtcrime.securesms.recipients.RecipientId;
import org.thoughtcrime.securesms.util.Util;
import java.util.List;
@ -37,7 +38,7 @@ public class Quote {
this.mentions = mentions;
this.quoteType = quoteType;
SpannableString spannable = new SpannableString(text);
SpannableString spannable = new SpannableString(Util.emptyIfNull(text));
MentionAnnotation.setMentionAnnotations(spannable, mentions);
this.text = spannable;