diff --git a/apps/chanora_flutter/lib/main.dart b/apps/chanora_flutter/lib/main.dart index 9a045f8..0a40201 100644 --- a/apps/chanora_flutter/lib/main.dart +++ b/apps/chanora_flutter/lib/main.dart @@ -328,10 +328,22 @@ class _BetaHomeState extends State<_BetaHome> { _androidPermissions.recordAudioState.addListener( _onRecordAudioPermissionChanged, ); + WidgetsBinding.instance.addPostFrameCallback((_) { + unawaited(_requestRecordAudioOnStartup()); + }); unawaited(_reloadBookmarks()); unawaited(_hydratePttBinding()); } + Future _requestRecordAudioOnStartup() async { + try { + await _androidPermissions.ensureRecordAudio(); + } catch (_) { + // Best-effort startup prompt only. The join path still gates on + // ensureRecordAudio() and applies the listen-only hard-mute policy. + } + } + void _onRecordAudioPermissionChanged() { if (_androidPermissions.recordAudioState.value == AndroidRecordAudioPermissionState.granted) {