No need to delete by raw contact id
This commit is contained in:
@@ -516,22 +516,22 @@ public class ContactHelper {
|
|||||||
|
|
||||||
deletedKeys.remove(masterKeyId);
|
deletedKeys.remove(masterKeyId);
|
||||||
|
|
||||||
// get raw contact to this master key id
|
|
||||||
long rawContactId = findRawContactId(resolver, masterKeyId);
|
|
||||||
Log.d(Constants.TAG, "rawContactId: " + rawContactId);
|
|
||||||
|
|
||||||
ArrayList<ContentProviderOperation> ops = new ArrayList<>();
|
ArrayList<ContentProviderOperation> ops = new ArrayList<>();
|
||||||
|
|
||||||
// Do not store expired or revoked or unverified keys in contact db - and
|
// Do not store expired or revoked or unverified keys in contact db - and
|
||||||
// remove them if they already exist. Secret keys do not reach this point
|
// remove them if they already exist. Secret keys do not reach this point
|
||||||
if (isExpired || isRevoked || !isVerified) {
|
if (isExpired || isRevoked || !isVerified) {
|
||||||
Log.d(Constants.TAG, "Expired or revoked or unverified: Deleting rawContactId "
|
Log.d(Constants.TAG, "Expired or revoked or unverified: Deleting masterKeyId "
|
||||||
+ rawContactId);
|
+ masterKeyId);
|
||||||
if (rawContactId != -1) {
|
if (masterKeyId != -1) {
|
||||||
deleteRawContactById(resolver, rawContactId);
|
deleteRawContactByMasterKeyId(resolver, masterKeyId);
|
||||||
}
|
}
|
||||||
} else if (userIdSplit.name != null) {
|
} else if (userIdSplit.name != null) {
|
||||||
|
|
||||||
|
// get raw contact to this master key id
|
||||||
|
long rawContactId = findRawContactId(resolver, masterKeyId);
|
||||||
|
Log.d(Constants.TAG, "rawContactId: " + rawContactId);
|
||||||
|
|
||||||
// Create a new rawcontact with corresponding key if it does not exist yet
|
// Create a new rawcontact with corresponding key if it does not exist yet
|
||||||
if (rawContactId == -1) {
|
if (rawContactId == -1) {
|
||||||
Log.d(Constants.TAG, "Insert new raw contact with masterKeyId " + masterKeyId);
|
Log.d(Constants.TAG, "Insert new raw contact with masterKeyId " + masterKeyId);
|
||||||
@@ -709,28 +709,6 @@ public class ContactHelper {
|
|||||||
return delete;
|
return delete;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes raw contacts from ContactsContract.RawContacts based on rawContactId. Does not
|
|
||||||
* delete contacts from the "me" contact defined in ContactsContract.Profile
|
|
||||||
*
|
|
||||||
* @param resolver
|
|
||||||
* @param rawContactId
|
|
||||||
* @return number of rows deleted
|
|
||||||
*/
|
|
||||||
private static int deleteRawContactById(ContentResolver resolver, long rawContactId) {
|
|
||||||
// CALLER_IS_SYNCADAPTER allows us to actually wipe the RawContact from the device, otherwise
|
|
||||||
// would be just flagged for deletion
|
|
||||||
Uri deleteUri = ContactsContract.RawContacts.CONTENT_URI.buildUpon().
|
|
||||||
appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();
|
|
||||||
|
|
||||||
return resolver.delete(deleteUri,
|
|
||||||
ContactsContract.RawContacts.ACCOUNT_TYPE + "=? AND " +
|
|
||||||
ContactsContract.RawContacts._ID + "=?",
|
|
||||||
new String[]{
|
|
||||||
Constants.ACCOUNT_TYPE, Long.toString(rawContactId)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes raw contacts from ContactsContract.RawContacts based on masterKeyId. Does not
|
* Deletes raw contacts from ContactsContract.RawContacts based on masterKeyId. Does not
|
||||||
* delete contacts from the "me" contact defined in ContactsContract.Profile
|
* delete contacts from the "me" contact defined in ContactsContract.Profile
|
||||||
|
|||||||
Reference in New Issue
Block a user