Snap for 8566921 from 8d25bcd35ca0c77a98220834f6129f682f0c3f50 to tm-release

Change-Id: Id0f7fc7352d63a4826a967117b7112bf357afd56
diff --git a/src/com/android/ons/ONSProfileResultReceiver.java b/src/com/android/ons/ONSProfileResultReceiver.java
index c893751..2cc89b1 100644
--- a/src/com/android/ons/ONSProfileResultReceiver.java
+++ b/src/com/android/ons/ONSProfileResultReceiver.java
@@ -39,6 +39,10 @@
     @Override
     public void onReceive(Context context, Intent intent) {
         String action = intent.getAction();
+        if (action == null) {
+            return;
+        }
+
         if (action.equals(TelephonyManager.ACTION_MULTI_SIM_CONFIG_CHANGED)) {
             int simCount = intent.getIntExtra(TelephonyManager.EXTRA_ACTIVE_SIM_SUPPORTED_COUNT, 0);
             Log.d(TAG, "Mutli-SIM configed for " + simCount + "SIMs");
diff --git a/tests/src/com/android/ons/ONSProfileResultReceiverTest.java b/tests/src/com/android/ons/ONSProfileResultReceiverTest.java
new file mode 100644
index 0000000..b9eb4a6
--- /dev/null
+++ b/tests/src/com/android/ons/ONSProfileResultReceiverTest.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.ons;
+
+import android.content.Context;
+import android.content.Intent;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+
+public class ONSProfileResultReceiverTest extends ONSBaseTest {
+
+    @Mock
+    Context mMockContext;
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp("ONSTest");
+    }
+
+    @Test
+    public void testONSResultReceiverWithNoActionString() {
+        ONSProfileResultReceiver onsReceiver = new ONSProfileResultReceiver();
+
+        //Empty Intent with all null fields.
+        Intent intent = new Intent();
+
+        try {
+            onsReceiver.onReceive(mMockContext, intent);
+        } catch (Exception e) {
+            fail("Exception should not be thrown");
+        }
+
+    }
+
+    @Test
+    public void testONSResultReceiverWithActionStringNullExtras() {
+        ONSProfileResultReceiver onsReceiver = new ONSProfileResultReceiver();
+
+        //Intent with action String but all null extras.
+        Intent intent = new Intent();
+        intent.setAction("com.android.ons.TEST_ACTION");
+
+        try {
+            onsReceiver.onReceive(mContext, intent);
+        } catch (Exception e) {
+            fail("Exception should not be thrown");
+        }
+
+    }
+}