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);