diff options
author | jsh <jsh@google.com> | 2009-08-04 11:26:58 -0700 |
---|---|---|
committer | jsh <jsh@google.com> | 2009-08-04 11:30:09 -0700 |
commit | e7a9201edbb4d18f12d00ba1b80e2481a5cb446f (patch) | |
tree | fda138b92cfb0356ccc0a1c5c4780f5b8896310b /telephony/java | |
parent | f2beab58f34fc593fff583bfcd8143ce09fcdecd (diff) | |
download | frameworks_base-e7a9201edbb4d18f12d00ba1b80e2481a5cb446f.zip frameworks_base-e7a9201edbb4d18f12d00ba1b80e2481a5cb446f.tar.gz frameworks_base-e7a9201edbb4d18f12d00ba1b80e2481a5cb446f.tar.bz2 |
Add a DISCONNECTING call state.
This indicates to the UI that the hangup command has been received by the
Telephony layer and passed down to the RIL, but we have not yet been notified
of a successful DISCONNECT.
Addresses http://b/issue?id=1659876.
Diffstat (limited to 'telephony/java')
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 7eb9d85..b95dd11 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 e8724c2..c3bb01f 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 84d6b3d..005db47 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 a92e52d..9542d20 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 f3b7596..db6e339 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 */ |