History log of /packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7a700cf798a19a8452b8671f643a05336f63f611 28-Oct-2011 Katherine Kuan <katherinekuan@google.com> Launch quick contacts after selecting frequent contact on tablet

- Previously clicking on a frequently contacted person
would request the contact detail fragment to load that contact,
but the app wouldn't switch tabs or update the selected contact
in the contact list.

- Pass the Rect of the target view to the listener to launch quick
contacts

Bug: 5236515
Change-Id: Ic2d888ed02f8fd2b5a47d49f99cc96755bf55d37
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
f7689c377caba183daa41856d01a8c1a2f7ba811 24-Oct-2011 Katherine Kuan <katherinekuan@google.com> Show "no contacts" in frequent list on tablet

- This was already merged in master
https://android-git.corp.google.com/g/#/c/144789/
but needs to be cherry-picked to ics-mr1.
We can't mark it as "do not merge" because
it still needs to be merged to ics-mr1-plus-asop.
When submitting, I'll stand by to manually
say skip if the automerger detects a conflict
when merging to master.

- We need to show "no contacts" under the
"frequently contacted" header in the frequent
fragment in the People app on the tablet.

Since that header was originally the 0th item
in the ListView, to show an empty view we would
either have to:

1) Add a second fake item in the ListView that shows
"No contacts". This requires either returning
view type "empty view" or view type "frequent"
for position = 1 based on the cursor count.
Checking the cursor in getItemViewType()
would make this more than a UI change.

2) Move the "Frequently contacted" header
outside the ListView and make the ContactTileAdapter
show the empty view state when there are 0
frequently contacted people (instead of the
existing implementation which fakes it by returning
1 when the cursor count is 0).

- This CL uses the second option so that we don't
need to add a cursor dependency in getItemViewType()
of ContactTileAdapter.

- Added a TODO because UI changes like this highlight
the fact that we should do some refactoring to
ContactTileAdapter and ContactTileListFragment
so that it's easier to add specific functionality to
the favorites, frequent, or group list.

Bug: 5485640
Change-Id: Ib365543892f452cc9c87406ed2d04c1b5aad4b2c
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
08bcf715d5ea7f07ce18a282d9850ac70552ca9d 09-Oct-2011 Katherine Kuan <katherinekuan@google.com> Only show "add connection" button if relevant

- We don't want to present the user with the "add connection"
button if the user doesn't use the account that provides the
service

- Check if app contributing the account type is disabled or not

- Check if there is an activity to handle the "add connection"
intent

- Check if there are raw contacts in the database with that
account type

- Store this in a cache, and refresh it after a certain
period of time (i.e. 1 second) using an AsyncTask.
This is to prevent computing the list each time the contact
is loaded (which can happen many times especially when looking
at a detail page during a sync).

- Make sure public AccountTypeManager methods
first check ensureAccountsLoaded()

Bug: 5398529
Change-Id: I004f9562a587035a3168aaddb6eb43710fd201e6
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
6f74c0f3313cbb08ee8a8fbb79bfefc5b03fe215 27-Sep-2011 Makoto Onuki <omakoto@google.com> Fix account list for group editing (for master)

- Don't use contact writable account list to populate the
account picker when creating new groups, instead check for
isGroupMembershipEditable() on the account type

- Repeat the same for determining whether the "new group"
button should appear in the PeopleActivity or not

Bug: 5360120
Change-Id: Ifd2fd1cf4ea7bf02d4dcba3e9c023bd7041fab83
Original-Id: Ia1ec62eff3fe4fd5b495548218c58f238ff49788
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
01a9fac7bd963d29c607cb17d579b68a71aa8854 16-Sep-2011 Dave Santoro <dsantoro@google.com> Fix phone number comparison in Phone Favorites.

This switches to using ContactsUtils.shouldCollapse for determining
whether we should combine the two numbers.

Bug 5294289

Change-Id: Id1ec369cfe698b52186ff392255d789458622e9d
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
e86b753ca40e1db03f97f82ba218b7c236584acb 08-Sep-2011 Hugo Hudson <hugohudson@google.com> Fixing up the tests.

- Recent change b35ab01 changed the prefix highlight colour but didn't
update the test. This fixes the test.
- ContactUtils.areObjectsEqual() method is no longer in use, so was being
removed by Proguard, causing the test to fail. The method may be useful
in the future, annotated it with @NeededForTesting.
- Some setTextWithHighlightingFactory... methods in both
DisplayNameFormatter and ContactListItemView were not being used any
longer, only by the unit tests that tested them. Proguard was therefore
removing them, causing the tests to fail.

