Check CarrierPriviledge for getPhoneAccountHandleForSubscriptionId

Currently getPhoneAccountHandleForSubscriptionId requires
READ_PRIVILEGED_PHONE_STATE permission. This change allows carrier
priviledged app to get the phone account handle of its own
subcriptionId.

Bug: 182966851
Test: manual
Change-Id: If23542fb003eb8af6299ffe6945c331b09ee9d9e
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 798d429..4905316 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -7351,8 +7351,11 @@
 
     @Override
     public @Nullable PhoneAccountHandle getPhoneAccountHandleForSubscriptionId(int subscriptionId) {
-        enforceReadPrivilegedPermission("getPhoneAccountHandleForSubscriptionId, "
-                + "subscriptionId: " + subscriptionId);
+        TelephonyPermissions
+                .enforeceCallingOrSelfReadPrivilegedPhoneStatePermissionOrCarrierPrivilege(
+                mApp,
+                subscriptionId,
+                "getPhoneAccountHandleForSubscriptionId, " + "subscriptionId: " + subscriptionId);
         final long identity = Binder.clearCallingIdentity();
         try {
             Phone phone = getPhone(subscriptionId);