diff --git a/src/com/android/email/activity/MessageViewFragmentBase.java b/src/com/android/email/activity/MessageViewFragmentBase.java index 12e09a8b5..bec27d974 100644 --- a/src/com/android/email/activity/MessageViewFragmentBase.java +++ b/src/com/android/email/activity/MessageViewFragmentBase.java @@ -796,10 +796,12 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O } String subject = mMessage.mSubject; String date = formatDate(mMessage.mTimeStamp, true); - String from = Address.toString(Address.unpack(mMessage.mFrom)); - String to = Address.toString(Address.unpack(mMessage.mTo)); - String cc = Address.toString(Address.unpack(mMessage.mCc)); - String bcc = Address.toString(Address.unpack(mMessage.mBcc)); + + final String SEPARATOR = "\n"; + String from = Address.toString(Address.unpack(mMessage.mFrom), SEPARATOR); + String to = Address.toString(Address.unpack(mMessage.mTo), SEPARATOR); + String cc = Address.toString(Address.unpack(mMessage.mCc), SEPARATOR); + String bcc = Address.toString(Address.unpack(mMessage.mBcc), SEPARATOR); MessageViewMessageDetailsDialog dialog = MessageViewMessageDetailsDialog.newInstance( getActivity(), subject, date, from, to, cc, bcc); dialog.show(getActivity().getFragmentManager(), null); diff --git a/src/com/android/email/activity/MessageViewMessageDetailsDialog.java b/src/com/android/email/activity/MessageViewMessageDetailsDialog.java index a63a731a3..9f64277d3 100644 --- a/src/com/android/email/activity/MessageViewMessageDetailsDialog.java +++ b/src/com/android/email/activity/MessageViewMessageDetailsDialog.java @@ -39,7 +39,6 @@ public class MessageViewMessageDetailsDialog extends DialogFragment { private static final String BUNDLE_TO = "to"; private static final String BUNDLE_CC = "cc"; private static final String BUNDLE_BCC = "bcc"; - private static final String TextView = null; public static MessageViewMessageDetailsDialog newInstance(Activity parent, String subject, String date, String from, String to, String cc, String bcc) { diff --git a/src/com/android/email/mail/Address.java b/src/com/android/email/mail/Address.java index 9453a61ba..7283a27f0 100644 --- a/src/com/android/email/mail/Address.java +++ b/src/com/android/email/mail/Address.java @@ -218,6 +218,17 @@ public class Address { * @return Human readable comma-delimited address string. */ public static String toString(Address[] addresses) { + return toString(addresses, ","); + } + + /** + * Get human readable address strings joined with the specified separator. + * + * @param addresses Address array + * @param separator Separator + * @return Human readable comma-delimited address string. + */ + public static String toString(Address[] addresses, String separator) { if (addresses == null || addresses.length == 0) { return null; } @@ -226,7 +237,7 @@ public class Address { } StringBuffer sb = new StringBuffer(addresses[0].toString()); for (int i = 1; i < addresses.length; i++) { - sb.append(','); + sb.append(separator); sb.append(addresses[i].toString()); } return sb.toString(); diff --git a/tests/src/com/android/email/mail/AddressUnitTests.java b/tests/src/com/android/email/mail/AddressUnitTests.java index ba4f50012..0f18d12ae 100644 --- a/tests/src/com/android/email/mail/AddressUnitTests.java +++ b/tests/src/com/android/email/mail/AddressUnitTests.java @@ -368,23 +368,56 @@ public class AddressUnitTests extends AndroidTestCase { * Test various combinations of the toString (multi) method */ public void testToStringMulti() { - Address[] addresses = Address.parse(MULTI_ADDRESSES_LIST); + final Address[] address = Address.parse("noname1@dom1.com"); + final Address[] addresses = Address.parse(MULTI_ADDRESSES_LIST); assertEquals("multi addrsses count", MULTI_ADDRESSES_COUNT, addresses.length); - String line = Address.toString(addresses); - assertEquals("toString multi", - "noname1@dom1.com," - + "noname2@dom2.com," - + "simple name ," - + "\"name,4\" ," - + "\"big \"G\"\" ," - + "\u65E5\u672C\u8A9E ," - + "\u65E5\u672C\u8A9E ," - + "\uD834\uDF01\uD834\uDF46 ," - + "\uD834\uDF01\uD834\uDF46 ," - + "noname@dom.com", - line); + { + String line = Address.toString(address); + assertEquals("toString multi-1", + "noname1@dom1.com", + line); + } + { + String line = Address.toString(addresses); + assertEquals("toString multi-n", + "noname1@dom1.com," + + "noname2@dom2.com," + + "simple name ," + + "\"name,4\" ," + + "\"big \"G\"\" ," + + "\u65E5\u672C\u8A9E ," + + "\u65E5\u672C\u8A9E ," + + "\uD834\uDF01\uD834\uDF46 ," + + "\uD834\uDF01\uD834\uDF46 ," + + "noname@dom.com", + line); + } + + // With custom separator + { + String line = Address.toString(address, "$"); + assertEquals("toString multi-1", + "noname1@dom1.com", + line); + } + + { + String line = Address.toString(addresses, "$"); + assertEquals("toString multi-n", + "noname1@dom1.com$" + + "noname2@dom2.com$" + + "simple name $" + + "\"name,4\" $" + + "\"big \"G\"\" $" + + "\u65E5\u672C\u8A9E $" + + "\u65E5\u672C\u8A9E $" + + "\uD834\uDF01\uD834\uDF46 $" + + "\uD834\uDF01\uD834\uDF46 $" + + "noname@dom.com", + line); + } } /** @@ -480,7 +513,7 @@ public class AddressUnitTests extends AndroidTestCase { noName1, noName2, simpleName, dquoteName, quotedName, utf16Name, utf32Name, }; String line = Address.toHeader(addresses); - + assertEquals("toHeader() multi", "noname1@dom1.com, " + "noname2@dom2.com, "