Merge tag 'android-4.4.1_r1' into HEAD

Android 4.4.1 Release 1
Fix IllegalArgumentException.

Include alternative display name in the phone lookup projection, since
the BT app needs it. Fixes this backtrace:

D BluetoothPbapObexServer: search by number, requestSize=1 offset=0 searchValue=4436029097
E DatabaseUtils: Writing exception to parcel
E DatabaseUtils: java.lang.IllegalArgumentException: Invalid column display_name_alt
E DatabaseUtils: 	at android.database.sqlite.SQLiteQueryBuilder.computeProjection(SQLiteQueryBuilder.java:632)
E DatabaseUtils: 	at android.database.sqlite.SQLiteQueryBuilder.buildQuery(SQLiteQueryBuilder.java:447)
E DatabaseUtils: 	at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:393)
E DatabaseUtils: 	at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6066)
E DatabaseUtils: 	at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:5846)
E DatabaseUtils: 	at com.android.providers.contacts.ContactsProvider2.queryInternal(ContactsProvider2.java:4810)
E DatabaseUtils: 	at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4773)
E DatabaseUtils: 	at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E DatabaseUtils: 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E DatabaseUtils: 	at android.os.Binder.execTransact(Binder.java:351)
E DatabaseUtils: 	at dalvik.system.NativeStart.run(Native Method)

Change-Id: I15f531c5b0ea4b0a4a9de864872dd3256667e568
JIRA:CYAN-2204
ContactsProvider : Add new projection columns for contact

http://review.cyanogenmod.org/#/c/29191/2 introduced new columns
to be used for projection, however SQLiteQueryBuilder's projectionmap
was not updated. This is required to avoid this error :

E/DatabaseUtils(12835): Writing exception to parcel
E/DatabaseUtils(12835): java.lang.IllegalArgumentException: Invalid column display_name
E/DatabaseUtils(12835): 	at android.database.sqlite.SQLiteQueryBuilder.computeProjection(SQLiteQueryBuilder.java:632)
E/DatabaseUtils(12835): 	at android.database.sqlite.SQLiteQueryBuilder.buildQuery(SQLiteQueryBuilder.java:447)
E/DatabaseUtils(12835): 	at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:393)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6016)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:5992)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4780)
E/DatabaseUtils(12835): 	at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils(12835): 	at android.content.ContentResolver.query(ContentResolver.java:372)
E/DatabaseUtils(12835): 	at android.content.ContentResolver.query(ContentResolver.java:315)
E/DatabaseUtils(12835): 	at com.android.vcard.VCardComposer.initInterCursorCreationPart(VCardComposer.java:440)
E/DatabaseUtils(12835): 	at com.android.vcard.VCardComposer.init(VCardComposer.java:399)
E/DatabaseUtils(12835): 	at com.android.vcard.VCardComposer.init(VCardComposer.java:346)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.outputRawContactsAsVCard(ContactsProvider2.java:7572)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.openAssetFileLocal(ContactsProvider2.java:7329)
E/DatabaseUtils(12835): 	at com.android.providers.contacts.ContactsProvider2.openAssetFile(ContactsProvider2.java:7128)
E/DatabaseUtils(12835): 	at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:937)
E/DatabaseUtils(12835): 	at android.content.ContentProvider$Transport.openTypedAssetFile(ContentProvider.java:268)
E/DatabaseUtils(12835): 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:283)
E/DatabaseUtils(12835): 	at android.os.Binder.execTransact(Binder.java:351)
E/DatabaseUtils(12835): 	at dalvik.system.NativeStart.run(Native Method)

Change-Id: I8ad094296a8a20b7c483b815510314dcbeb2e9ca
ContactsProvider: Fix polyphones in Chinese.

    Merge the resolution for polyphones in Chinese from https://github.com/ShenduOS/android_packages_providers_ContactsProvider/commit/d232513ba086fd0508def8ef0f7fb7d9cec5d171, thanks the Shendu OS team.

    Patch Set 2:
       Format the code style.

Change-Id: I84d5921ec43502bcfd2a1aefd4cae9fd0600c9d1
Contacts provider: add fb sync

Enables the abbility to contact fb contacts into
the normal contacts app

thanks to Paul O'Brien for the idea

and Xiao-Long Chen for the port to kitkat

Change-Id: I4efb5f512fce6d880cfa5719b4083026bd90bb2a
ContactsProvider: make lookupAndCacheId() synchronized

ContactProvider insert a new mimetype to database if
it's not found in db, but an error is observed that
column mimetype is not unique when inserting.
It's a concurrency error when multiple threads are
executing lookupAndCacheId() synchronously,
so we make this method synchronized to guarantee
that query and insert will be executed atomically.

Change-Id: I1d7006bb0dadef159be64525985a93d68f79704b
Signed-off-by: Leavitt Zhang <leavittz@nvidia.com>
auto-merger: merge in from slim/kk4.4