Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-25568] Android: EmailDialog fails to attach more than 1 blob

GitHub Issuen/a
TypeBug
PriorityLow
StatusOpen
ResolutionUnresolved
Affected Version/sn/a
Fix Version/sn/a
ComponentsAndroid
Labelsandroid, blob, email, emaildialog, engSchedule
ReporterJoshua Quick
AssigneeJoshua Quick
Created2017-11-29T03:21:02.000+0000
Updated2019-06-18T15:35:30.000+0000

Description

*Summary:* When adding multiple blobs as attachments to an EmailDialog, only the last blob gets attached to the e-mail. And the last blob attached is duplicated in the e-mail for every previous blob attachment attempted to be added. *Steps to Reproduce:*

Set up an Android device with a working mail app.

Build and run the below code on that device.

Tap the "Send E-Mail" button.

var window = Ti.UI.createWindow();
var button = Ti.UI.createButton({ title: "Send E-Mail" });
button.addEventListener("click", function(e) {
	var dialog = Ti.UI.createEmailDialog();
	dialog.subject = "E-Mail Test";
	dialog.toRecipients = ["john.doe@domain.com", "jane.doe@domain.com"];
	dialog.messageBody = "This is the e-mail's body.\nThis is the second line.";
	dialog.addAttachment(window.toImage());
	dialog.addAttachment(button.toImage());
	dialog.open();
});
window.add(button);
window.open();
*Result:* The e-mail draft shows 2 image file attachments that are exactly the same when it shouldn't. They should be different images. *Expected Result:* The e-mail draft should have 2 image file attachments. * Screenshot of the entire Titanium app window. * Screenshot of just the "Send E-Mail" button. *Work-Around:* Write the blobs to file and attach the files instead. *Reason it Fails:* Titanium's "EmailDialogProxy" Java class writes all blobs to a temp file with the same file name, "attachment". So, each blob added overwrites the previous one in the temp directory. https://github.com/appcelerator/titanium_mobile/blob/master/android/modules/ui/src/java/ti/modules/titanium/ui/EmailDialogProxy.java#L217

Comments

No comments

JSON Source