public void release() {
   log("release");
   mListener = null;
   if (null != mVoicePhoneDetector) {
     mVoicePhoneDetector.releaseSelf();
     mVoicePhoneDetector = null;
   }
 }
 public void startPhoneDetect() {
   log(
       "startPhoneDetect(), mVoicePhoneDetector = "
           + mVoicePhoneDetector
           + ", mIsDetecting = "
           + mIsDetecting);
   if (null == mVoicePhoneDetector) {
     return;
   }
   if (mIsDetecting) {
     return;
   }
   try {
     mVoicePhoneDetector.startPhoneDetection();
   } catch (IllegalStateException ex) {
     log("startPhoneDetect exception");
   }
   mIsDetecting = true;
 }