Change-Id: I8e52a6d4dc7eac398777897b38cad4ef44d4fa7d
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
dabe1234137b8edb472421d5afdc7b657f148142 07-Sep-2011 Daniel Lehmann <lehmannd@google.com> Fix the aggregation of exact matches where string equality is not given

Also added some more unit tests to make sure we are calling into the
library

Bug:5250277
Change-Id: I99ae7475ec08b10ed24f5184ca6f38884bc96dbc
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
a1bbf6139bb1e0d30078fe6c99effaf45f7416ef 16-Aug-2011 Isaac Katzenelson <isaack@android.com> Fix empty state layouts

Bug: 5074806 Fix empty state layouts
Bug: 5109507 During loading group, we show "no groups"
instead of "loading groups"

- Changed the layout of contacts_unavailable_fragment to Marco's specs.
- Added a secondary message for empty state.
- Aligned layouts of empty state of each specific fragment to match the
full empty state.
- Removed "No Groups" message when group list fragment is loading the
group list

Change-Id: I5cea254e5892955906127599374dc706d2aca91b
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
8cebd7f86f952729bc83c7601ba101a705cdeab3 12-Aug-2011 Shaopeng Jia <shaopengjia@google.com> Renaming com.google.i18n.phonenumbers to com.android.i18n.phonenumbers
to avoid name collision.

Bug: 5157607
Change-Id: I8569776c3c4ae1ba9b346495e51b846fbe065f74
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
0a39387107a29a8fe42f760e7e660cbda33d53f3 09-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use i18n phone number lib when comparing two phone numbers

PhoneNumberUtils#compare() returns false positive result.

Bug: 2586019
Change-Id: Ia4ebd9adb36eca15f879dd3ec45870fa0c555f55
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
dfe20250b9f3d2cf134ba2a8a97399322ad48010 05-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Adding proper chat capability icons to contact detail

Change-Id: I4d9e01e08a8d70bb6e1591f92436a5ab7c194be6
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
19d51ac4d931c17c8d84b65ed13199c0ccdeb20e 04-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Renaming an activity class. Removing dead code.

Change-Id: I509fa747441d8d3d5168aa07a4ada4434f02d190
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
69f9e6f0cd9b5401da55f251e9bd98e69643d7df 04-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Renaming fields and variables from "source" to "accountType"

Change-Id: Ie41036e35a45fc7d9a8c934a3cbe68399c567ad6
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
0615664636b9201d97360cbba32bb99755eee3c5 23-Nov-2010 Daniel Lehmann <lehmannd@google.com> New assets

Change-Id: Ic65a3921db6d7ec18a0aa1d79bceeb26b8293158
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
4597c92d655d45447780b32c7572acef110b6ed1 15-Nov-2010 Dmitri Plotnikov <dplotnikov@google.com> Renaming BaseAccountType to AccountType

Change-Id: Iff47bac0e1a118f4a5319526304df16cb89bd0cd
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
35769b804fbfd5a1fc0b2c36cd0a786d662c4334 19-Oct-2010 Daniel Lehmann <lehmannd@google.com> Renamed Sources to AccountTypes

Change-Id: I088c7d9cd66fd4d38e93bc97a6644247f72037ef
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
09eb04f8765671c429d18b578ae163c917dad26a 01-Sep-2010 Bai Tao <michaelbai@google.com> Format the number through new method

Change-Id: I536d7d94ab360daedfb36e645351d24d28cd2f37
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
8fd7bb6815399b3eaa7e1fb5f12a3983d2ff1006 14-Aug-2010 Daniel Lehmann <lehmannd@google.com> Show commands for XMPP video chat for Google Talk

Change-Id: I8ff105ff42ffa89b81500f386db3279ffde5fe80
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
ba34422241add512a295064619e91cd12d03c80f 29-Jul-2010 Bai Tao <michaelbai@google.com> Format the number by the convention of the country the user is in

Change-Id: I1d44e4cfebcd983585c4b9d0ba57bb4a5849a25d
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
d8b0a05f88099a734b75ed6b4628660feb00445f 26-Mar-2010 Daniel Lehmann <lehmannd@google.com> Don't merge numbers if they only differ after a semicolon
Bug:2432347

Change-Id: Ie62f36a29ae76287265f5ec19fc5507c0d368adf
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
8e24b4036150efd45a2b73bbf1e5ea8574d28db3 04-Mar-2010 Dmitri Plotnikov <dplotnikov@google.com> Adding an option to take a picture directly from Contacts app

