# Print output for @column tags ?> Call.Details - Android SDK | Android Developers

Most visited

Recently visited

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 DIRECTION_INCOMING

Indicates that the call is an incoming call.

int DIRECTION_OUTGOING

Indicates that the call is an outgoing call.

int DIRECTION_UNKNOWN

Indicates that the call is neither and incoming nor an outgoing call.

int PROPERTY_ASSISTED_DIALING

Indicates the call used Assisted Dialing.

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

When set, the UI should indicate to the user that a 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_NETWORK_IDENTIFIED_EMERGENCY_CALL

Indicates that the call has been identified as the network as an emergency call.

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_VOIP_AUDIO_MODE

Indicates that the call is using VoIP audio mode.

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 getCallDirection()

Indicates whether the call is an incoming or outgoing call.

int getCallProperties()
String getCallerDisplayName()

The display name for the caller.

int getCallerDisplayNamePresentation()
int getCallerNumberVerificationStatus()

Gets the verification status for the phone number of an incoming call as identified in ATIS-1000082.

final long getConnectTimeMillis()

Returns the time the Call connected (i.e.

String getContactDisplayName()

Returns the name of the caller on the remote end, as derived from a ContactsContract lookup of the call's handle.

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

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

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

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

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

public static final int CAPABILITY_HOLD

Call can currently be put on hold or unheld.

Constant Value: 1 (0x00000001)

CAPABILITY_MANAGE_CONFERENCE

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

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

public static final int CAPABILITY_MUTE

Call can be muted.

Constant Value: 64 (0x00000040)

CAPABILITY_RESPOND_VIA_TEXT

public static final int CAPABILITY_RESPOND_VIA_TEXT

Call supports responding via text option.

Constant Value: 32 (0x00000020)

CAPABILITY_SEPARATE_FROM_CONFERENCE

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

public static final int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL

Local device supports bidirectional video calling.

Constant Value: 768 (0x00000300)

CAPABILITY_SUPPORTS_VT_LOCAL_RX

public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX

Local device supports receiving video.

Constant Value: 256 (0x00000100)

CAPABILITY_SUPPORTS_VT_LOCAL_TX

public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX

Local device supports transmitting video.

Constant Value: 512 (0x00000200)

CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL

public static final int CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL

Remote device supports bidirectional video calling.

Constant Value: 3072 (0x00000c00)

CAPABILITY_SUPPORTS_VT_REMOTE_RX

public static final int CAPABILITY_SUPPORTS_VT_REMOTE_RX

Remote device supports receiving video.

Constant Value: 1024 (0x00000400)

CAPABILITY_SUPPORTS_VT_REMOTE_TX

public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX

Remote device supports transmitting video.

Constant Value: 2048 (0x00000800)

CAPABILITY_SUPPORT_DEFLECT

public static final int CAPABILITY_SUPPORT_DEFLECT

Call supports the deflect feature.

Constant Value: 16777216 (0x01000000)

CAPABILITY_SUPPORT_HOLD

public static final int CAPABILITY_SUPPORT_HOLD

Call supports the hold feature.

Constant Value: 2 (0x00000002)

CAPABILITY_SWAP_CONFERENCE

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)

DIRECTION_INCOMING

public static final int DIRECTION_INCOMING

Indicates that the call is an incoming call.

Constant Value: 0 (0x00000000)

DIRECTION_OUTGOING

public static final int DIRECTION_OUTGOING

Indicates that the call is an outgoing call.

Constant Value: 1 (0x00000001)

DIRECTION_UNKNOWN

public static final int DIRECTION_UNKNOWN

Indicates that the call is neither and incoming nor an outgoing call. This can be the case for calls reported directly by a ConnectionService in special cases such as call handovers.

Constant Value: -1 (0xffffffff)

PROPERTY_ASSISTED_DIALING

public static final int PROPERTY_ASSISTED_DIALING

Indicates the call used Assisted Dialing.

See also:

Constant Value: 512 (0x00000200)

PROPERTY_CONFERENCE

public static final int PROPERTY_CONFERENCE

Whether the call is currently a conference.

Constant Value: 1 (0x00000001)

