summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 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 */