requestMicrophonePermission static method

Future<bool> requestMicrophonePermission()

Implementation

static Future<bool> requestMicrophonePermission() async {
  _logger.info('đŸŽ€ DĂ©but demande permission microphone');

  final status = await Permission.microphone.status;
  _logger.info('đŸŽ€ Statut initial: $status');

  if (status.isGranted) {
    _logger.info('đŸŽ€ ✅ Permission dĂ©jĂ  accordĂ©e');
    return true;
  }

  if (status.isPermanentlyDenied) {
    _logger.error('đŸŽ€ ❌ Permission refusĂ©e dĂ©finitivement - ouverture paramĂštres');
    await openAppSettings();
    return false;
  }

  _logger.info('đŸŽ€ đŸ“± Demande de permission en cours...');
 // final result = await Permission.microphone.request();

  // CORRECTION: Utilisation de const pour la performance
  await Future.delayed(const Duration(milliseconds: 500));

  final finalStatus = await Permission.microphone.status;
  final granted = finalStatus.isGranted;
  _logger.info('đŸŽ€ ${granted ? "✅ SUCCÈS" : "❌ ÉCHEC"}');

  return granted;
}