Loading src/com/android/contacts/ContactSaveService.java +14 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.contacts; import com.android.contacts.model.AccountTypeManager; import com.android.contacts.model.AccountWithDataSet; import com.android.contacts.model.EntityDelta; import com.android.contacts.model.EntityDeltaList; import com.android.contacts.model.EntityModifier; import com.google.android.collect.Lists; Loading Loading @@ -48,6 +49,7 @@ import android.provider.ContactsContract.Data; import android.provider.ContactsContract.Groups; import android.provider.ContactsContract.Profile; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.RawContactsEntity; import android.util.Log; import android.widget.Toast; Loading Loading @@ -355,9 +357,19 @@ public class ContactSaveService extends IntentService { throw new IllegalStateException("Version consistency failed for a new contact"); } final EntityDeltaList newState = EntityDeltaList.fromQuery(resolver, sb.toString(), null, null); final EntityDeltaList newState = EntityDeltaList.fromQuery( isProfile ? RawContactsEntity.PROFILE_CONTENT_URI : RawContactsEntity.CONTENT_URI, resolver, sb.toString(), null, null); state = EntityDeltaList.mergeAfter(newState, state); // Update the new state to use profile URIs if appropriate. if (isProfile) { for (EntityDelta delta : state) { delta.setProfileQueryUri(); } } } } Loading src/com/android/contacts/activities/ConfirmAddDetailActivity.java +5 −1 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredPostal; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.RawContactsEntity; import android.telephony.PhoneNumberUtils; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -378,7 +379,10 @@ public class ConfirmAddDetailActivity extends Activity implements mSelection = Data.RAW_CONTACT_ID + "=?"; } return EntityDeltaList.fromQuery(activityTarget.getContentResolver(), mSelection, // Note that this query does not need to concern itself with whether the contact is // the user's profile, since the profile does not show up in the picker. return EntityDeltaList.fromQuery(RawContactsEntity.CONTENT_URI, activityTarget.getContentResolver(), mSelection, new String[] { selectionArg }, null); } Loading src/com/android/contacts/model/EntityDeltaList.java +4 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.ContentResolver; import android.content.Entity; import android.content.EntityIterator; import android.content.ContentProviderOperation.Builder; import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; import android.provider.ContactsContract.AggregationExceptions; Loading Loading @@ -63,10 +64,10 @@ public class EntityDeltaList extends ArrayList<EntityDelta> implements Parcelabl * given query parameters. This closes the {@link EntityIterator} when * finished, so it doesn't subscribe to updates. */ public static EntityDeltaList fromQuery(ContentResolver resolver, String selection, String[] selectionArgs, String sortOrder) { public static EntityDeltaList fromQuery(Uri entityUri, ContentResolver resolver, String selection, String[] selectionArgs, String sortOrder) { final EntityIterator iterator = RawContacts.newEntityIterator(resolver.query( RawContactsEntity.CONTENT_URI, null, selection, selectionArgs, entityUri, null, selection, selectionArgs, sortOrder)); try { return fromIterator(iterator); Loading Loading
src/com/android/contacts/ContactSaveService.java +14 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.contacts; import com.android.contacts.model.AccountTypeManager; import com.android.contacts.model.AccountWithDataSet; import com.android.contacts.model.EntityDelta; import com.android.contacts.model.EntityDeltaList; import com.android.contacts.model.EntityModifier; import com.google.android.collect.Lists; Loading Loading @@ -48,6 +49,7 @@ import android.provider.ContactsContract.Data; import android.provider.ContactsContract.Groups; import android.provider.ContactsContract.Profile; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.RawContactsEntity; import android.util.Log; import android.widget.Toast; Loading Loading @@ -355,9 +357,19 @@ public class ContactSaveService extends IntentService { throw new IllegalStateException("Version consistency failed for a new contact"); } final EntityDeltaList newState = EntityDeltaList.fromQuery(resolver, sb.toString(), null, null); final EntityDeltaList newState = EntityDeltaList.fromQuery( isProfile ? RawContactsEntity.PROFILE_CONTENT_URI : RawContactsEntity.CONTENT_URI, resolver, sb.toString(), null, null); state = EntityDeltaList.mergeAfter(newState, state); // Update the new state to use profile URIs if appropriate. if (isProfile) { for (EntityDelta delta : state) { delta.setProfileQueryUri(); } } } } Loading
src/com/android/contacts/activities/ConfirmAddDetailActivity.java +5 −1 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredPostal; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.RawContactsEntity; import android.telephony.PhoneNumberUtils; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -378,7 +379,10 @@ public class ConfirmAddDetailActivity extends Activity implements mSelection = Data.RAW_CONTACT_ID + "=?"; } return EntityDeltaList.fromQuery(activityTarget.getContentResolver(), mSelection, // Note that this query does not need to concern itself with whether the contact is // the user's profile, since the profile does not show up in the picker. return EntityDeltaList.fromQuery(RawContactsEntity.CONTENT_URI, activityTarget.getContentResolver(), mSelection, new String[] { selectionArg }, null); } Loading
src/com/android/contacts/model/EntityDeltaList.java +4 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.ContentResolver; import android.content.Entity; import android.content.EntityIterator; import android.content.ContentProviderOperation.Builder; import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; import android.provider.ContactsContract.AggregationExceptions; Loading Loading @@ -63,10 +64,10 @@ public class EntityDeltaList extends ArrayList<EntityDelta> implements Parcelabl * given query parameters. This closes the {@link EntityIterator} when * finished, so it doesn't subscribe to updates. */ public static EntityDeltaList fromQuery(ContentResolver resolver, String selection, String[] selectionArgs, String sortOrder) { public static EntityDeltaList fromQuery(Uri entityUri, ContentResolver resolver, String selection, String[] selectionArgs, String sortOrder) { final EntityIterator iterator = RawContacts.newEntityIterator(resolver.query( RawContactsEntity.CONTENT_URI, null, selection, selectionArgs, entityUri, null, selection, selectionArgs, sortOrder)); try { return fromIterator(iterator); Loading