requestPermission method

Future<bool> requestPermission()

Request microphone permission

Returns true if permission was granted, false otherwise.

Implementation

Future<bool> requestPermission() async {
  try {
    _logger.info('Requesting microphone permission');

    // Check and request microphone permission
    final status = await Permission.microphone.request();
    if (status.isGranted) {
      _logger.info('Microphone permission granted');
      return true;
    } else if (status.isPermanentlyDenied) {
      _logger.warning(
          'Microphone permission permanently denied - user should enable in settings');
      return false;
    } else {
      _logger.warning('Microphone permission denied: $status');
      return false;
    }
  } catch (e) {
    _logger.error('Failed to request microphone permission: $e');
    return false;
  }
}