Handle missing default phone

If default phones have not been created, make the receiver a no-op.

Test: atest SafetySourceReceiverTest
Bug: 325460602
Change-Id: Ic2108ccd3025a0986fa5b12067ad1906faa14193
diff --git a/src/com/android/phone/security/SafetySourceReceiver.java b/src/com/android/phone/security/SafetySourceReceiver.java
index d2be1a1..76f8e72 100644
--- a/src/com/android/phone/security/SafetySourceReceiver.java
+++ b/src/com/android/phone/security/SafetySourceReceiver.java
@@ -28,8 +28,10 @@
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.flags.Flags;
 import com.android.phone.PhoneGlobals;
+import com.android.telephony.Rlog;
 
 public class SafetySourceReceiver extends BroadcastReceiver {
+    private static final String TAG = "TelephonySafetySourceReceiver";
     @Override
     public void onReceive(Context context, Intent intent) {
 
@@ -72,6 +74,11 @@
 
     @VisibleForTesting
     public Phone getDefaultPhone() {
-        return PhoneGlobals.getPhone();
+        try {
+            return PhoneGlobals.getPhone();
+        } catch (IllegalStateException e) {
+            Rlog.i(TAG, "Unable to get phone. Skipping safety source refresh: " + e.getMessage());
+        }
+        return null;
     }
 }