History log of /packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3ab9a63014a2d5e097d221b424d6d4809295abd0 27-Sep-2011 Makoto Onuki <omakoto@google.com> Remove extra line in status updates

- Remove trailing newlines in status updates
(i.e. reshared posts have HTML block quote
tags which get turned into 2 new lines)

Couldn't find a trim() utility method in
Spanned, SpannableStringBuilder, TextUtils, or
CharSequence - it only exists in String, but converting
to a String would cause loss of span info. Instead,
we iterate to look for new line characters manually.

- Hide stream item text views if there is no text
(i.e. prevent an extra new line when there is only an
image and attribution)

- Padding fix in contact editor

Bug: 5279541
Change-Id: Ia1b77da74b18371b022d49720ab42a7b234ba331
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
3d3a15c465b0c4105148458307a7b50e9b267fd0 22-Sep-2011 Makoto Onuki <omakoto@google.com> Don't use avater as stream photo placeholder

Bug 5230226

Change-Id: I084676f2322c4071b938f3925471f3128cb6f10d
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
ecfc26c3f9495f1a4efed69a1582ff2b0deb2c71 13-Sep-2011 Daniel Lehmann <lehmannd@google.com> New avatars

Bug:5074147

Change-Id: I583d22c63a7b617567c523efeed292ae1e2be7e4
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
be7a9d511eed5a549226b2e1bc2ebd6f65018c4c 06-Sep-2011 Katherine Kuan <katherinekuan@google.com> Pixel perfect phone landscape contact card

- Make contact photo larger

- Detect the difference between stream item updates with text only versus
with text + photos --> In order to add padding between images + text without
affecting the other cases

- Make tabs in tab carousel have the right initial alpha value

- Add some constants for the maxLine values in ContactDetailFragment

- Make HtmlUtils not crash with NPE if the streamItem.getText() is null.

Bug: 5254628
Change-Id: I858b4cbfac13fe2105159cf13a4bc6b64442745e
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
1b4572ba0ba449a4ed0cc896f5f694f33b43f073 06-Sep-2011 Dmitri Plotnikov <dplotnikov@google.com> Posprocessing HTML for stream items.

- Aligning images
- Fixing the margin and color of the blockquote

Bug: 5250700
Bug: 5243091
Change-Id: Ife799c669ac98bf8f7033529fb2b0977ad91ce09
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
570d3a110bf35d9576f168f9c9b3788c6aa0e431 30-Aug-2011 Mindy Pereira <mindyp@google.com> Prevent attribution/ comments from getting cut off

This is the new design for bug:5236510 where text is shown
below (instead of beside) an image.

Makes sure that the attribution and comments lines always show
and that the content does not get cut off in the vertical middle
of a line.

Remove quotes from updates tab text.

Add margin on the tablet portrait contact card view.

Change-Id: Ica021a807a7ab1178e305d3eab6347133ffc3595
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
afd283a8a65e0cfd62204c948fa2bce3004db657 23-Aug-2011 Katherine Kuan <katherinekuan@google.com> Remove "joined contact" message from the contact card

Bug: 5166655
Change-Id: I2a983f9d34ec9f2732e01b64dcf890c3d925c1af
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
6c0470e21d8506fb53915df7463634fd47288343 17-Aug-2011 Katherine Kuan <katherinekuan@google.com> Coordinate scrolling between two lists on contact card

FRAGMENT CHANGES:

- Add a method on each of these fragments to scroll the list by
a given offset (only when the first "fake" item in the list
is at the first visible position on the list). If any other
item (2nd, 3rd, etc..) is the first visible position on the list,
then it gets too complicated to figure out how much to offset the
list, so it's better to just animate the tab carousel to be at the
right spot.

- Add a method that returns the top position of the first item
in the list if the first item in list is visible (to verify
that the offset was done properly). If the offset is not
what we expect, then we know the list couldn't be scrolled.

TAB CAROUSEL:

