Play DTMF tones locally when user uses dialpad during a call.
Bug: 13880857
Change-Id: I94e8eeb94cd77c829eeea07e1444615daa8c4723
diff --git a/src/com/android/telecomm/CallsManager.java b/src/com/android/telecomm/CallsManager.java
index 04dd9ad..e019349 100644
--- a/src/com/android/telecomm/CallsManager.java
+++ b/src/com/android/telecomm/CallsManager.java
@@ -89,6 +89,8 @@
*/
private Call mForegroundCall;
+ private final DtmfLocalTonePlayer mDtmfLocalTonePlayer = new DtmfLocalTonePlayer();
+
private final CallAudioManager mCallAudioManager;
private final Set<CallsManagerListener> mListeners = Sets.newHashSet();
@@ -115,6 +117,7 @@
mListeners.add(new InCallToneMonitor(playerFactory, this));
mListeners.add(mCallAudioManager);
mListeners.add(app.getMissedCallNotifier());
+ mListeners.add(mDtmfLocalTonePlayer);
}
static CallsManager getInstance() {
@@ -326,6 +329,7 @@
Log.i(this, "Request to play DTMF in a non-existent call %s", call);
} else {
call.playDtmfTone(digit);
+ mDtmfLocalTonePlayer.playTone(call, digit);
}
}
@@ -337,6 +341,7 @@
Log.i(this, "Request to stop DTMF in a non-existent call %s", call);
} else {
call.stopDtmfTone();
+ mDtmfLocalTonePlayer.stopTone(call);
}
}