Play local DTMF tones for post-dial actions
Bug: 10695960
Change-Id: I9d039f8a1a27c7f9371eea1a76f175ca9df3249f
diff --git a/src/com/android/phone/DTMFTonePlayer.java b/src/com/android/phone/DTMFTonePlayer.java
index 0acd114..b8adaf1 100644
--- a/src/com/android/phone/DTMFTonePlayer.java
+++ b/src/com/android/phone/DTMFTonePlayer.java
@@ -27,6 +27,7 @@
import android.util.Log;
import com.android.internal.telephony.CallManager;
+import com.android.internal.telephony.Connection.PostDialState;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
import com.android.services.telephony.common.Call;
@@ -124,8 +125,25 @@
}
@Override
- public void onPostDialWait(int callId, String chars) {
- // no-op
+ public void onPostDialAction(PostDialState state, int callId, String remainingChars,
+ char currentChar) {
+ switch (state) {
+ case STARTED:
+ stopLocalToneIfNeeded();
+ if (!mToneMap.containsKey(currentChar)) {
+ return;
+ }
+ startLocalToneIfNeeded(currentChar);
+ break;
+ case PAUSE:
+ case WAIT:
+ case WILD:
+ case COMPLETE:
+ stopLocalToneIfNeeded();
+ break;
+ default:
+ break;
+ }
}
/**
@@ -387,5 +405,4 @@
Log.d(LOG_TAG, msg);
}
}
-
}