From a826d3fb03f29a07ea12e44237b2c02ea1926c74 Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Mon, 10 Jan 2011 13:35:47 -0800 Subject: [PATCH] Pixel perfect: Message view Still waiting for a few missing assets, but it's done other than that. The divider change is already merged; new layouts all use the framework style. It's basically all layout changes, except for: - Now the recepient address line has "Show details", which shows a dialog with all to/cc/bcc addresses with the timestamp. - Now invite response buttons are checkboxes. (But the basic behavior doesn't change -- once you check a response, the message will be gone, so you can't change the response later.) Copied message_header_bg from gmail manuall. It'll look silly without it. Bug 3138021 Bug 3307021 Change-Id: I6f7eb91d6104c3143a5c58b0c4c6c19929cea477 --- res/drawable-hdpi/message_header_bg.png | Bin 0 -> 25020 bytes res/drawable-hdpi/presence_inactive.png | Bin 1007 -> 0 bytes res/drawable-mdpi/message_header_bg.png | Bin 0 -> 3412 bytes res/drawable-mdpi/presence_inactive.png | Bin 3411 -> 0 bytes res/layout-xlarge/message_view_attachment.xml | 172 +++++++ res/layout-xlarge/message_view_fragment.xml | 433 +++++++++--------- res/layout-xlarge/message_view_invitation.xml | 139 ++++++ res/layout/message_view_attachment.xml | 6 +- res/layout/message_view_details.xml | 98 ++++ res/layout/message_view_fragment.xml | 78 +--- res/layout/message_view_invitation.xml | 8 +- res/values/colors.xml | 3 + res/values/strings.xml | 8 + src/com/android/email/Utility.java | 20 +- .../email/activity/ContactStatusLoader.java | 3 +- .../email/activity/MessageViewFragment.java | 59 ++- .../activity/MessageViewFragmentBase.java | 99 ++-- .../MessageViewMessageDetailsDialog.java | 91 ++++ src/com/android/email/mail/Address.java | 38 +- .../com/android/email/UtilityUnitTests.java | 12 + .../android/email/mail/AddressUnitTests.java | 181 ++++---- 21 files changed, 996 insertions(+), 452 deletions(-) create mode 100644 res/drawable-hdpi/message_header_bg.png delete mode 100644 res/drawable-hdpi/presence_inactive.png create mode 100644 res/drawable-mdpi/message_header_bg.png delete mode 100755 res/drawable-mdpi/presence_inactive.png create mode 100644 res/layout-xlarge/message_view_attachment.xml create mode 100644 res/layout-xlarge/message_view_invitation.xml create mode 100644 res/layout/message_view_details.xml create mode 100644 src/com/android/email/activity/MessageViewMessageDetailsDialog.java diff --git a/res/drawable-hdpi/message_header_bg.png b/res/drawable-hdpi/message_header_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..9306813e3d44af08da7db80dcdd300691e357499 GIT binary patch literal 25020 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 diff --git a/res/drawable-mdpi/message_header_bg.png b/res/drawable-mdpi/message_header_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..9a161844e24bc2ead1873fa48b4a0cc3e43ab0f2 GIT binary patch literal 3412 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 diff --git a/res/layout-xlarge/message_view_attachment.xml b/res/layout-xlarge/message_view_attachment.xml new file mode 100644 index 000000000..e47b350d2 --- /dev/null +++ b/res/layout-xlarge/message_view_attachment.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + +