diff --git a/src/com/android/server/telecom/Ringer.java b/src/com/android/server/telecom/Ringer.java
index 4d97f4d..39a8185 100644
--- a/src/com/android/server/telecom/Ringer.java
+++ b/src/com/android/server/telecom/Ringer.java
@@ -30,6 +30,8 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 
+import java.util.ArrayList;
+
 /**
  * Controls the ringtone player.
  */
@@ -238,11 +240,13 @@
     private boolean shouldRingForContact(Uri contactUri) {
         final NotificationManager manager =
                 (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
-        final Bundle extras = new Bundle();
+        final Bundle peopleExtras = new Bundle();
         if (contactUri != null) {
-            extras.putStringArray(Notification.EXTRA_PEOPLE, new String[] {contactUri.toString()});
+            ArrayList<Notification.Person> personList = new ArrayList<>();
+            personList.add(new Notification.Person().setUri(contactUri.toString()));
+            peopleExtras.putParcelableArrayList(Notification.EXTRA_PEOPLE_LIST, personList);
         }
-        return manager.matchesCallFilter(extras);
+        return manager.matchesCallFilter(peopleExtras);
     }
 
     private boolean hasExternalRinger(Call foregroundCall) {
