Implement Telecom.hasCompanionInCallServiceAccess API

Test: cts
Bug: 169595473
Change-Id: I47a8af86ec1a194a69741ed69737803800e13b41
Merged-In: I47a8af86ec1a194a69741ed69737803800e13b41
(cherry picked from commit bb604172be7a95777eccec5eb89b819df2ecfd97)
diff --git a/src/com/android/server/telecom/TelecomServiceImpl.java b/src/com/android/server/telecom/TelecomServiceImpl.java
index 1ee77a3..3481558 100644
--- a/src/com/android/server/telecom/TelecomServiceImpl.java
+++ b/src/com/android/server/telecom/TelecomServiceImpl.java
@@ -34,6 +34,7 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
+import android.content.PermissionChecker;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -831,6 +832,22 @@
         }
 
         /**
+         * @see android.telecom.TelecomManager#hasCompanionInCallServiceAccess
+         */
+        @Override
+        public boolean hasCompanionInCallServiceAccess(String callingPackage) {
+            try {
+                Log.startSession("TSI.hCICSA");
+                return PermissionChecker.checkPermissionForPreflight(mContext,
+                        Manifest.permission.MANAGE_ONGOING_CALLS,
+                                PermissionChecker.PID_UNKNOWN, Binder.getCallingUid(),
+                                        callingPackage) == PermissionChecker.PERMISSION_GRANTED;
+            } finally {
+                Log.endSession();
+            }
+        }
+
+        /**
          * @see android.telecom.TelecomManager#isInManagedCall
          */
         @Override