Bug: 2480342
Change-Id: I4702e4177e524ff14962e81bd7749768920bd99a
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
effb7ff73e41bffdad6264b6370d3bfe467b6b33 17-Dec-2009 Jeff Hamilton <jham@android.com> Cleanup a doc link.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
1bf258e4a6b3f2ea1c5494f16cfc414994508ca8 15-Dec-2009 Jeff Hamilton <jham@android.com> Update to accomodate IM unbundling.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
46befc3c110616a775b03fdb51778037900f457e 28-Oct-2009 Daisuke Miyakawa <dmiyakawa@google.com> Consolidate Contacts code.

As per the issue 2217164, I roughly looked over how the variable "phoneNumber" is treaded in Eclair, and found the code around it looked a little flaky.

I believe this change does not make Contacts code easier to read, while there's no malicious regression.

Internal issue number: 2217164
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
c710b0e7a7932288763d7e3d08a882ac188303a8 14-Oct-2009 Makoto Onuki <omakoto@google.com> Dedupe same entries in the fasttrack action list.

Fixes b/2159633.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
e31dac84479a4c7b356edfc062a447cdfb5efc69 08-Oct-2009 Jeff Sharkey <jsharkey@android.com> Trim edit fields that don't contain printable values.

When persisting edit changes, trim data rows that have no
printable characters. Also wrote unit tests for new method
and building of IM intents to check Uri escaping.

Fixes http://b/2173811
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
434551849d279bd24ca132ba4102b0d55823f59e 08-Oct-2009 Evan Millar <emillar@google.com> Handle IM entries with missing protocol field.

Fix bc_triaged bug http://b/issue?id=2174637
Dr. No approval from Tim Sullivan

Change-Id: Ia91c39e91a54e3c58ec94d1c5064a9572519f036
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
624ddc3cce02e3d9216e87564766fd86e814675d 02-Oct-2009 Jeff Sharkey <jsharkey@android.com> Include Google Talk presence, even when missing Im rows.

When inserting Google Talk presence updates, we match on
both Im and Email rows. This change adds presence "dots"
to individual Im rows, and creates in-memory Im rows when
Email entries have presence.

This loads status details through a second query and holds
back building UI until both queries finish. This change
also generalizes logic for building Im intents borrowed
from FastTrack code.

This change also fixes a regression that was dropping third-
party data rows. The second-query approach above allows us
to remove a large chunk of code that was using old API.

Fixes http://b/2161796
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
2ad90a3f2367c256d958cfee6881e6409ac37707 21-Sep-2009 Neel Parekh <neel@google.com> Try to do an update before inserting.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
ab066931efd4b6408b5f57026b421eb4a7934a39 21-Sep-2009 Jeff Sharkey <jsharkey@android.com> Split sources, partial inflation, third-party support.

This change splits HardCodedSources into separate classes
so they could borrow helpers from fallback. This also
finishes up FallbackSource so it handles all new types
supported by ContactsContract. The view inflaters now
handle showing all types, even if not supported as a choice
during edit. This approach also allows us to partially
inflate sources, speeding up view and FastTrack. Fixes
http://b/2116999 and http://b/2126675 and makes progress
towards fixing http://b/2134623

This change also fixes on-phone contacts, meaning we
always have fallback sources, fixing http://b/2119637 and
http://b/2123401

Repurpose code from StyleManager for Sources inflation of
third-party data sources, fixing http://b/2126691

Fix FastTrack chicklet bug so we uncheck when switching
between tabs. Since all types are in framework, we borrow
those strings here, and also clean up our descriptions for
translation.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
14fecb6de54a95e85846e4d30a66a7fe5beebce3 09-Sep-2009 Evan Millar <emillar@google.com> Show a disambig dialoge to choose a number when initiating a call on a contact.

This fixes 2098966

Change-Id: I6fd80a2fe25ab1b6d36d913cb96c7927939512b7
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
49d17b3e7692ae9442c342db236fa93d4a837c28 07-Sep-2009 Jeff Sharkey <jsharkey@android.com> Lookup uris, delete, aggregation rules, untyped, sharing.

ContactsListView: combined together various import/export
menus under single dialog, hiding SIM import when no ICC
present. Switched almost all cases to use soft "lookup"
uris, especially for pick and operation cases. Brought
back delete in long-press menu, and pick modes needed for
SHOW_OR_CREATE. These partially fix http://b/2096050 and
http://b/2096870 and http://b/2102632

