Merge "Fix assert fail during onSaveInstanceState()" am: 2af5b4b045 am: 5380b1e04d am: 6076b0e44f am: ec1986b65f

Change-Id: I57315d67131cd5aa715728a024b821364bbff996
This commit is contained in:
Treehugger Robot
2020-03-31 20:50:49 +00:00
committed by Automerger Merge Worker

View File

@@ -339,11 +339,23 @@ public class DraftMessageData extends BindableData implements ReadDraftDataActio
*/
private boolean addOneAttachmentNoNotify(final MessagePartData attachment) {
Assert.isTrue(attachment.isAttachment());
// Check duplication.
for (final MessagePartData existingAttachment : mAttachments) {
if (existingAttachment.getContentUri().equals(attachment.getContentUri())) {
// Destroy existing attachment and replace with new attachment instead of destroying
// new one so that mSelectedImages in GalleryGridView could be maintained correctly.
mAttachments.remove(existingAttachment);
existingAttachment.destroyAsync();
addAttachment(attachment, null /*pendingAttachment*/);
return false;
}
}
final boolean reachedLimit = getAttachmentCount() >= getAttachmentLimit();
if (reachedLimit || containsAttachment(attachment.getContentUri())) {
// Never go over the limit. Never add duplicated attachments.
if (reachedLimit) {
// Never go over the limit.
attachment.destroyAsync();
return reachedLimit;
return true;
} else {
addAttachment(attachment, null /*pendingAttachment*/);
return false;