stopVoiceMode method

  1. @override
Future<void> stopVoiceMode()
override

Implementation

@override
Future<void> stopVoiceMode() async {
  if (!isVoiceMode()) {
    _logger.w('Stopping voice mode aborted since voice mode is not active');
    notifyListeners();
    return;
  }
  _logger.i('Stopping voice mode');

  audioVolumeStream = null;
  _isInVoiceMode = false;

  _speaker?.dispose();
  _speaker = null;

  try {
    transcriber?.dispose();
    transcriber = null;
    // I dont remember why we need this try catch block. Looks wrong.
  } finally {}

  setStatus(ChatStatus.idle);
  notifyListeners();

  // Allow the screen to turn off again.
  await WakelockPlus.disable();
}