summaryrefslogtreecommitdiffstats
path: root/telephony/java
diff options
context:
space:
mode:
authorjsh <jsh@google.com>2009-08-04 11:26:58 -0700
committerjsh <jsh@google.com>2009-08-04 11:30:09 -0700
commite7a9201edbb4d18f12d00ba1b80e2481a5cb446f (patch)
treefda138b92cfb0356ccc0a1c5c4780f5b8896310b /telephony/java
parentf2beab58f34fc593fff583bfcd8143ce09fcdecd (diff)
downloadframeworks_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')
-rw-r--r--telephony/java/com/android/internal/telephony/Call.java4
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/CdmaCall.java2
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java1
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmCall.java1
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java1
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 */