Add DTMF dial tone commands to CallCommandsService.

Moved over much of the code from DTMFTwelveKeyDialer except for UI code
and short-Tone.  When we copy over short tone, we should be able to
delete DTMFTwelveKeyDialer.

Change-Id: Ibb954cdeb30bec99d717569f9254892661533699
diff --git a/src/com/android/phone/CallCommandService.java b/src/com/android/phone/CallCommandService.java
index f216a48..7f85404 100644
--- a/src/com/android/phone/CallCommandService.java
+++ b/src/com/android/phone/CallCommandService.java
@@ -35,11 +35,14 @@
     private final Context mContext;
     private final CallManager mCallManager;
     private final CallModeler mCallModeler;
+    private final DTMFTonePlayer mDtmfTonePlayer;
 
-    public CallCommandService(Context context, CallManager callManager, CallModeler callModeler) {
+    public CallCommandService(Context context, CallManager callManager, CallModeler callModeler,
+            DTMFTonePlayer dtmfTonePlayer) {
         mContext = context;
         mCallManager = callManager;
         mCallModeler = callModeler;
+        mDtmfTonePlayer = dtmfTonePlayer;
     }
 
     /**
@@ -93,7 +96,7 @@
             CallResult result = mCallModeler.getCallWithId(callId);
             if (result != null) {
                 int state = result.getCall().getState();
-                if (hold && Call.State.ACTIVE == state ) {
+                if (hold && Call.State.ACTIVE == state) {
                     PhoneUtils.switchHoldingAndActive(mCallManager.getFirstActiveBgCall());
                 } else if (!hold && Call.State.ONHOLD == state) {
                     PhoneUtils.switchHoldingAndActive(result.getConnection().getCall());
@@ -122,4 +125,22 @@
             Log.e(TAG, "Error during speaker().", e);
         }
     }
+
+    @Override
+    public void playDtmfTone(char digit) {
+        try {
+            mDtmfTonePlayer.playDtmfTone(digit);
+        } catch (Exception e) {
+            Log.e(TAG, "Error playing DTMF tone.", e);
+        }
+    }
+
+    @Override
+    public void stopDtmfTone() {
+        try {
+            mDtmfTonePlayer.stopDtmfTone();
+        } catch (Exception e) {
+            Log.e(TAG, "Error stopping DTMF tone.", e);
+        }
+    }
 }