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

Change-Id: I78381031a5efa1e501f75a3c832e561269e68695
This commit is contained in:
Treehugger Robot
2020-03-31 21:09:31 +00:00
committed by Automerger Merge Worker
@@ -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;