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);
         }
     }