Fix crash when missing phone permission but requesting to show device id

This is not a new crash but it is an easy fix

Bug: 63711832
Test: manual (removed permission, verified crash, added check, verified no crash)
PiperOrigin-RevId: 166224971
Change-Id: Ic24d8c4b6654ea8ef9a4e5439fd863c1f4e8307b
diff --git a/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java b/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java
index e9fbd55..7ff0d08 100644
--- a/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java
+++ b/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java
@@ -16,6 +16,7 @@
 
 package com.android.dialer.dialpadview;
 
+import android.Manifest;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.DialogFragment;
@@ -49,6 +50,7 @@
 import com.android.dialer.compat.telephony.TelephonyManagerCompat;
 import com.android.dialer.oem.MotorolaUtils;
 import com.android.dialer.telecom.TelecomUtil;
+import com.android.dialer.util.PermissionsUtil;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -288,6 +290,9 @@
   // TODO: Use TelephonyCapabilities.getDeviceIdLabel() to get the device id label instead of a
   // hard-coded string.
   static boolean handleDeviceIdDisplay(Context context, String input) {
+    if (!PermissionsUtil.hasPermission(context, Manifest.permission.READ_PHONE_STATE)) {
+      return false;
+    }
     TelephonyManager telephonyManager =
         (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);