Send Intent when CallerInfoCache should be updated
The cache should be updated when:
- custom ringtone is set,
- send-to-voicemail is set,
- a contact is edited and the change is submitted
(discard shouldn't cause cache update)
- contacts are joined, or separated
Bug: 1735194
Change-Id: Icd4fea5fd09cc3adcffc5364705ab40e92f4e6e4
diff --git a/src/com/android/contacts/ContactSaveService.java b/src/com/android/contacts/ContactSaveService.java
index 6de361d..3fbca54 100644
--- a/src/com/android/contacts/ContactSaveService.java
+++ b/src/com/android/contacts/ContactSaveService.java
@@ -21,6 +21,7 @@
import com.android.contacts.model.EntityDelta;
import com.android.contacts.model.EntityDeltaList;
import com.android.contacts.model.EntityModifier;
+import com.android.contacts.util.CallerInfoCacheUtils;
import com.google.android.collect.Lists;
import com.google.android.collect.Sets;
@@ -177,11 +178,15 @@
@Override
protected void onHandleIntent(Intent intent) {
+ // Call an appropriate method. If we're sure it affects how incoming phone calls are
+ // handled, then notify the fact to in-call screen.
String action = intent.getAction();
if (ACTION_NEW_RAW_CONTACT.equals(action)) {
createRawContact(intent);
+ CallerInfoCacheUtils.sendUpdateCallerInfoCacheIntent(this);
} else if (ACTION_SAVE_CONTACT.equals(action)) {
saveContact(intent);
+ CallerInfoCacheUtils.sendUpdateCallerInfoCacheIntent(this);
} else if (ACTION_CREATE_GROUP.equals(action)) {
createGroup(intent);
} else if (ACTION_RENAME_GROUP.equals(action)) {
@@ -198,12 +203,16 @@
clearPrimary(intent);
} else if (ACTION_DELETE_CONTACT.equals(action)) {
deleteContact(intent);
+ CallerInfoCacheUtils.sendUpdateCallerInfoCacheIntent(this);
} else if (ACTION_JOIN_CONTACTS.equals(action)) {
joinContacts(intent);
+ CallerInfoCacheUtils.sendUpdateCallerInfoCacheIntent(this);
} else if (ACTION_SET_SEND_TO_VOICEMAIL.equals(action)) {
setSendToVoicemail(intent);
+ CallerInfoCacheUtils.sendUpdateCallerInfoCacheIntent(this);
} else if (ACTION_SET_RINGTONE.equals(action)) {
setRingtone(intent);
+ CallerInfoCacheUtils.sendUpdateCallerInfoCacheIntent(this);
}
}