changed to use the new EntityIterator interface
diff --git a/src/com/android/exchange/adapter/ContactsSyncAdapter.java b/src/com/android/exchange/adapter/ContactsSyncAdapter.java
index 1228354..7211794 100644
--- a/src/com/android/exchange/adapter/ContactsSyncAdapter.java
+++ b/src/com/android/exchange/adapter/ContactsSyncAdapter.java
@@ -41,6 +41,7 @@
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.Groups;
 import android.provider.ContactsContract.RawContacts;
+import android.provider.ContactsContract.RawContactsEntity;
 import android.provider.ContactsContract.Settings;
 import android.provider.ContactsContract.SyncState;
 import android.provider.ContactsContract.CommonDataKinds.Email;
@@ -741,16 +742,19 @@
                         try {
                             if (c.moveToFirst()) {
                                 // TODO Handle deleted individual rows...
+                                Uri uri = ContentUris.withAppendedId(
+                                        RawContacts.CONTENT_URI, c.getLong(0));
+                                uri = Uri.withAppendedPath(
+                                        uri, RawContacts.Entity.CONTENT_DIRECTORY);
+                                EntityIterator entityIterator = RawContacts.newEntityIterator(
+                                    mContentResolver.query(uri, null, null, null, null));
                                 try {
-                                    EntityIterator entityIterator =
-                                        mContentResolver.queryEntities(ContentUris
-                                            .withAppendedId(RawContacts.CONTENT_URI, c.getLong(0)),
-                                            null, null, null);
                                     if (entityIterator.hasNext()) {
                                         entity = entityIterator.next();
                                     }
                                     userLog("Changing contact ", serverId);
                                 } catch (RemoteException e) {
+                                    // TODO: log the fact that we failed to read the entity
                                 }
                             }
                         } finally {
@@ -1765,7 +1769,7 @@
     public boolean sendLocalChanges(Serializer s) throws IOException {
         // First, let's find Contacts that have changed.
         ContentResolver cr = mService.mContentResolver;
-        Uri uri = RawContacts.CONTENT_URI.buildUpon()
+        Uri uri = RawContactsEntity.CONTENT_URI.buildUpon()
                 .appendQueryParameter(RawContacts.ACCOUNT_NAME, mAccount.mEmailAddress)
                 .appendQueryParameter(RawContacts.ACCOUNT_TYPE, Eas.ACCOUNT_MANAGER_TYPE)
                 .appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true")
@@ -1777,7 +1781,8 @@
 
         try {
             // Get them all atomically
-            EntityIterator ei = cr.queryEntities(uri, RawContacts.DIRTY + "=1", null, null);
+            EntityIterator ei = RawContacts.newEntityIterator(
+                    cr.query(uri, null, RawContacts.DIRTY + "=1", null, null));
             ContentValues cidValues = new ContentValues();
             try {
                 boolean first = true;