ViewContactActivity: changed menus to inflate from XML,
added "Share" option to replace barcode. Confirmed that it
sends vCard through Gmail, other apps can match MIME-type
to begin appearing in picker. Changed EAS rules back to
untyped for Email and IM, which now allows use to use IM
type as protocol picker. Fixes http://b/2072731 and
http://b/2092744 and http://b/2088935

EditContactActivity: restructured editing to front-load all
version assertions, and perform as single batch to prepare
for reparenting. Correctly generate AggregationExceptions
using new API from dplotnikov, especially in cases where we
create multiple RawContacts from scratch. Unit tests to
verify exceptions built correctly for edge cases. Also
showing toast when saving failed. These changes were mostly
untracked, but fixes http://b/2099211

Various untracked NPE related to untyped HardCodedSources
and cleanup of "tel" "smsto" and SMS MIME-type constants.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
f19104cc70fba290e000c379e06fb16f1e021a0f 03-Sep-2009 Evan Millar <emillar@google.com> Add missing import. Fix the build.

Change-Id: I9ddf3cb6bf530c77fb89e0e2aa6505d6a52505c1
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
2cd5100f4478627ff96a1c16dd96fedf26544d10 02-Sep-2009 Evan Millar <emillar@google.com> Fix http://b/issue?id=2086484 and http://b/issue?id=2087539

Change-Id: I392e52ac821a2eabd40c26024dbc587e6e63236f
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
11d628c52c16a18c0caf40df0ce43396e7592ffc 02-Sep-2009 Evan Millar <emillar@google.com> Use ContactsSource in View

Combine BaseContactCardActivity and ViewContactActivity, since
EditContactActivity isn't using it anyway.

Use Entity querying, and ContactsSource in ViewContactActivity.

Change-Id: Idc0fb4d5d4e2637f5a345461362d55d4bfcb6cf2
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
8a79ceeb11542750dbe33c69fa0dc7765ab82306 20-Aug-2009 Evan Millar <emillar@google.com> Handle saving and communicating selected tab between View/Edit activities.

EditContactActivity now accepts intents with raw_contacts instead of
contacts. In addition it reports back which raw_contact was selected on
exit.

ViewContactActivity now saves and restores which raw_contact was
currently being viewed, and uses the raw_contact reported back from
EditContactActivity. The overall effect is when moving from View->Edit
or Edit->View the selected tab doesn't change.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
3f0b7b87cd41b5a9cd631b6fcf29ea5025905e18 12-Aug-2009 Jeff Sharkey <jsharkey@android.com> Use AccountManager for details, handle INSERT cases.

Connected Sources to use AccountManager and inflate details
through registered sync adapters. Each ContactsSource now
has a "level" of inflation, since deeper levels aren't
always needed right away. Several places we're making
blocking calls into other processes that are tied to the UI
thread. (This would take a large effort to fix.)

Turned most background Edit activity operations into
WeakAsyncTask, which helps finish background tasks while
preventing leaked Contexts. This allows us to hold the UI
thread while saving, but release it just before ANR,
allowing the background operation to complete.

Enabled INSERT case, both from overall list and when already
editing an aggregate. Finally, cleaned up the manifest
intent-filters to directly match authorities.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
802b205ac677ffbde9aaf4fa3cfa9b94e8c98a44 04-Aug-2009 Jeff Sharkey <jsharkey@android.com> Bring back Fast-Track with yummy assets and animations.

Fast-Track had been quite neglected, so brought it back up
to speed with ContactsContract changes. Also rearranged
the Action launching logic to use ContactsSource.DataKind
for any icons and label generation. Wrote slide animation
that looks awesome.

Added Fast-Track triggering to normal contacts list, since
it has photos now. Also supports being launching in various
modes, which for now are three sizes.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
e731d426eda3692402f3cecdc29421fcf7f1fb54 29-Jul-2009 Jeff Sharkey <jsharkey@android.com> Fixed VERSION check, persist changed values, IM changes.

Moved the buildDiff() VERSION assertion to the first
operation, since otherwise the value has already changed
when we reach it.

Added the few lines needed to start persisting any edited
data. Still need to write the back-off and retry when we
encounter a VERSION failure.

Cleaned up our hard-coded data types, added support for
StructuredPostal and IM editors. Standardized the EditText
flags for IME between the sources. Based on a pending
framework change, moved to using two fields for IM to mirror
how we handle TYPE values.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
7911ff5f130d956219ae8a393193769d82b3af83 22-Jul-2009 Evan Millar <emillar@google.com> First pass at tabbed contact viewing.