PROPERTY_EMERGENCY_CALLBACK_MODE

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

public static final int PROPERTY_ENTERPRISE_CALL

Whether the call is associated with the work profile.

Constant Value: 32 (0x00000020)

PROPERTY_GENERIC_CONFERENCE

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

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

public static final int PROPERTY_HIGH_DEF_AUDIO

When set, the UI should indicate to the user that a call is using high definition audio.

The underlying ConnectionService is responsible for reporting this property. It is important to note that this property is not intended to report the actual audio codec being used for a Call, but whether the call should be indicated to the user as high definition.

The Android Telephony stack reports this property for calls based on a number of factors, including which audio codec is used and whether a call is using an HD codec end-to-end. Some mobile operators choose to suppress display of an HD indication, and in these cases this property will not be set for a call even if the underlying audio codec is in fact "high definition".

Constant Value: 16 (0x00000010)

PROPERTY_IS_EXTERNAL_CALL

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_NETWORK_IDENTIFIED_EMERGENCY_CALL

public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL

Indicates that the call has been identified as the network as an emergency call. This property may be set for both incoming and outgoing calls which the network identifies as emergency calls.

Constant Value: 2048 (0x00000800)

PROPERTY_RTT

public static final int PROPERTY_RTT

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

Constant Value: 1024 (0x00000400)

PROPERTY_SELF_MANAGED

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_VOIP_AUDIO_MODE

public static final int PROPERTY_VOIP_AUDIO_MODE

Indicates that the call is using VoIP audio mode.

When this property is set, the AudioManager audio mode for this call will be AudioManager.MODE_IN_COMMUNICATION. When this property is not set, the audio mode for this call will be AudioManager.MODE_IN_CALL.

This property reflects changes made using Connection#setAudioModeIsVoip(boolean).

You can use this property to determine whether an un-answered incoming call or a held call will use VoIP audio mode (if the call does not currently have focus, the system audio mode may not reflect the mode the call will use).

Constant Value: 4096 (0x00001000)

PROPERTY_WIFI

public static final int PROPERTY_WIFI

Connection is using WIFI.

Constant Value: 8 (0x00000008)

Public methods

can

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

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

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

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

public PhoneAccountHandle getAccountHandle ()

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

getCallCapabilities

public int getCallCapabilities ()

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

getCallDirection

public int getCallDirection ()

Indicates whether the call is an incoming or outgoing call.

Returns
int The call's direction. Value is DIRECTION_UNKNOWN, DIRECTION_INCOMING, or DIRECTION_OUTGOING

getCallProperties

public int getCallProperties ()

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

getCallerDisplayName

public String getCallerDisplayName ()

The display name for the caller.

This is the name as reported by the ConnectionService associated with this call.

Returns
String The display name for the caller.

getCallerDisplayNamePresentation

public int getCallerDisplayNamePresentation ()

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

getCallerNumberVerificationStatus

public int getCallerNumberVerificationStatus ()

Gets the verification status for the phone number of an incoming call as identified in ATIS-1000082.

Returns
int the verification status. Value is Connection.VERIFICATION_STATUS_NOT_VERIFIED, Connection.VERIFICATION_STATUS_PASSED, or Connection.VERIFICATION_STATUS_FAILED

getConnectTimeMillis

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.

getContactDisplayName

public String getContactDisplayName ()

Returns the name of the caller on the remote end, as derived from a ContactsContract lookup of the call's handle.

Returns
String The name of the caller, or null if the lookup is not yet complete, if there's no contacts entry for the caller, or if the InCallService does not hold the Manifest.permission.READ_CONTACTS permission.

getCreationTimeMillis

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

public DisconnectCause getDisconnectCause ()

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

getExtras

public Bundle getExtras ()

Returns
Bundle The extras associated with this call.

getGatewayInfo

public GatewayInfo getGatewayInfo ()

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

getHandle

public Uri getHandle ()

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

getHandlePresentation

public int getHandlePresentation ()

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

getIntentExtras

public Bundle getIntentExtras ()

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

getStatusHints

public StatusHints getStatusHints ()

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

getVideoState

public int getVideoState ()

Returns
int The video state of the Call.

hasProperty

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

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

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

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

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.