[API Review] onCreateUnknownConnection
Cherry-picked onCreateUnknownConnection made system API
from internal master, added precision on SystemAPI
annotation for client modules libraries as per API review.
Bug: 219820274
Tag: #feature
Test: manual
Change-Id: I1479201705a3ecce6fe69c2e78d30ce0b31cc3d8
diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt
index 5bc5bbc..fda0eaa 100644
--- a/core/api/module-lib-current.txt
+++ b/core/api/module-lib-current.txt
@@ -458,6 +458,14 @@
}
+package android.telecom {
+
+ public abstract class ConnectionService extends android.app.Service {
+ method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.Connection onCreateUnknownConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+ }
+
+}
+
package android.telephony {
public abstract class CellSignalStrength {
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 1566601..b245b8b 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -12214,7 +12214,6 @@
public abstract class ConnectionService extends android.app.Service {
method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
- method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.Connection onCreateUnknownConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
}
public abstract class InCallService extends android.app.Service {
diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java
index 27d423b..bce6809 100755
--- a/telecomm/java/android/telecom/ConnectionService.java
+++ b/telecomm/java/android/telecom/ConnectionService.java
@@ -3171,9 +3171,14 @@
*
* {@link TelecomManager#addNewIncomingCall(PhoneAccountHandle, android.os.Bundle)}.
*
+ * @param connectionManagerPhoneAccount The connection manager account to use for managing
+ * this call
+ * @param request Details about the outgoing call
+ * @return The {@code Connection} object to satisfy this call, or the result of an invocation
+ * of {@link Connection#createFailedConnection(DisconnectCause)} to not handle the call
* @hide
*/
- @SystemApi
+ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
public @Nullable Connection onCreateUnknownConnection(
@NonNull PhoneAccountHandle connectionManagerPhoneAccount,