diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 057f8ad..15e2ccc 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -1689,4 +1689,24 @@
         }
         return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
     }
+
+    @Override
+    public int hasCarrierPrivileges(String pkgname) {
+        PackageManager packageManager = mPhone.getContext().getPackageManager();
+        try {
+            PackageInfo pInfo = packageManager.getPackageInfo(pkgname,
+                PackageManager.GET_SIGNATURES);
+            Signature[] signatures = pInfo.signatures;
+            for (Signature sig : signatures) {
+                int hasAccess = UiccController.getInstance().getUiccCard().hasCarrierPrivileges(
+                        sig, pInfo.packageName);
+                if (hasAccess != TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS) {
+                    return hasAccess;
+                }
+            }
+        } catch (PackageManager.NameNotFoundException ex) {
+            loge("NameNotFoundException: " + ex);
+        }
+        return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
+    }
 }