- Keep track of the Y position of the carousel the last time
the user was on the details page, and the last time the user was
on the updates page. This is because syncing the scroll position
of the 2 lists or animating the tab carousel vertically is only
necessary if the tab carousel position has changed between the
two pages.

LAYOUT CONTROLLER:

- We need to be able to animate the tab carousel to the correct
Y position anyways because if the list in the fragment is not
scrollable (but the other list is scrollable), we need to rely on
animation to hide the big white space below the carousel.

- When a list (i.e. in the ContactDetailFragment) is idle, the user
has stopped interacting with the list, so use the time to sync
its position with the other list (since this may involve a
requestLayout() if a scroll is triggered).

- Because the list may not become completely idle (i.e. the user
flings the list and then starts to swipe), we still need a check
when the user starts swiping the view pager to sync the two lists.
If it's already at the right spot, then do nothing. If we can't
scroll the other list dynamically and we need to animate the tab
carousel, and we should only do this when the view pager has
settled down and is idle.

MISCELLANEOUSE EDGE CASES:

- Fix the tab carousel jumping to the starting position (if a sync
happens and the loader data is refreshed) because the layout is
likely being redrawn and the tab carousel is potentially redrawn
back inside the bounds of its parent. Hence store and reset the
tab carousel position to its previous Y value (which could be
outside the bounds of its parent).

- If the list is scrollable but only by a little bit, allow
the tab carousel to compensate by animating down the rest of the
offset amount

- Tapping on the tab should also work now

- Make photo in updates tab fill the whole tab, change
updates fragment background except for the tablet landscape mode

Bug: 5044680
Change-Id: Icc9445606ea52779dea97b194763c74a0b2a27ee
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
7b45613a6df9eef617d73c9058ec1fb296142119 19-Aug-2011 Makoto Onuki <omakoto@google.com> Make update items/photos highlight when they're clickable

- Highlighting used to work not because "stream_item_content" had the proper
background but because it was the default behavior for ListView items.

- Implement StreamItemAdapter.isEnabled() and make all list items disabled,
so they don't highlight when not necessary. i.e. when items don't have a
click listener set.

- Instead set a click listener to the "stream_item_content" view.

- And change the background to "?android:attr/selectableItemBackground",
which is the default background for list items.

- Also make photo views highlightable when they're clickable.

Bug 5180619

Change-Id: I06bff9d1a0e5385fa66edd4577ddefb43587621c
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
f748d59e8a31f8c9d054fd11deb9b70250387dab 19-Aug-2011 Makoto Onuki <omakoto@google.com> Launch viewStreamItemPhotoActivity when photo is tapped...

on stream item list, if the account type supports it.

If the account type doesn't support it, tap of photos launches
viewStreamItemActivity as before.

Bug 5185880

Change-Id: I0b43da3e966ee7737937b2dde7a97e4c440d00dc
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
25594d6db384d27641b402cddf23d44818e1cd10 13-Aug-2011 Katherine Kuan <katherinekuan@google.com> Performance improvements for contact card with social updates

- Use background color with alpha hex color instead of
alpha attribute of View
- Instead of posting a runnable in onMeasure, move it
to setCurrentPage / setFragments methods

Bug: 5161205

Change-Id: Ib1ad3b11c359d8fdc1e9143ab9d64c39aa914b91
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
743b8033caba0e55a7cc9365f5876969a4be8c66 12-Aug-2011 Katherine Kuan <katherinekuan@google.com> Add one more string: quote marks around a social update

- For social update previews in the tab carousel, use quotations
at the start/end of the update.

Bug: 5063920
Change-Id: Ib08c24d67f953267781b4cffb42fd823b27d20a5
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
3aa093f06aa766c085a7e164f27c0b71240be74e 11-Aug-2011 Makoto Onuki <omakoto@google.com> Merge "HTML decode social updates"
a370c232a136951076402cba2cb89e0394d23a66 10-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Support for application-provided images in stream items."
7c03fd16d9c6138118b6d236694f650289f27326 10-Aug-2011 Makoto Onuki <omakoto@google.com> HTML decode social updates

