Add new DisconnectCause class to telecomm.
+ Add a hidden "UNKNOWN" default type to ToneGenerator.
- Hide the Telephony DisconnectCause from the public API.
+ Add a Telecomm DisconnectCause. This is parcelable, and contains
information (code, user facing message, non-user facing reason,
and tone) to help describe the disconnect state and what behaviors
an application can implement for the user experience. This reduces
the causes for a disconnect to a more generic set.
+ Lots of work to pipe this through. DisconnectCause replaces the
code and message which were formerly passed around.
Bug: 17241433
Bug: 17329632
Change-Id: I9d337e478a8784bcc0ade02267c2df52cac9bf17
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java
index 1d33b3b..1a6c52f 100644
--- a/telecomm/java/android/telecom/Call.java
+++ b/telecomm/java/android/telecom/Call.java
@@ -19,7 +19,6 @@
import android.annotation.SystemApi;
import android.net.Uri;
import android.os.Bundle;
-import android.telephony.DisconnectCause;
import java.lang.String;
import java.util.ArrayList;
@@ -89,8 +88,7 @@
private final PhoneAccountHandle mAccountHandle;
private final int mCallCapabilities;
private final int mCallProperties;
- private final int mDisconnectCauseCode;
- private final String mDisconnectCauseMessage;
+ private final DisconnectCause mDisconnectCause;
private final long mConnectTimeMillis;
private final GatewayInfo mGatewayInfo;
private final int mVideoState;
@@ -154,18 +152,10 @@
/**
* @return For a {@link #STATE_DISCONNECTED} {@code Call}, the disconnect cause expressed
- * as a code chosen from among those declared in {@link DisconnectCause}.
+ * by {@link android.telecomm.DisconnectCause}.
*/
- public int getDisconnectCauseCode() {
- return mDisconnectCauseCode;
- }
-
- /**
- * @return For a {@link #STATE_DISCONNECTED} {@code Call}, an optional reason for
- * disconnection expressed as a free text message.
- */
- public String getDisconnectCauseMessage() {
- return mDisconnectCauseMessage;
+ public DisconnectCause getDisconnectCause() {
+ return mDisconnectCause;
}
/**
@@ -219,8 +209,7 @@
Objects.equals(mAccountHandle, d.mAccountHandle) &&
Objects.equals(mCallCapabilities, d.mCallCapabilities) &&
Objects.equals(mCallProperties, d.mCallProperties) &&
- Objects.equals(mDisconnectCauseCode, d.mDisconnectCauseCode) &&
- Objects.equals(mDisconnectCauseMessage, d.mDisconnectCauseMessage) &&
+ Objects.equals(mDisconnectCause, d.mDisconnectCause) &&
Objects.equals(mConnectTimeMillis, d.mConnectTimeMillis) &&
Objects.equals(mGatewayInfo, d.mGatewayInfo) &&
Objects.equals(mVideoState, d.mVideoState) &&
@@ -240,8 +229,7 @@
Objects.hashCode(mAccountHandle) +
Objects.hashCode(mCallCapabilities) +
Objects.hashCode(mCallProperties) +
- Objects.hashCode(mDisconnectCauseCode) +
- Objects.hashCode(mDisconnectCauseMessage) +
+ Objects.hashCode(mDisconnectCause) +
Objects.hashCode(mConnectTimeMillis) +
Objects.hashCode(mGatewayInfo) +
Objects.hashCode(mVideoState) +
@@ -258,8 +246,7 @@
PhoneAccountHandle accountHandle,
int capabilities,
int properties,
- int disconnectCauseCode,
- String disconnectCauseMessage,
+ DisconnectCause disconnectCause,
long connectTimeMillis,
GatewayInfo gatewayInfo,
int videoState,
@@ -272,8 +259,7 @@
mAccountHandle = accountHandle;
mCallCapabilities = capabilities;
mCallProperties = properties;
- mDisconnectCauseCode = disconnectCauseCode;
- mDisconnectCauseMessage = disconnectCauseMessage;
+ mDisconnectCause = disconnectCause;
mConnectTimeMillis = connectTimeMillis;
mGatewayInfo = gatewayInfo;
mVideoState = videoState;
@@ -654,8 +640,7 @@
parcelableCall.getAccountHandle(),
parcelableCall.getCapabilities(),
parcelableCall.getProperties(),
- parcelableCall.getDisconnectCauseCode(),
- parcelableCall.getDisconnectCauseMsg(),
+ parcelableCall.getDisconnectCause(),
parcelableCall.getConnectTimeMillis(),
parcelableCall.getGatewayInfo(),
parcelableCall.getVideoState(),