Check null for getPhoneAccount()

A phone account can be removed after calling getCallCapablePhoneAccounts(), so subsequent getPhoneAccount() can be null.

Other usages already has the null check.

Bug: 75598828
Test: N/A testing this involves getPhoneAccount() returning null on the nth call, which requires replacing the shadows with a mock and is highly coupled with the implementation. The is an edge case and is not worth the effort and brittleness it will cause.
PiperOrigin-RevId: 189644833
Change-Id: Ie92dda2537befb5936ad734954b4eaf75964f465
diff --git a/java/com/android/contacts/common/dialog/CallSubjectDialog.java b/java/com/android/contacts/common/dialog/CallSubjectDialog.java
index 7bc13fe..48f292c 100644
--- a/java/com/android/contacts/common/dialog/CallSubjectDialog.java
+++ b/java/com/android/contacts/common/dialog/CallSubjectDialog.java
@@ -531,6 +531,9 @@
 
     TelecomManager telecomManager = (TelecomManager) getSystemService(Context.TELECOM_SERVICE);
     final PhoneAccount account = telecomManager.getPhoneAccount(mPhoneAccountHandle);
+    if (account == null) {
+      return;
+    }
 
     Bundle phoneAccountExtras = account.getExtras();
     if (phoneAccountExtras == null) {
diff --git a/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
index 7b1536b..f37d52d 100644
--- a/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
+++ b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
@@ -141,13 +141,14 @@
     if (TelecomUtil.getCallCapablePhoneAccounts(context).size() > 1) {
       TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
       PhoneAccount phoneAccount = telecomManager.getPhoneAccount(handle);
-      return phoneAccount.getShortDescription().toString();
-    } else {
+      if (phoneAccount != null) {
+        return phoneAccount.getShortDescription().toString();
+      }
+    }
       return String.format(
           context.getString(R.string.notification_voicemail_text_format),
           PhoneNumberHelper.formatNumber(
               context, voicemailNumber, GeoUtil.getCurrentCountryIso(context)));
-    }
   }
 
   public static void cancelNotification(
diff --git a/java/com/android/dialer/app/settings/DialerSettingsActivity.java b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
index 24e5fe8..09fe03e 100644
--- a/java/com/android/dialer/app/settings/DialerSettingsActivity.java
+++ b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
@@ -241,6 +241,9 @@
     PhoneAccountHandle result = null;
     for (PhoneAccountHandle phoneAccountHandle : telecomManager.getCallCapablePhoneAccounts()) {
       PhoneAccount phoneAccount = telecomManager.getPhoneAccount(phoneAccountHandle);
+      if (phoneAccount == null) {
+        continue;
+      }
       if (phoneAccount.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)) {
         LogUtil.i(
             "DialerSettingsActivity.getSoleSimAccount", phoneAccountHandle + " is a SIM account");
diff --git a/java/com/android/dialer/telecom/TelecomUtil.java b/java/com/android/dialer/telecom/TelecomUtil.java
index 56349b6..2608cb2 100644
--- a/java/com/android/dialer/telecom/TelecomUtil.java
+++ b/java/com/android/dialer/telecom/TelecomUtil.java
@@ -311,6 +311,9 @@
     TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
     for (PhoneAccountHandle phoneAccountHandle : telecomManager.getCallCapablePhoneAccounts()) {
       PhoneAccount phoneAccount = telecomManager.getPhoneAccount(phoneAccountHandle);
+      if (phoneAccount == null) {
+        continue;
+      }
       if (phoneAccount.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)
           && !phoneAccountHandle.equals(currentAccount)) {
         return phoneAccountHandle;
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index e2340b5..ef5965c 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -803,6 +803,9 @@
   private CharSequence getMultiSimIncomingText(DialerCall call) {
     PhoneAccount phoneAccount =
         context.getSystemService(TelecomManager.class).getPhoneAccount(call.getAccountHandle());
+    if (phoneAccount == null) {
+      return context.getString(R.string.notification_incoming_call);
+    }
     SpannableString string =
         new SpannableString(
             context.getString(