Smart Dialling v2 with phone number support

Behavior:
Use a prefix tree to cache contacts instead of an array list
Perform matches against phone numbers as well
DialpadFragment now ignores results from stale tasks where
queries no longer match
Add ability to not use default phone number for phone number
disambiguation dialog
Contacts are now ranked by the order which they were sorted
by in the ContactsProvider (affinity)
Change remapAccentedChars to always return lowercase characters to avoid
overhead of uppercase character conversion

Resource/Layout changes:
Tweak margins so that the section containing smart dial
suggestions looks cleaner
Use color resource instead of hardcoding color values
Add phone number to SmartDial items

ContentObserver:
Add a contentobserver to be notified on changes in contacts
Refactored cache to allow for forced cache refreshes
Use a single instance of SmartDialCache

Tests:
Added SmartDialTrie tests

Comments:
Comment cleanup

Change-Id: Ica2854e2845d4d75048aa1fd982f139496d21bf3
12 files changed
tree: 73b3766312b2f66a19ff2e5241c3c952da63733c
  1. res/
  2. src/
  3. tests/
  4. Android.mk
  5. AndroidManifest.xml
  6. proguard.flags