do not merge: cherry-picked 0d4cf6265fcbba90a87a1165a800b697e737d847 from master
diff --git a/src/com/android/contacts/TwelveKeyDialer.java b/src/com/android/contacts/TwelveKeyDialer.java
index 428cc8e..d9908fe 100644
--- a/src/com/android/contacts/TwelveKeyDialer.java
+++ b/src/com/android/contacts/TwelveKeyDialer.java
@@ -76,6 +76,7 @@
 
     private static final String TAG = "TwelveKeyDialer";
 
+    // Handler message codes
     private static final int STOP_TONE = 1;
 
     /** The length of DTMF tones in milliseconds */
@@ -229,20 +230,6 @@
             super.onRestoreInstanceState(icicle);
         }
 
-        // If the mToneGenerator creation fails, just continue without it.  It is
-        // a local audio signal, and is not as important as the dtmf tone itself.
-        synchronized (mToneGeneratorLock) {
-            if (mToneGenerator == null) {
-                try {
-                    mToneGenerator = new ToneGenerator(AudioManager.STREAM_DTMF,
-                            TONE_RELATIVE_VOLUME);
-                } catch (RuntimeException e) {
-                    Log.w(TAG, "Exception caught while creating local tone generator: " + e);
-                    mToneGenerator = null;
-                }
-            }
-        }
-
         // Initialize vibration parameters.
         // TODO: We might eventually need to make mVibrateOn come from a
         // user preference rather than a per-platform resource, in which
@@ -252,18 +239,6 @@
     }
 
     @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        synchronized(mToneGeneratorLock) {
-            if (mToneGenerator != null) {
-                mToneStopper.removeMessages(STOP_TONE);
-                mToneGenerator.release();
-                mToneGenerator = null;
-            }
-        }
-    }
-
-    @Override
     protected void onRestoreInstanceState(Bundle icicle) {
         // Do nothing, state is restored in onCreate() if needed
     }