Handle null safety source id list in broadcast receiver.

Bug: 215515448
Test: atest SettingsUnitTests
Change-Id: I5c8b24533c4ce39ff28f533fbfc7e386639f4983
diff --git a/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiver.java b/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiver.java
index 55e8bba..0fd0c0d 100644
--- a/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiver.java
+++ b/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiver.java
@@ -33,15 +33,17 @@
             return;
         }
 
-        ImmutableList<String> sourceIds =
-                ImmutableList.copyOf(intent.getStringArrayExtra(EXTRA_REFRESH_SAFETY_SOURCE_IDS));
+        String[] sourceIdsExtra = intent.getStringArrayExtra(EXTRA_REFRESH_SAFETY_SOURCE_IDS);
+        if (sourceIdsExtra != null && sourceIdsExtra.length > 0) {
+            ImmutableList<String> sourceIds = ImmutableList.copyOf(sourceIdsExtra);
 
-        if (sourceIds.contains(LockScreenSafetySource.SAFETY_SOURCE_ID)) {
-            LockScreenSafetySource.sendSafetyData(context);
-        }
+            if (sourceIds.contains(LockScreenSafetySource.SAFETY_SOURCE_ID)) {
+                LockScreenSafetySource.sendSafetyData(context);
+            }
 
-        if (sourceIds.contains(BiometricsSafetySource.SAFETY_SOURCE_ID)) {
-            BiometricsSafetySource.sendSafetyData(context);
+            if (sourceIds.contains(BiometricsSafetySource.SAFETY_SOURCE_ID)) {
+                BiometricsSafetySource.sendSafetyData(context);
+            }
         }
     }
 }
diff --git a/tests/unit/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiverTest.java b/tests/unit/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiverTest.java
index 581286b..8806e50 100644
--- a/tests/unit/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiverTest.java
+++ b/tests/unit/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiverTest.java
@@ -80,6 +80,16 @@
     }
 
     @Test
+    public void sendSafetyData_whenSafetyCenterIsEnabled_withNullSourceIds_sendsNoData() {
+        when(mSafetyCenterStatusHolder.isEnabled(mApplicationContext)).thenReturn(true);
+        Intent intent = new Intent();
+
+        new SafetySourceBroadcastReceiver().onReceive(mApplicationContext, intent);
+
+        verify(mSafetyCenterManagerWrapper, never()).sendSafetyCenterUpdate(any(), any());
+    }
+
+    @Test
     public void sendSafetyData_whenSafetyCenterIsEnabled_withNoSourceIds_sendsNoData() {
         when(mSafetyCenterStatusHolder.isEnabled(mApplicationContext)).thenReturn(true);
         Intent intent = new Intent().putExtra(EXTRA_REFRESH_SAFETY_SOURCE_IDS, new String[]{});