Previously we overloaded Contacts.CONTENT_URI to return
vCard-formatted Contacts entries. To fix http://b/2138790
this is a separate API that returns a well-known MIME-type.
Also helps fix http://b/2078399 by adding OFFICE_LOCATION.
- Add FOR_EXPORT_ONLY to Data column.
- Make VCardComposer use Contacts instead of RawContacts.
- Make VCardComposer honor FOR_CONTACT_ONLY regardless of
the intention of any caller, which makes composer unable to
compose any contact with "is_restricted" flag, which is unseen
from outside the contacts provider.
Internal Issue number: 2147248, 2143207
We no longer back up the state of the "Allow the installation of applications
from unknown sources" setting, nor do we set that based on restore data even if
it is present.
Change-Id: Ida276874616f1ff82807d642b0b733fcab339529
We recently added several new phone types, and this change
updates the API that resolves thoses types to strings. It
also uses unique string resources for each type, instead of
relying on types to be <string-array> indexes.
Fixes http://b/2118886
This is a minor optimization for the sake of the aggregator. The aggregator now relies on the display name
instead of structured components. As a result, we only need one column from the data table
for the structured name. For other data types it's data1. Might as well use the same column
for display name.
Change-Id: Ib22d1f1a7a91f12716d1a460e1578f01926c393a
The rationale is this. Since all these joined columns are currently on
different classes, we routinely see code like this:
private static final String[] PROJECTION_PHONE = {
Data._ID, // 0
Data.CONTACT_ID, // 1
Phone.TYPE, // 2
Phone.NUMBER, // 3
Phone.LABEL, // 4
Data.DISPLAY_NAME, // 5
};
After this change, the above declaration changes to:
private static final String[] PROJECTION_PHONE = {
Phone._ID, // 0
Phone.CONTACT_ID, // 1
Phone.TYPE, // 2
Phone.NUMBER, // 3
Phone.LABEL, // 4
Phone.DISPLAY_NAME, // 5
};
Change-Id: I2e84bca3277aeef06eec20cee8c2119ef3b90a9f
In particular, this no longer attempts to back up the on/off state of specific
backend syncing [gmail/contacts/calendar], nor the "background data" toggle.
The former was causing a great deal of spurious trips through backup as the
notification was being tickled during general sync operation, and the latter
makes little sense at restore time.
Fixes these issues:
b/2097613 - frequent "backup_data_changed" messages in event log
b/2131662 - should not backup background data, master sync settings
The rationale is this. Since all these joined columns are currently on
different classes, we routinely see code like this:
private static final String[] PROJECTION_PHONE = {
Data._ID, // 0
RawContacts.CONTACT_ID, // 1
Phone.TYPE, // 2
Phone.NUMBER, // 3
Phone.LABEL, // 4
Contacts.DISPLAY_NAME, // 5
};
The most noxious line is RawContacts.CONTACT_ID
After this change, the above declaration changes to:
private static final String[] PROJECTION_PHONE = {
Data._ID, // 0
Data.CONTACT_ID, // 1
Phone.TYPE, // 2
Phone.NUMBER, // 3
Phone.LABEL, // 4
Data.DISPLAY_NAME, // 5
};
Change-Id: I03bfc700e4c8c58a175bc885bf7b807d7fed0744
The rationale is this. Since all these joined columns are currently on
different classes, we routinely see code like this:
private static final String[] PROJECTION_PHONE = {
Data._ID, // 0
RawContacts.CONTACT_ID, // 1
Phone.TYPE, // 2
Phone.NUMBER, // 3
Phone.LABEL, // 4
Contacts.DISPLAY_NAME, // 5
};
The most noxious line is RawContacts.CONTACT_ID
After this change, the above declaration changes to:
private static final String[] PROJECTION_PHONE = {
Data._ID, // 0
Data.CONTACT_ID, // 1
Phone.TYPE, // 2
Phone.NUMBER, // 3
Phone.LABEL, // 4
Data.DISPLAY_NAME, // 5
};
Change-Id: I820e68efd6c1364241596f826c4da1b9c2defe11
Change internal widget to use new FastTrack API instead of
using SHOW_OR_CREATE. Also reset the internal Uri when
reused in lists. Fixes http://b/2087222