private void stopRecording(boolean isComingFromViewClick) {
    if (countDownTimer != null) {
      countDownTimer.cancel();
    }

    // //// ****** Handles UI items on button click ****** ///////
    editStopButton.setVisibility(View.GONE);
    editPlayButton.setVisibility(View.VISIBLE);
    editRerecordButton.setVisibility(View.VISIBLE);

    // //// ******* Stop Recording Audio and stop chronometer ******** ////////
    if (mRecordingHelper != null && mRecordingHelper.isRecording()) {
      mRecordingHelper.stopRecording();
    }
    editTimeDetailsChronometer.stop();

    if (mAudioPlay != null && mAudioPlay.isAudioPlaying()) {
      mAudioPlay.stopPlayBack();
    }
    if (isFromFavorite) {
      mAudioPlay = new AudioPlay(mFavoriteList.id, this, isFromFavorite);
    } else {
      mAudioPlay = new AudioPlay(entry.id, this, isFromFavorite);
    }
    String displayTime =
        new DisplayTimeForChronometer().getDisplayTime(mAudioPlay.getPlayBackTime());
    editTimeDetailsChronometer.setText(displayTime);
    Map<String, String> map = new HashMap<String, String>();
    map.put("Display Time ", displayTime);
    FlurryAgent.onEvent(getString(R.string.audio_recording_time), map);
  }
  @Override
  public void onClick(View v) {
    super.onClick(v);
    // ///// ******** Adding On Click Actions to click listeners ********* //////////

    switch (v.getId()) {

        // // ***** if stop button pressed ****** //////
      case R.id.edit_stop_button:
        stopRecording(true);
        break;
        // // ***** if play button pressed ****** //////
      case R.id.edit_play_button:
        // //// ******** to handle playback of recorded file ********* ////////
        if (isFromFavorite) {
          mAudioPlay = new AudioPlay(mFavoriteList.id, this, isFromFavorite);
        } else {
          mAudioPlay = new AudioPlay(entry.id, this, isFromFavorite);
        }

        // ///// ******* Chronometer Starts Countdown ****** ///////
        countDownTimer =
            new MyCountDownTimer(
                mAudioPlay.getPlayBackTime(),
                1000,
                editTimeDetailsChronometer,
                editStopButton,
                editPlayButton,
                mAudioPlay);

        // //// ****** Handles UI items on button click ****** ///////
        editPlayButton.setVisibility(View.GONE);
        editStopButton.setVisibility(View.VISIBLE);
        editRerecordButton.setVisibility(View.VISIBLE);

        // /// ******** Start Audio Playback and counter to play audio
        // ****** ///////
        if (!mAudioPlay.isAudioPlaying()) {
          mAudioPlay.startPlayBack();
        } else {
          mAudioPlay.stopPlayBack();
          mAudioPlay.startPlayBack();
        }
        countDownTimer.start();
        break;

        // // ***** if rerecord button pressed ****** //////
      case R.id.edit_rerecord_button:
        isChanged = true;
        if (countDownTimer != null) {
          countDownTimer.cancel();
        }

        // /// ******* If Audio PlayBack is there stop playing audio *******//////
        if (mAudioPlay != null && mAudioPlay.isAudioPlaying()) {
          mAudioPlay.stopPlayBack();
        }

        // //// ****** Handles UI items on button click ****** ///////
        editPlayButton.setVisibility(View.GONE);
        editStopButton.setVisibility(View.VISIBLE);
        editRerecordButton.setVisibility(View.GONE);

        // //// ****** Restarts chronometer and recording ******* ////////
        if (mRecordingHelper != null && mRecordingHelper.isRecording()) {
          mRecordingHelper.stopRecording();
        }
        File mPath;
        mDatabaseAdapter.open();
        if (isFromFavorite) {
          mPath = fileHelper.getAudioFileFavorite(mFavoriteList.id);
          mDatabaseAdapter.updateFileUploadedFavoriteTable(mFavoriteList.id);
        } else {
          mPath = fileHelper.getAudioFileEntry(entry.id);
          mDatabaseAdapter.updateFileUploadedEntryTable(entry.id);
        }
        mDatabaseAdapter.close();
        mRecordingHelper = new RecordingHelper(mPath, this);
        mRecordingHelper.startRecording();
        editTimeDetailsChronometer.setTextSize(TypedValue.COMPLEX_UNIT_SP, 36);
        editTimeDetailsChronometer.setBase(SystemClock.elapsedRealtime());
        editTimeDetailsChronometer.start();
        break;

      default:
        break;
    }
  }