# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Constants | Methods | Inherited Methods

# 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
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## 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 `Connection`s 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 `Connection`s are merged. This is how CDMA-based `Connection`s are implemented. For these unmerged `Conference`s, 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:

- `TelecomManager.EXTRA_USE_ASSISTED_DIALING`

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.

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*