fix(android): request microphone permission on startup
This commit is contained in:
@@ -328,10 +328,22 @@ class _BetaHomeState extends State<_BetaHome> {
|
|||||||
_androidPermissions.recordAudioState.addListener(
|
_androidPermissions.recordAudioState.addListener(
|
||||||
_onRecordAudioPermissionChanged,
|
_onRecordAudioPermissionChanged,
|
||||||
);
|
);
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
unawaited(_requestRecordAudioOnStartup());
|
||||||
|
});
|
||||||
unawaited(_reloadBookmarks());
|
unawaited(_reloadBookmarks());
|
||||||
unawaited(_hydratePttBinding());
|
unawaited(_hydratePttBinding());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> _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() {
|
void _onRecordAudioPermissionChanged() {
|
||||||
if (_androidPermissions.recordAudioState.value ==
|
if (_androidPermissions.recordAudioState.value ==
|
||||||
AndroidRecordAudioPermissionState.granted) {
|
AndroidRecordAudioPermissionState.granted) {
|
||||||
|
|||||||
Reference in New Issue
Block a user