Bug 5122642

Change-Id: Ib01742afb8b7a84b75806a66c1983a8b83d7ff7b
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
65ca8b2082300ec9849082e5718b85fbbf30dd31 09-Aug-2011 Flavio Lerda <flerda@google.com> Support for application-provided images in stream items.

This change add a way to include an image in the text and comments of a
stream item.

The image can be included by having an <img> tag whose src attribute is
a URI identifyin of resource to use of the form:

res://package/name

where package is the name of the package containing the resource and
name is the name of the resource as defined by the package (notice, not
the id, but the name of the resource).

Bug: 5123531
Change-Id: I8f35fd1f98a2b9cc8f5223d67f8c143e2714716e
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
4a855e176218fe39bf4b83585bc44c2d650c1a3c 09-Aug-2011 Makoto Onuki <omakoto@google.com> Merge "Disable first name bolding"
599700fb0182a17435cc86137b5f8bd39b8581e2 09-Aug-2011 Makoto Onuki <omakoto@google.com> Disable first name bolding

... on
- Contact list
- Contact card
- Contact editor

Bug 5042741

Change-Id: Ife8d494c19e2daef7e59d819ded52638dc9f2b6f
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
e5532c78dd308c85ae8b09cb6c5641656cd373d4 09-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Layout for Updates with multiple images."
fd43cddee690e84f56163cd1c0899c3200b624e7 05-Aug-2011 Flavio Lerda <flerda@google.com> Layout for Updates with multiple images.

Use a table layout to arrange images in the updates: if the number of
images is even (including no images), the text is placed on its own row.
Otherwise, the text is added together with the last image.

Bug: 5123875
Change-Id: I372a15a3d384fbea79a1cd9f225db3f05996f5d4
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
ead19c5eafee0ffb43b02a4ae75ac5244ad3f853 30-Jul-2011 Isaac Katzenelson <isaack@android.com> Support for local profile

Bug: 5121834 Support local profile
5086184 Account name is overlapped by number of contacts
5082317 Text is chopped on the top in contact list

1. New headers were added at the top of the contact list to
present an empty local profile.
2. Clicking the empty local profile opens the editor to allow
the user to create a local profile.
3. Profiles are shown at the top of the contacts list with the
"ME" header and the number of contatcs.
4. "Add to contacts" button and the starred button were removed
from the details view when it is a profile.
5. Fixed a problem with a header view that remained when you had
a profile or was in search mode.
6. Fixed problem with contacts count apearing in search mode

Change-Id: I45615616e03a603759888d9e7169a853b3328b14
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
a21993720988a5fc0b48594d1ff0ce6f932780b7 04-Aug-2011 Flavio Lerda <flerda@google.com> Small clean-up of stream items utility class.

We do not need a way to add a set of stream items to a container: we now
use a ListView.

Do not set the listener in the helper method: we can just do that in the
adapter itself.

Bug: 5119353
Change-Id: Id647ddc358f82b5fee8628b06645412e48712229
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
22cb663a251af60bc6beeb1954568c8e6a4c34e9 03-Aug-2011 Flavio Lerda <flerda@google.com> Support scrolling of Updates tab.

This commit changes the Updates tab to use a ListView for its items. The
ListView has an extra header item that overlaps with the carousel tab
(if present), and implements the scrolling which hides part of the
carousel (excluding the tab itself).

The fragment now basically contains only a list view, which will store
all the items, and an optional title (I need to check if that's actually
needed, but for now it is there).

The extra header is implemented with a layout: for those configurations
where there is a carousel, the header contains a placeholder which is
the same size as the carousel; for those configurations where there is
no carousel, the header will be an empty FrameLayout (but in those same
cases, there is a header at the top of the list in the fragment's
layout).

This commit does not take care of making the scrolling work across the
two tabs, e.g., when switching between tabs. I will address those issues
in a follow-up.

