summaryrefslogtreecommitdiff
path: root/telecomm/java/android
diff options
context:
space:
mode:
author Tyler Gunn <tgunn@google.com> 2022-04-04 20:03:08 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-04-04 20:03:08 +0000
commite429ec01e79345c61836f3828ce25408a022bafc (patch)
tree33d6e4f683de7bfa2671742aa0950c4caece0b90 /telecomm/java/android
parent80dbdd63f46b0db114a12f8058bde5b4bd3969c6 (diff)
parent27bf43460a324af01c086c9b2afcc2118dd849f2 (diff)
Merge "Add new TelecomManager method to check if a self-mgd app is in a call." into tm-dev
Diffstat (limited to 'telecomm/java/android')
-rw-r--r--telecomm/java/android/telecom/TelecomManager.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index df114dbabe5b..e0f5b2095190 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -2601,6 +2601,33 @@ public class TelecomManager {
}
/**
+ * Determines whether there are any ongoing {@link PhoneAccount#CAPABILITY_SELF_MANAGED}
+ * calls for a given {@code packageName} and {@code userHandle}.
+ *
+ * @param packageName the package name of the app to check calls for.
+ * @param userHandle the user handle on which to check for calls.
+ * @return {@code true} if there are ongoing calls, {@code false} otherwise.
+ * @hide
+ */
+ @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
+ public boolean isInSelfManagedCall(@NonNull String packageName,
+ @NonNull UserHandle userHandle) {
+ ITelecomService service = getTelecomService();
+ if (service != null) {
+ try {
+ return service.isInSelfManagedCall(packageName, userHandle,
+ mContext.getOpPackageName());
+ } catch (RemoteException e) {
+ Log.e(TAG, "RemoteException isInSelfManagedCall: " + e);
+ e.rethrowFromSystemServer();
+ return false;
+ }
+ } else {
+ throw new IllegalStateException("Telecom service is not present");
+ }
+ }
+
+ /**
* Handles {@link Intent#ACTION_CALL} intents trampolined from UserCallActivity.
* @param intent The {@link Intent#ACTION_CALL} intent to handle.
* @param callingPackageProxy The original package that called this before it was trampolined.