lightbulb_outline Help shape the future of the Google Play Console, Android Studio, and Firebase. Start survey

Call.Details

public static class Call.Details
extends Object

java.lang.Object
   ↳ android.telecom.Call.Details


Summary

Constants

int CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO

When set, prevents a video Call from being downgraded to an audio-only call.

int CAPABILITY_CAN_PAUSE_VIDEO

For video calls, indicates whether the outgoing video for the call can be paused using the VideoProfile.STATE_PAUSED VideoState.

int CAPABILITY_CAN_PULL_CALL

When set for an external call, indicates that this Call can be pulled from a remote device to the current device.

int CAPABILITY_DISCONNECT_FROM_CONFERENCE

Call is able to be individually disconnected when in a Conference.

int CAPABILITY_HOLD

Call can currently be put on hold or unheld.

int CAPABILITY_MANAGE_CONFERENCE

Call supports conference call management.

int CAPABILITY_MERGE_CONFERENCE

Calls within a conference can be merged.

int CAPABILITY_MUTE

Call can be muted.

int CAPABILITY_RESPOND_VIA_TEXT

Call supports responding via text option.

int CAPABILITY_SEPARATE_FROM_CONFERENCE

Call is able to be separated from its parent Conference, if any.

int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL

Local device supports bidirectional video calling.

int CAPABILITY_SUPPORTS_VT_LOCAL_RX

Local device supports receiving video.

int CAPABILITY_SUPPORTS_VT_LOCAL_TX

Local device supports transmitting video.

int CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL

Remote device supports bidirectional video calling.

int CAPABILITY_SUPPORTS_VT_REMOTE_RX

Remote device supports receiving video.

int CAPABILITY_SUPPORTS_VT_REMOTE_TX

Remote device supports transmitting video.

int CAPABILITY_SUPPORT_DEFLECT

Call supports the deflect feature.

int CAPABILITY_SUPPORT_HOLD

Call supports the hold feature.

int CAPABILITY_SWAP_CONFERENCE

Calls within a conference can be swapped between foreground and background.

int PROPERTY_CONFERENCE

Whether the call is currently a conference.

int PROPERTY_EMERGENCY_CALLBACK_MODE

Whether the call is made while the device is in emergency callback mode.

int PROPERTY_ENTERPRISE_CALL

Whether the call is associated with the work profile.

int PROPERTY_GENERIC_CONFERENCE

