From 7a69c9277ffde11d862f1bf4fcb92e21a3f98c28 Mon Sep 17 00:00:00 2001 From: Sailesh Nepal Date: Wed, 5 Nov 2014 18:37:53 -0800 Subject: [PATCH] Add CONNECTION_MANAGER_NOT_SUPPORTED to DisconnectCause This CL adds a new disconnect cause. Connection managers can specify this disconnect cause when it doesn't want to route calls. Bug: 16903083 Change-Id: I05822991c5c34ca3533652a10fbcb8845a604925 --- api/current.txt | 1 + .../java/android/telecom/DisconnectCause.java | 20 ++++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/api/current.txt b/api/current.txt index a8c2ddc0e0c4e..95ad2e31a1bf8 100644 --- a/api/current.txt +++ b/api/current.txt @@ -28223,6 +28223,7 @@ package android.telecom { method public void writeToParcel(android.os.Parcel, int); field public static final int BUSY = 7; // 0x7 field public static final int CANCELED = 4; // 0x4 + field public static final int CONNECTION_MANAGER_NOT_SUPPORTED = 10; // 0xa field public static final android.os.Parcelable.Creator CREATOR; field public static final int ERROR = 1; // 0x1 field public static final int LOCAL = 2; // 0x2 diff --git a/telecomm/java/android/telecom/DisconnectCause.java b/telecomm/java/android/telecom/DisconnectCause.java index 206046d6db0b8..73bcd0c422cb7 100644 --- a/telecomm/java/android/telecom/DisconnectCause.java +++ b/telecomm/java/android/telecom/DisconnectCause.java @@ -58,6 +58,11 @@ public final class DisconnectCause implements Parcelable { public static final int RESTRICTED = 8; /** Disconnected for reason not described by other disconnect codes. */ public static final int OTHER = 9; + /** + * Disconnected because the connection manager did not support the call. The call will be tried + * again without a connection manager. See {@link PhoneAccount#CAPABILITY_CONNECTION_MANAGER}. + */ + public static final int CONNECTION_MANAGER_NOT_SUPPORTED = 10; private int mDisconnectCode; private CharSequence mDisconnectLabel; @@ -220,7 +225,10 @@ public final class DisconnectCause implements Parcelable { @Override public String toString() { String code = ""; - switch (getCode()) { + switch (mDisconnectCode) { + case UNKNOWN: + code = "UNKNOWN"; + break; case ERROR: code = "ERROR"; break; @@ -230,6 +238,9 @@ public final class DisconnectCause implements Parcelable { case REMOTE: code = "REMOTE"; break; + case CANCELED: + code = "CANCELED"; + break; case MISSED: code = "MISSED"; break; @@ -245,9 +256,12 @@ public final class DisconnectCause implements Parcelable { case OTHER: code = "OTHER"; break; - case UNKNOWN: + case CONNECTION_MANAGER_NOT_SUPPORTED: + code = "CONNECTION_MANAGER_NOT_SUPPORTED"; + break; default: - code = "UNKNOWN"; + code = "invalid code: " + mDisconnectCode; + break; } String label = mDisconnectLabel == null ? "" : mDisconnectLabel.toString(); String description = mDisconnectDescription == null