Bug: 5119353
Change-Id: I0eb6dcc06d624991ab1f5f8fe1197337ba03286b
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
81281eefd5aaf339cbfa080ddfa6c6f63caca71a 29-Jul-2011 Katherine Kuan <katherinekuan@google.com> Unknown contacts are missing "up" affordance on contact card

- Contacts without a name cause the ContactDetailActivity to have
a blank title and therefore no "up" affordance.

- Use "(no name)" instead of blank or "(Unknown)" and make it
consistent across contact card, contact list, contact tile adapter,
and quick contacts

- Fix NPE when adding social widget for contact with no display
name

Bug: 5061950
Bug: 5096795
Change-Id: Id242e0f6d8bfe835d44be448129fddadd146fdb6
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
965da8446f4bf73217611b43059bd92f311db089 28-Jul-2011 Flavio Lerda <flerda@google.com> Add actions to update items.

This commit let you click on an update item if it has an associated
action and actionUri.

In order to make this visible to the user, it adds a background that
will be highlighted when the item is selected. It also marks the item as
focusable for accessibility.

In order to make the selection expand to the entire row, play around
with the padding a little bit: basically, the update list itself is
now as wide as the screen, and the individual items have padding as
appropriate.

Bug: 5095755
Change-Id: Ib1b2d179152beae125dded1b393b3dfc8b22abc9
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
5a77a5563706fe1b143d976d1b47abaeb873e138 27-Jul-2011 Flavio Lerda <flerda@google.com> Add comments to items in Updates tab.

Bug: 5095383
Change-Id: I87311bc37446fe83bf47aa554774a9a056f3a251
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
3915600d2b0ff499e0129e951dfd39bff46b2f42 19-Jul-2011 Dave Santoro <dsantoro@google.com> Stream items UI.

This is still pretty rough at this point, and does not fully implement
the UI. It handles loading in the stream items and photo metadata in
the contact loader, and displaying those items in a scrollable view
in the updates pane.

Change-Id: I3e796a6141ffa385aa2acc769cf6dd11f37aa39c
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
d814e42a6ac71962a6eeb9ce37b4abc2c1205952 04-Jul-2011 Katherine Kuan <katherinekuan@google.com> Move social snippet and date to updates fragment

- Now the phone landscape view shows the social update
- Make updates tab show 3 lines of the social update
(no status date)
- Remove empty "no updates" view in updates fragment
(if there are no updates, the updates tab shouldn't
even appear)
- Remove star in "about" tab because it's been moved
to the action bar
- TODO: Make this a list of updates when social
integration is ready

Change-Id: I60cf15edb58b8818c63e6fe9b5fec01f64fca563
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
2eb969cc399d87b659a45568fa951d394c216917 28-Jun-2011 Katherine Kuan <katherinekuan@google.com> Contact card with and without social updates

- This is for the phone (landscape and portrait)
- Some tweaks were done to the tablet to prevent regression
but it's not quite ready yet
- No social updates means a single scrolling list of details
- Having social updates means a tab carousel and ViewPager
- Add invisible contact loader fragment
- Now the loader fragment loads the contact --> passes to
ContactDetailActivity --> passes to all necessary fragments /
carousels (no matter the configuration)
- Get rid of ContactDetailAboutFragment and move those changes
into the ContactDetailFragment

Change-Id: I7be55ae7205bbcb8106bf2f2e4ae8dd6ce2c6a78
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
79700889dad553dcde9e22a2fd23df768f68080f 15-Jun-2011 Katherine Kuan <katherinekuan@google.com> Add tabs to contact card

- Since the ContactHeaderView and ContactDetailFragment will still be used
for contacts without updates, leave this code in. Temporarily make all
contact cards have the about and update tabs.
- Use ViewPager for contact details
- Move name and job to action bar
- Add about fragment and updates fragment
- Add carousel for "about" and "updates" tab
- Create utils class for converting ContactLoader results into
strings for display since the ContactHeaderView will no longer
be the only customer for this data

Change-Id: I84ff759ee09daefcc7e7514564c180f27f0400b6
/packages/apps/Contacts/src/com/android/contacts/detail/ContactDetailDisplayUtils.java