Microphone Permission Handler
Component Detail
Infrastructure
low complexity
mobile
0
Dependencies
1
Dependents
0
Entities
0
Integrations
Description
Requests and tracks microphone access permission using the same in-app rationale pattern established by the Calendar Permission Handler for calendar sync. Presents a contextual explanation before the OS permission dialog and handles denied/permanently-denied states gracefully.
microphone-permission-handler
Sources & reasoning
Microphone access is a sensitive OS permission requiring an in-app rationale before the system dialog, identical in pattern to the Calendar Permission Handler used in calendar-sync. Isolating permission logic avoids duplicating platform_channel calls and keeps the service layer free of OS-dialog concerns.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- Check current microphone permission status at session start
- Present in-app rationale before triggering the OS permission dialog
- Handle denied and permanently-denied permission states with settings deep-link
- Expose permission status stream for reactive UI updates
Interfaces
checkPermission() -> Future<PermissionStatus>
requestPermission() -> Future<PermissionStatus>
openAppSettings()