ensureInitialized method

Future<bool> ensureInitialized()

Requests microphone permission and initialises the STT engine once. Returns true when ready to listen.

Implementation

Future<bool> ensureInitialized() async {
  if (_initialized) return _available;

  if (!kIsWeb) {
    final status = await Permission.microphone.request();
    if (!status.isGranted) {
      _initialized = true;
      _available = false;
      return false;
    }
  }

  final ok = await _stt.initialize();
  _initialized = true;
  _available = ok;
  return ok;
}