diff options
5 files changed, 7 insertions, 2 deletions
diff --git a/telephony/java/com/android/internal/telephony/Call.java b/telephony/java/com/android/internal/telephony/Call.java index 7eb9d85d6724..b95dd11046dd 100644 --- a/telephony/java/com/android/internal/telephony/Call.java +++ b/telephony/java/com/android/internal/telephony/Call.java @@ -25,10 +25,10 @@ public abstract class Call { /* Enums */ public enum State { - IDLE, ACTIVE, HOLDING, DIALING, ALERTING, INCOMING, WAITING, DISCONNECTED; + IDLE, ACTIVE, HOLDING, DIALING, ALERTING, INCOMING, WAITING, DISCONNECTED, DISCONNECTING; public boolean isAlive() { - return !(this == IDLE || this == DISCONNECTED); + return !(this == IDLE || this == DISCONNECTED || this == DISCONNECTING); } public boolean isRinging() { diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaCall.java b/telephony/java/com/android/internal/telephony/cdma/CdmaCall.java index e8724c2cd640..c3bb01f6db59 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaCall.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaCall.java @@ -24,6 +24,7 @@ import com.android.internal.telephony.CallStateException; import com.android.internal.telephony.Connection; import com.android.internal.telephony.DriverCall; import com.android.internal.telephony.Phone; +import com.android.internal.telephony.Call.State; /** * {@hide} @@ -186,6 +187,7 @@ public final class CdmaCall extends Call { cn.onHangupLocal(); } + state = State.DISCONNECTING; } /** diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java index 84d6b3d283f9..005db47b2d13 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java @@ -761,6 +761,7 @@ public final class CdmaCallTracker extends CallTracker { } call.onHangupLocal(); + phone.notifyPreciseCallStateChanged(); } /* package */ diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmCall.java b/telephony/java/com/android/internal/telephony/gsm/GsmCall.java index a92e52d0e1d5..9542d20e1e4c 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmCall.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmCall.java @@ -185,6 +185,7 @@ class GsmCall extends Call { cn.onHangupLocal(); } + state = State.DISCONNECTING; } /** diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java index f3b7596f6bd3..db6e33902574 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java @@ -738,6 +738,7 @@ public final class GsmCallTracker extends CallTracker { } call.onHangupLocal(); + phone.notifyPreciseCallStateChanged(); } /* package */ |