Telephony: Fix for first pause DTMF digit
As per 3GPP requirement first pause sequence also should maintain 3 sec
delay. Added fix to wait for 3 sec time before sending DTMF digits to
RIL.
Change-Id: I6041614b544cc9c24521bee9ad505439b810ff86
diff --git a/src/java/com/android/internal/telephony/gsm/GsmConnection.java b/src/java/com/android/internal/telephony/gsm/GsmConnection.java
index f2659e7..9ccc0aa 100644
--- a/src/java/com/android/internal/telephony/gsm/GsmConnection.java
+++ b/src/java/com/android/internal/telephony/gsm/GsmConnection.java
@@ -89,7 +89,6 @@
static final int EVENT_WAKE_LOCK_TIMEOUT = 4;
//***** Constants
- static final int PAUSE_DELAY_FIRST_MILLIS = 100;
static final int PAUSE_DELAY_MILLIS = 3 * 1000;
static final int WAKE_LOCK_TIMEOUT_MILLIS = 60*1000;
@@ -566,24 +565,19 @@
owner.cm.sendDtmf(c, h.obtainMessage(EVENT_DTMF_DONE));
} else if (c == PhoneNumberUtils.PAUSE) {
// From TS 22.101:
-
- // "The first occurrence of the "DTMF Control Digits Separator"
- // shall be used by the ME to distinguish between the addressing
- // digits (i.e. the phone number) and the DTMF digits...."
-
- if (nextPostDialChar == 1) {
- // The first occurrence.
- // We don't need to pause here, but wait for just a bit anyway
- h.sendMessageDelayed(h.obtainMessage(EVENT_PAUSE_DONE),
- PAUSE_DELAY_FIRST_MILLIS);
- } else {
- // It continues...
- // "Upon subsequent occurrences of the separator, the UE shall
- // pause again for 3 seconds (\u00B1 20 %) before sending any
- // further DTMF digits."
- h.sendMessageDelayed(h.obtainMessage(EVENT_PAUSE_DONE),
- PAUSE_DELAY_MILLIS);
- }
+ // It continues...
+ // Upon the called party answering the UE shall send the DTMF digits
+ // automatically to the network after a delay of 3 seconds(± 20 %).
+ // The digits shall be sent according to the procedures and timing
+ // specified in 3GPP TS 24.008 [13]. The first occurrence of the
+ // "DTMF Control Digits Separator" shall be used by the ME to
+ // distinguish between the addressing digits (i.e. the phone number)
+ // and the DTMF digits. Upon subsequent occurrences of the
+ // separator,
+ // the UE shall pause again for 3 seconds (± 20 %) before sending
+ // any further DTMF digits.
+ h.sendMessageDelayed(h.obtainMessage(EVENT_PAUSE_DONE),
+ PAUSE_DELAY_MILLIS);
} else if (c == PhoneNumberUtils.WAIT) {
setPostDialState(PostDialState.WAIT);
} else if (c == PhoneNumberUtils.WILD) {