Whether the call is a generic conference, where we do not know the precise state of participants in the conference (eg.

int PROPERTY_HAS_CDMA_VOICE_PRIVACY

Indicates that the call has CDMA Enhanced Voice Privacy enabled.

int PROPERTY_HIGH_DEF_AUDIO

Call is using high definition audio.

int PROPERTY_IS_EXTERNAL_CALL

When set, indicates that this Call does not actually exist locally for the ConnectionService.

int PROPERTY_RTT

Indicates that the call is an RTT call.

int PROPERTY_SELF_MANAGED

Indicates that the call is from a self-managed ConnectionService.

int PROPERTY_WIFI

Connection is using WIFI.

Public methods

static boolean can(int capabilities, int capability)

Whether the supplied capabilities supports the specified capability.

boolean can(int capability)

Whether the capabilities of this Details supports the specified capability.

static String capabilitiesToString(int capabilities)

Render a set of capability bits (CAPABILITY_*) as a human readable string.

boolean equals(Object o)

Indicates whether some other object is "equal to" this one.

PhoneAccountHandle getAccountHandle()
int getCallCapabilities()
int getCallProperties()
String getCallerDisplayName()
int getCallerDisplayNamePresentation()
final long getConnectTimeMillis()

Returns the time the Call connected (i.e.

long getCreationTimeMillis()

Returns the time when the call was first created and added to Telecom.

DisconnectCause getDisconnectCause()
Bundle getExtras()
GatewayInfo getGatewayInfo()
Uri getHandle()
int getHandlePresentation()
Bundle getIntentExtras()
StatusHints getStatusHints()
int getVideoState()
boolean hasProperty(int property)

Whether the properties of this Details includes the specified property.

static boolean hasProperty(int properties, int property)

Whether the supplied properties includes the specified property.

int hashCode()

Returns a hash code value for the object.

static String propertiesToString(int properties)

Render a set of property bits (PROPERTY_*) as a human readable string.

String toString()

Returns a string representation of the object.

Inherited methods

Constants

CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO

added in API level 24
public static final int CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO

When set, prevents a video Call from being downgraded to an audio-only call.

Should be set when the VideoState has the VideoProfile.STATE_TX_ENABLED or VideoProfile.STATE_RX_ENABLED bits set to indicate that the connection cannot be downgraded from a video call back to a VideoState of VideoProfile.STATE_AUDIO_ONLY.

Intuitively, a call which can be downgraded to audio should also have local and remote video capabilities (see CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL and CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL).

Constant Value: 4194304 (0x00400000)

CAPABILITY_CAN_PAUSE_VIDEO

added in API level 23
public static final int CAPABILITY_CAN_PAUSE_VIDEO

For video calls, indicates whether the outgoing video for the call can be paused using the VideoProfile.STATE_PAUSED VideoState.

Constant Value: 1048576 (0x00100000)

CAPABILITY_CAN_PULL_CALL

added in API level 25
public static final int CAPABILITY_CAN_PULL_CALL

When set for an external call, indicates that this Call can be pulled from a remote device to the current device.

Should only be set on a Call where PROPERTY_IS_EXTERNAL_CALL is set.

An InCallService will only see calls with this capability if it has the TelecomManager.METADATA_INCLUDE_EXTERNAL_CALLS metadata set to true in its manifest.

See Connection.CAPABILITY_CAN_PULL_CALL and Connection.PROPERTY_IS_EXTERNAL_CALL.

Constant Value: 8388608 (0x00800000)

CAPABILITY_DISCONNECT_FROM_CONFERENCE

added in API level 23
public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE

Call is able to be individually disconnected when in a Conference.

Constant Value: 8192 (0x00002000)

CAPABILITY_HOLD

added in API level 23
public static final int CAPABILITY_HOLD

Call can currently be put on hold or unheld.

Constant Value: 1 (0x00000001)

CAPABILITY_MANAGE_CONFERENCE

added in API level 23
public static final int CAPABILITY_MANAGE_CONFERENCE

Call supports conference call management. This capability only applies to Conference calls which can have Connections as children.

Constant Value: 128 (0x00000080)

CAPABILITY_MERGE_CONFERENCE

added in API level 23
public static final int CAPABILITY_MERGE_CONFERENCE

Calls within a conference can be merged. A ConnectionService has the option to add a Conference call before the child Connections are merged. This is how CDMA-based Connections are implemented. For these unmerged Conferences, this capability allows a merge button to be shown while the conference call is in the foreground of the in-call UI.

This is only intended for use by a Conference.

Constant Value: 4 (0x00000004)

CAPABILITY_MUTE

added in API level 23
public static final int CAPABILITY_MUTE

Call can be muted.

Constant Value: 64 (0x00000040)

CAPABILITY_RESPOND_VIA_TEXT

added in API level 23
public static final int CAPABILITY_RESPOND_VIA_TEXT

Call supports responding via text option.

Constant Value: 32 (0x00000020)

CAPABILITY_SEPARATE_FROM_CONFERENCE

added in API level 23
public static final int CAPABILITY_SEPARATE_FROM_CONFERENCE

Call is able to be separated from its parent Conference, if any.

Constant Value: 4096 (0x00001000)

CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL

added in API level 23
public static final int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL

Local device supports bidirectional video calling.

Constant Value: 768 (0x00000300)

CAPABILITY_SUPPORTS_VT_LOCAL_RX

added in API level 23
public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX

Local device supports receiving video.

Constant Value: 256 (0x00000100)

CAPABILITY_SUPPORTS_VT_LOCAL_TX

added in API level 23
public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX

Local device supports transmitting video.

Constant Value: 512 (0x00000200)

CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL

added in API level 23
public static final int CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL

Remote device supports bidirectional video calling.

Constant Value: 3072 (0x00000c00)

CAPABILITY_SUPPORTS_VT_REMOTE_RX

added in API level 23
public static final int CAPABILITY_SUPPORTS_VT_REMOTE_RX

Remote device supports receiving video.

Constant Value: 1024 (0x00000400)

CAPABILITY_SUPPORTS_VT_REMOTE_TX

added in API level 23
public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX

Remote device supports transmitting video.

Constant Value: 2048 (0x00000800)

CAPABILITY_SUPPORT_DEFLECT

added in API level 28
public static final int CAPABILITY_SUPPORT_DEFLECT

Call supports the deflect feature.

Constant Value: 16777216 (0x01000000)

CAPABILITY_SUPPORT_HOLD

added in API level 23
public static final int CAPABILITY_SUPPORT_HOLD

Call supports the hold feature.

Constant Value: 2 (0x00000002)

CAPABILITY_SWAP_CONFERENCE

added in API level 23
public static final int CAPABILITY_SWAP_CONFERENCE

Calls within a conference can be swapped between foreground and background. See CAPABILITY_MERGE_CONFERENCE for additional information.

This is only intended for use by a Conference.

Constant Value: 8 (0x00000008)

PROPERTY_CONFERENCE

added in API level 23
public static final int PROPERTY_CONFERENCE

Whether the call is currently a conference.

Constant Value: 1 (0x00000001)

PROPERTY_EMERGENCY_CALLBACK_MODE

added in API level 23
public static final int PROPERTY_EMERGENCY_CALLBACK_MODE

Whether the call is made while the device is in emergency callback mode.

Constant Value: 4 (0x00000004)

PROPERTY_ENTERPRISE_CALL

added in API level 24
public static final int PROPERTY_ENTERPRISE_CALL

Whether the call is associated with the work profile.

Constant Value: 32 (0x00000020)

PROPERTY_GENERIC_CONFERENCE

added in API level 23
public static final int PROPERTY_GENERIC_CONFERENCE

Whether the call is a generic conference, where we do not know the precise state of participants in the conference (eg. on CDMA).

Constant Value: 2 (0x00000002)

PROPERTY_HAS_CDMA_VOICE_PRIVACY

added in API level 25
public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY

Indicates that the call has CDMA Enhanced Voice Privacy enabled.

Constant Value: 128 (0x00000080)

PROPERTY_HIGH_DEF_AUDIO

added in API level 23
public static final int PROPERTY_HIGH_DEF_AUDIO

Call is using high definition audio.

Constant Value: 16 (0x00000010)

PROPERTY_IS_EXTERNAL_CALL

added in API level 25
public static final int PROPERTY_IS_EXTERNAL_CALL

When set, indicates that this Call does not actually exist locally for the ConnectionService.

Consider, for example, a scenario where a user has two phones with the same phone number. When a user places a call on one device, the telephony stack can represent that call on the other device by adding it to the ConnectionService with the Connection.PROPERTY_IS_EXTERNAL_CALL property set.

An InCallService will only see calls with this property if it has the TelecomManager.METADATA_INCLUDE_EXTERNAL_CALLS metadata set to true in its manifest.

See Connection.PROPERTY_IS_EXTERNAL_CALL.

Constant Value: 64 (0x00000040)

PROPERTY_RTT

added in API level 28
public static final int PROPERTY_RTT

Indicates that the call is an RTT call. Use Call.getRttCall() to get the Call.RttCall object that is used to send and receive text.

Constant Value: 1024 (0x00000400)

PROPERTY_SELF_MANAGED

added in API level 26
public static final int PROPERTY_SELF_MANAGED

Indicates that the call is from a self-managed ConnectionService.

See also Connection.PROPERTY_SELF_MANAGED

Constant Value: 256 (0x00000100)

PROPERTY_WIFI

added in API level 23
public static final int PROPERTY_WIFI

Connection is using WIFI.

Constant Value: 8 (0x00000008)

Public methods

can

added in API level 23
public static boolean can (int capabilities, 
                int capability)

Whether the supplied capabilities supports the specified capability.

Parameters
capabilities int: A bit field of capabilities.

capability int: The capability to check capabilities for.

Returns
boolean Whether the specified capability is supported.

can

added in API level 23
public boolean can (int capability)

Whether the capabilities of this Details supports the specified capability.

Parameters
capability int: The capability to check capabilities for.

Returns
boolean Whether the specified capability is supported.

capabilitiesToString

added in API level 23
public static String capabilitiesToString (int capabilities)

Render a set of capability bits (CAPABILITY_*) as a human readable string.

Parameters
capabilities int: A capability bit field.

Returns
String A human readable string representation.

equals

added in API level 23
public boolean equals (Object o)

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).

Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.

Parameters
o Object: the reference object with which to compare.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getAccountHandle

added in API level 23
public PhoneAccountHandle getAccountHandle ()

Returns
PhoneAccountHandle The PhoneAccountHandle whereby the Call is currently being routed.

getCallCapabilities

added in API level 23
public int getCallCapabilities ()

Returns
int A bitmask of the capabilities of the Call, as defined by the various CAPABILITY_* constants in this class.

getCallProperties

added in API level 23
public int getCallProperties ()

Returns
int A bitmask of the properties of the Call, as defined by the various PROPERTY_* constants in this class.

getCallerDisplayName

added in API level 23
public String getCallerDisplayName ()

Returns
String The display name for the caller.

getCallerDisplayNamePresentation

added in API level 23
public int getCallerDisplayNamePresentation ()

Returns
int The presentation requirements for the caller display name. See TelecomManager for valid values.

getConnectTimeMillis

added in API level 23
public final long getConnectTimeMillis ()

Returns the time the Call connected (i.e. became active). This information is updated periodically, but user interfaces should not rely on this to display the "call time clock". For the time when the call was first added to Telecom, see getCreationTimeMillis().

Returns
long The time the Call connected in milliseconds since the epoch.

getCreationTimeMillis

added in API level 26
public long getCreationTimeMillis ()

Returns the time when the call was first created and added to Telecom. This is the same time that is logged as the start time in the Call Log (see CallLog.Calls.DATE). To determine when the call was connected (became active), see getConnectTimeMillis().

Returns
long The creation time of the call, in millis since the epoch.

getDisconnectCause

added in API level 23
public DisconnectCause getDisconnectCause ()

Returns
DisconnectCause For a Call.STATE_DISCONNECTED Call, the disconnect cause expressed by DisconnectCause.

getExtras

added in API level 23
public Bundle getExtras ()

Returns
Bundle The extras associated with this call.

getGatewayInfo

added in API level 23
public GatewayInfo getGatewayInfo ()

Returns
GatewayInfo Information about any calling gateway the Call may be using.

getHandle

added in API level 23
public Uri getHandle ()

Returns
Uri The handle (e.g., phone number) to which the Call is currently connected.

getHandlePresentation

added in API level 23
public int getHandlePresentation ()

Returns
int The presentation requirements for the handle. See TelecomManager for valid values.

getIntentExtras

added in API level 23
public Bundle getIntentExtras ()

Returns
Bundle The extras used with the original intent to place this call.

getStatusHints

added in API level 23
public StatusHints getStatusHints ()

Returns
StatusHints The current StatusHints, or null if none have been set.

getVideoState

added in API level 23
public int getVideoState ()

Returns
int The video state of the Call.

hasProperty

added in API level 23
public boolean hasProperty (int property)

Whether the properties of this Details includes the specified property.

Parameters
property int: The property to check properties for.

Returns
boolean Whether the specified property is supported.

hasProperty

added in API level 23
public static boolean hasProperty (int properties, 
                int property)

Whether the supplied properties includes the specified property.

Parameters
properties int: A bit field of properties.

property int: The property to check properties for.

Returns
boolean Whether the specified property is supported.

hashCode

added in API level 23
public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.)

Returns
int a hash code value for this object.

propertiesToString

added in API level 23
public static String propertiesToString (int properties)

Render a set of property bits (PROPERTY_*) as a human readable string.

Parameters
properties int: A property bit field.

Returns
String A human readable string representation.

toString

added in API level 23
public String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.