From 256874997be2501a3f8944bcc2b8e5843d18ea77 Mon Sep 17 00:00:00 2001 From: Edison Jwa Date: Wed, 20 May 2026 14:42:00 +0900 Subject: [PATCH] fix(android): request microphone permission on startup --- apps/chanora_flutter/lib/main.dart | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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) {