ScrollingTabWidget - This is a generic widget for displaying tab like
elements, that may not fit on the screen. The visual design for this
widget is still in flux.

BaseContactCardActivity - This is an abstract class that should be
extended by any Activity that displays information about a specific
contact and allows filtering on different RawContacts associated with
the contact. ViewContactActivity.java extends this class.
EditContactActivity will want to eventually. The abstract class
implements OnTabSelectionChangedListener and will get called on
onTabSelectionChanged() when a new tab is selected. This way the
activity can react to tab selection changes.

ViewContactActivity - This now extends BaseContactActivity.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
c6ad3abd847682c07d52c97f04ae8a5885148a0b 22-Jul-2009 Jeff Sharkey <jsharkey@android.com> Refactored to StructuredPostal and RES_PACKAGE.

Matched framework change that refactored StructuredPostal
and RES_PACKAGE, also removal of Groups.PACKAGE_ID.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
48cf72be9daba8cc0fbe37666d68c2868eb34285 17-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Removing references to Organization.TYPE_HOME
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
2c1cc83c08e82c5eb468f6f66253d74b45e84813 13-Jul-2009 Evan Millar <emillar@google.com> Adds photos to a-z list.

The implementation is meant to keep scrolling the list as smooth as
possible. Photo loading is only done once the list stops scrolling, at
which point, all visible photos are loaded and stuck in a cache.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
0a40ffa7bb99577e950d6b6f25a994898be96615 19-Jun-2009 Evan Millar <emillar@google.com> Brings back ContactsListActivity back to feature parity with donut (with a couple exceptions).

The exceptions are:
-Groups have yet to be implemented.
-MODE_QUERY_PICK_TO_VIEW is still commented out. We
probably won't need to support it, but we'll leave it in until
we're sure.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
3926127faa6b3a4fabc90d5d6ba42b96a5f1d8e5 04-Jun-2009 Jeff Sharkey <jsharkey@android.com> Iteration on fast-track to show better data and disambig.

Finished up code that allows for disambiguation between
multiple contact methods under same mime-type. Per design,
the fast-track window expands to show all choices when there
are multiple available. For example, it shows a list
between "Home", "Work" and "Mobile" if an aggregate has
three phone numbers. Back key will first dismiss the
disambig list if shown, before dismissing the dialog.

Moved fast-track to use Rect target areas to be more
flexible, instead of splitting up into multiple variables.

Correctly measure the fast-track window now, instead of
relying on hard-coded constants. Now using the new query
path provided by SocialContract to provide single-line
social summary for a given aggregate, instead of using
hard-coded social string.

Added a third data query to pull display name for aggregate
along with most-present presence from provider. Changed
fast-track to make chicklets focusable for dpad navigation.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
7e4accfd39f8c88fbeb69c2d3926d6e6b9f5344d 08-Jun-2009 Evan Millar <emillar@google.com> Gets EditContactActivity back into a basic working state.

Editing of already existing values works. Adding new values, or new
contacts does not.

-Updated manifest to match the new
"vnd.android.cursor.item/person_aggregate" mimetype.
-Much of EditContactActivity is completely commented out now. In
particular anything to do with adding new contacts, editing current
values, or group management, has been gutted.
-Added endcodePredefinedImProtocol() and encodeCustomImProtocol() to
ContactsUtils.java
-Fixed a bug in star toggling in ViewContactActivity.
-ViewContactActivity now shows the display name from the StructuredName
data row instead of the copy in the aggregate table.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
45e0ed3e5ecfaacf35cdb22a0f8e53cb558cd23b 02-Jun-2009 Evan Millar <emillar@google.com> Adds photo display, and primary state editing to ViewContact.

Hooks up the contact thumbnail to the actual photo data instead of
always showing the placeholder image.

Imlements changing the "primary" state of phone number and emails.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java
66388be1cbc0a6de6355e89b7521f6fee3c49f03 29-May-2009 Evan Millar <emillar@google.com> Get ViewContactActivity working at a basic level with ContactsProvider2.

With this change the ViewContactActivity is able to display the common
data types defined in ContactsContract. The intents associated with
clicking each item will not necessarily work, as the receiving apps
don't know about the schema changes yet.

Also removed links to ContactsContract.java and SocialContract.java
since those classes have been moved on android.providers and are
accessible without the hard links now.

Made a trivial chane to the fastrack UI by changing the scaleType of the
contact method images from fitCenter to centerInside.
/packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java