Loading api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -36744,6 +36744,7 @@ package android.telecom { field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 128; // 0x80 field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10 field public static final int PROPERTY_IS_EXTERNAL_CALL = 64; // 0x40 field public static final int PROPERTY_SELF_MANAGED = 256; // 0x100 field public static final int PROPERTY_WIFI = 8; // 0x8 } Loading Loading @@ -37311,6 +37312,7 @@ package android.telecom { method public boolean handleMmi(java.lang.String); method public boolean handleMmi(java.lang.String, android.telecom.PhoneAccountHandle); method public boolean isInCall(); method public boolean isInManagedCall(); method public boolean isIncomingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isOutgoingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isVoiceMailNumber(android.telecom.PhoneAccountHandle, java.lang.String); Loading Loading @@ -37347,6 +37349,7 @@ package android.telecom { field public static final java.lang.String GATEWAY_ORIGINAL_ADDRESS = "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS"; field public static final java.lang.String GATEWAY_PROVIDER_PACKAGE = "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE"; field public static final java.lang.String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS"; field public static final java.lang.String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_RINGING = "android.telecom.IN_CALL_SERVICE_RINGING"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_UI = "android.telecom.IN_CALL_SERVICE_UI"; field public static final int PRESENTATION_ALLOWED = 1; // 0x1 api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -39718,6 +39718,7 @@ package android.telecom { field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 128; // 0x80 field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10 field public static final int PROPERTY_IS_EXTERNAL_CALL = 64; // 0x40 field public static final int PROPERTY_SELF_MANAGED = 256; // 0x100 field public static final int PROPERTY_WIFI = 8; // 0x8 } Loading Loading @@ -40477,6 +40478,7 @@ package android.telecom { method public boolean handleMmi(java.lang.String); method public boolean handleMmi(java.lang.String, android.telecom.PhoneAccountHandle); method public boolean isInCall(); method public boolean isInManagedCall(); method public boolean isIncomingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isOutgoingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isRinging(); Loading Loading @@ -40520,6 +40522,7 @@ package android.telecom { field public static final java.lang.String GATEWAY_ORIGINAL_ADDRESS = "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS"; field public static final java.lang.String GATEWAY_PROVIDER_PACKAGE = "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE"; field public static final java.lang.String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS"; field public static final java.lang.String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_RINGING = "android.telecom.IN_CALL_SERVICE_RINGING"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_UI = "android.telecom.IN_CALL_SERVICE_UI"; field public static final int PRESENTATION_ALLOWED = 1; // 0x1 api/test-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -36826,6 +36826,7 @@ package android.telecom { field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 128; // 0x80 field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10 field public static final int PROPERTY_IS_EXTERNAL_CALL = 64; // 0x40 field public static final int PROPERTY_SELF_MANAGED = 256; // 0x100 field public static final int PROPERTY_WIFI = 8; // 0x8 } Loading Loading @@ -37393,6 +37394,7 @@ package android.telecom { method public boolean handleMmi(java.lang.String); method public boolean handleMmi(java.lang.String, android.telecom.PhoneAccountHandle); method public boolean isInCall(); method public boolean isInManagedCall(); method public boolean isIncomingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isOutgoingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isVoiceMailNumber(android.telecom.PhoneAccountHandle, java.lang.String); Loading Loading @@ -37429,6 +37431,7 @@ package android.telecom { field public static final java.lang.String GATEWAY_ORIGINAL_ADDRESS = "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS"; field public static final java.lang.String GATEWAY_PROVIDER_PACKAGE = "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE"; field public static final java.lang.String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS"; field public static final java.lang.String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_RINGING = "android.telecom.IN_CALL_SERVICE_RINGING"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_UI = "android.telecom.IN_CALL_SERVICE_UI"; field public static final int PRESENTATION_ALLOWED = 1; // 0x1 telecomm/java/android/telecom/Call.java +8 −1 Original line number Diff line number Diff line Loading @@ -321,8 +321,15 @@ public final class Call { */ public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 0x00000080; /** * Indicates that the call is from a self-managed {@link ConnectionService}. * <p> * See also {@link Connection#PROPERTY_SELF_MANAGED} */ public static final int PROPERTY_SELF_MANAGED = 0x00000100; //****************************************************************************************** // Next PROPERTY value: 0x00000100 // Next PROPERTY value: 0x00000200 //****************************************************************************************** private final String mTelecomCallId; Loading telecomm/java/android/telecom/TelecomManager.java +51 −2 Original line number Diff line number Diff line Loading @@ -372,6 +372,24 @@ public class TelecomManager { public static final String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS"; /** * A boolean meta-data value indicating whether an {@link InCallService} wants to be informed of * calls which have the {@link Call.Details#PROPERTY_SELF_MANAGED} property. A self-managed * call is one which originates from a self-managed {@link ConnectionService} which has chosen * to implement its own call user interface. An {@link InCallService} implementation which * would like to be informed of external calls should set this meta-data to {@code true} in the * manifest registration of their {@link InCallService}. By default, the {@link InCallService} * will NOT be informed about self-managed calls. * <p> * An {@link InCallService} which receives self-managed calls is free to view and control the * state of calls in the self-managed {@link ConnectionService}. An example use-case is * exposing these calls to a wearable or automotive device via its companion app. * <p> * See also {@link Connection#PROPERTY_SELF_MANAGED}. */ public static final String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS"; /** * The dual tone multi-frequency signaling character sent to indicate the dialing system should * pause for a predefined period. Loading Loading @@ -1051,10 +1069,12 @@ public class TelecomManager { /** * Returns whether there is an ongoing phone call (can be in dialing, ringing, active or holding * states). * states) originating from either a manager or self-managed {@link ConnectionService}. * <p> * Requires permission: {@link android.Manifest.permission#READ_PHONE_STATE} * </p> * * @return {@code true} if there is an ongoing call in either a managed or self-managed * {@link ConnectionService}, {@code false} otherwise. */ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isInCall() { Loading @@ -1068,6 +1088,31 @@ public class TelecomManager { return false; } /** * Returns whether there is an ongoing call originating from a managed * {@link ConnectionService}. An ongoing call can be in dialing, ringing, active or holding * states. * <p> * If you also need to know if there are ongoing self-managed calls, use {@link #isInCall()} * instead. * <p> * Requires permission: {@link android.Manifest.permission#READ_PHONE_STATE} * * @return {@code true} if there is an ongoing call in a managed {@link ConnectionService}, * {@code false} otherwise. */ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isInManagedCall() { try { if (isServiceConnected()) { return getTelecomService().isInManagedCall(mContext.getOpPackageName()); } } catch (RemoteException e) { Log.e(TAG, "RemoteException calling isInManagedCall().", e); } return false; } /** * Returns one of the following constants that represents the current state of Telecom: * Loading @@ -1079,6 +1124,9 @@ public class TelecomManager { * {@link android.Manifest.permission#READ_PHONE_STATE} permission. This is intentional, to * preserve the behavior of {@link TelephonyManager#getCallState()}, which also did not require * the permission. * * Takes into consideration both managed and self-managed calls. * * @hide */ @SystemApi Loading @@ -1096,6 +1144,7 @@ public class TelecomManager { /** * Returns whether there currently exists is a ringing incoming-call. * * @return {@code true} if there is a managed or self-managed ringing call. * @hide */ @SystemApi Loading Loading
api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -36744,6 +36744,7 @@ package android.telecom { field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 128; // 0x80 field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10 field public static final int PROPERTY_IS_EXTERNAL_CALL = 64; // 0x40 field public static final int PROPERTY_SELF_MANAGED = 256; // 0x100 field public static final int PROPERTY_WIFI = 8; // 0x8 } Loading Loading @@ -37311,6 +37312,7 @@ package android.telecom { method public boolean handleMmi(java.lang.String); method public boolean handleMmi(java.lang.String, android.telecom.PhoneAccountHandle); method public boolean isInCall(); method public boolean isInManagedCall(); method public boolean isIncomingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isOutgoingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isVoiceMailNumber(android.telecom.PhoneAccountHandle, java.lang.String); Loading Loading @@ -37347,6 +37349,7 @@ package android.telecom { field public static final java.lang.String GATEWAY_ORIGINAL_ADDRESS = "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS"; field public static final java.lang.String GATEWAY_PROVIDER_PACKAGE = "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE"; field public static final java.lang.String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS"; field public static final java.lang.String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_RINGING = "android.telecom.IN_CALL_SERVICE_RINGING"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_UI = "android.telecom.IN_CALL_SERVICE_UI"; field public static final int PRESENTATION_ALLOWED = 1; // 0x1
api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -39718,6 +39718,7 @@ package android.telecom { field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 128; // 0x80 field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10 field public static final int PROPERTY_IS_EXTERNAL_CALL = 64; // 0x40 field public static final int PROPERTY_SELF_MANAGED = 256; // 0x100 field public static final int PROPERTY_WIFI = 8; // 0x8 } Loading Loading @@ -40477,6 +40478,7 @@ package android.telecom { method public boolean handleMmi(java.lang.String); method public boolean handleMmi(java.lang.String, android.telecom.PhoneAccountHandle); method public boolean isInCall(); method public boolean isInManagedCall(); method public boolean isIncomingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isOutgoingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isRinging(); Loading Loading @@ -40520,6 +40522,7 @@ package android.telecom { field public static final java.lang.String GATEWAY_ORIGINAL_ADDRESS = "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS"; field public static final java.lang.String GATEWAY_PROVIDER_PACKAGE = "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE"; field public static final java.lang.String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS"; field public static final java.lang.String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_RINGING = "android.telecom.IN_CALL_SERVICE_RINGING"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_UI = "android.telecom.IN_CALL_SERVICE_UI"; field public static final int PRESENTATION_ALLOWED = 1; // 0x1
api/test-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -36826,6 +36826,7 @@ package android.telecom { field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 128; // 0x80 field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10 field public static final int PROPERTY_IS_EXTERNAL_CALL = 64; // 0x40 field public static final int PROPERTY_SELF_MANAGED = 256; // 0x100 field public static final int PROPERTY_WIFI = 8; // 0x8 } Loading Loading @@ -37393,6 +37394,7 @@ package android.telecom { method public boolean handleMmi(java.lang.String); method public boolean handleMmi(java.lang.String, android.telecom.PhoneAccountHandle); method public boolean isInCall(); method public boolean isInManagedCall(); method public boolean isIncomingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isOutgoingCallPermitted(android.telecom.PhoneAccountHandle); method public boolean isVoiceMailNumber(android.telecom.PhoneAccountHandle, java.lang.String); Loading Loading @@ -37429,6 +37431,7 @@ package android.telecom { field public static final java.lang.String GATEWAY_ORIGINAL_ADDRESS = "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS"; field public static final java.lang.String GATEWAY_PROVIDER_PACKAGE = "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE"; field public static final java.lang.String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS"; field public static final java.lang.String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_RINGING = "android.telecom.IN_CALL_SERVICE_RINGING"; field public static final java.lang.String METADATA_IN_CALL_SERVICE_UI = "android.telecom.IN_CALL_SERVICE_UI"; field public static final int PRESENTATION_ALLOWED = 1; // 0x1
telecomm/java/android/telecom/Call.java +8 −1 Original line number Diff line number Diff line Loading @@ -321,8 +321,15 @@ public final class Call { */ public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 0x00000080; /** * Indicates that the call is from a self-managed {@link ConnectionService}. * <p> * See also {@link Connection#PROPERTY_SELF_MANAGED} */ public static final int PROPERTY_SELF_MANAGED = 0x00000100; //****************************************************************************************** // Next PROPERTY value: 0x00000100 // Next PROPERTY value: 0x00000200 //****************************************************************************************** private final String mTelecomCallId; Loading
telecomm/java/android/telecom/TelecomManager.java +51 −2 Original line number Diff line number Diff line Loading @@ -372,6 +372,24 @@ public class TelecomManager { public static final String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS"; /** * A boolean meta-data value indicating whether an {@link InCallService} wants to be informed of * calls which have the {@link Call.Details#PROPERTY_SELF_MANAGED} property. A self-managed * call is one which originates from a self-managed {@link ConnectionService} which has chosen * to implement its own call user interface. An {@link InCallService} implementation which * would like to be informed of external calls should set this meta-data to {@code true} in the * manifest registration of their {@link InCallService}. By default, the {@link InCallService} * will NOT be informed about self-managed calls. * <p> * An {@link InCallService} which receives self-managed calls is free to view and control the * state of calls in the self-managed {@link ConnectionService}. An example use-case is * exposing these calls to a wearable or automotive device via its companion app. * <p> * See also {@link Connection#PROPERTY_SELF_MANAGED}. */ public static final String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS"; /** * The dual tone multi-frequency signaling character sent to indicate the dialing system should * pause for a predefined period. Loading Loading @@ -1051,10 +1069,12 @@ public class TelecomManager { /** * Returns whether there is an ongoing phone call (can be in dialing, ringing, active or holding * states). * states) originating from either a manager or self-managed {@link ConnectionService}. * <p> * Requires permission: {@link android.Manifest.permission#READ_PHONE_STATE} * </p> * * @return {@code true} if there is an ongoing call in either a managed or self-managed * {@link ConnectionService}, {@code false} otherwise. */ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isInCall() { Loading @@ -1068,6 +1088,31 @@ public class TelecomManager { return false; } /** * Returns whether there is an ongoing call originating from a managed * {@link ConnectionService}. An ongoing call can be in dialing, ringing, active or holding * states. * <p> * If you also need to know if there are ongoing self-managed calls, use {@link #isInCall()} * instead. * <p> * Requires permission: {@link android.Manifest.permission#READ_PHONE_STATE} * * @return {@code true} if there is an ongoing call in a managed {@link ConnectionService}, * {@code false} otherwise. */ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isInManagedCall() { try { if (isServiceConnected()) { return getTelecomService().isInManagedCall(mContext.getOpPackageName()); } } catch (RemoteException e) { Log.e(TAG, "RemoteException calling isInManagedCall().", e); } return false; } /** * Returns one of the following constants that represents the current state of Telecom: * Loading @@ -1079,6 +1124,9 @@ public class TelecomManager { * {@link android.Manifest.permission#READ_PHONE_STATE} permission. This is intentional, to * preserve the behavior of {@link TelephonyManager#getCallState()}, which also did not require * the permission. * * Takes into consideration both managed and self-managed calls. * * @hide */ @SystemApi Loading @@ -1096,6 +1144,7 @@ public class TelecomManager { /** * Returns whether there currently exists is a ringing incoming-call. * * @return {@code true} if there is a managed or self-managed ringing call. * @hide */ @SystemApi Loading