You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by an...@apache.org on 2012/02/04 04:37:43 UTC

[3/3] git commit: CB-75 contact.remove does not remove the contact fully

CB-75 contact.remove does not remove the contact fully


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/e0fea2c3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/e0fea2c3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/e0fea2c3

Branch: refs/heads/master
Commit: e0fea2c3526115cfe189de59f6e2b00e94b3d6f5
Parents: fa4d6d3
Author: Anis Kadri <an...@gmail.com>
Authored: Fri Feb 3 19:32:31 2012 -0800
Committer: Anis Kadri <an...@gmail.com>
Committed: Fri Feb 3 19:32:31 2012 -0800

----------------------------------------------------------------------
 .../src/com/phonegap/ContactAccessorSdk5.java      |   17 ++++++++++++--
 1 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/e0fea2c3/framework/src/com/phonegap/ContactAccessorSdk5.java
----------------------------------------------------------------------
diff --git a/framework/src/com/phonegap/ContactAccessorSdk5.java b/framework/src/com/phonegap/ContactAccessorSdk5.java
index 09bd91a..f6bb32a 100644
--- a/framework/src/com/phonegap/ContactAccessorSdk5.java
+++ b/framework/src/com/phonegap/ContactAccessorSdk5.java
@@ -1617,9 +1617,20 @@ public class ContactAccessorSdk5 extends ContactAccessor {
    * @param id the unique ID of the contact to remove
    */
   public boolean remove(String id) {
-      int result = mApp.getContentResolver().delete(ContactsContract.Data.CONTENT_URI, 
-          ContactsContract.Data.CONTACT_ID + " = ?", 
-          new String[] {id});     
+        int result = 0;
+        Cursor cursor = mApp.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, 
+                                                        null,
+                                                        ContactsContract.Contacts._ID + " = ?",
+                                                        new String[] {id}, null);
+        if(cursor.getCount() == 1) {
+            cursor.moveToFirst();
+            String lookupKey = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
+            Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey);
+            result = mApp.getContentResolver().delete(uri, null, null);
+        } else {
+          Log.d(LOG_TAG, "Could not find contact with ID");
+        }
+
       return (result > 0) ? true : false;
   }