Optimize TM#getCarrierServicePackageName[ForLogicalSlot]

Implement TM#getCarrierServicePackageName[ForLogicalSlot] to
query the cache in CarrierPrivilegesTracker to boost
the performance.

Bug: 217442920
Test: atest CarrierPrivilegesTrackerTest
Change-Id: I8f5a9bfcab9c5923eada8a4abb336d347568d223
Merged-In: I8f5a9bfcab9c5923eada8a4abb336d347568d223
(cherry picked from commit 6812ffbcc5432a93c71cd2d794b7bce41f5ffe1a)
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 06114b5..a94efa8 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -6807,6 +6807,21 @@
         return new ArrayList<>(privilegedPackages);
     }
 
+    @Override
+    public @Nullable String getCarrierServicePackageNameForLogicalSlot(int logicalSlotIndex) {
+        enforceReadPrivilegedPermission("getCarrierServicePackageNameForLogicalSlot");
+
+        final Phone phone = PhoneFactory.getPhone(logicalSlotIndex);
+        if (phone == null) {
+            return null;
+        }
+        final CarrierPrivilegesTracker cpt = phone.getCarrierPrivilegesTracker();
+        if (cpt == null) {
+            return null;
+        }
+        return cpt.getCarrierServicePackageName();
+    }
+
     private String getIccId(int subId) {
         final Phone phone = getPhone(subId);
         UiccPort port = phone == null ? null : phone.getUiccPort();