Infrastructure low complexity mobile
0
Dependencies
2
Dependents
0
Entities
0
Integrations

Description

Handles runtime microphone permission requests on iOS (NSMicrophoneUsageDescription) and Android (RECORD_AUDIO) the first time the user activates speech input. Displays a contextual rationale dialog explaining that the microphone is used exclusively for post-activity note dictation, not for recording conversations. Persists the granted/denied state and surfaces it to dependent components without re-prompting unnecessarily.

Feature: Speech-to-Text Input

microphone-permission-manager

Responsibilities

  • Check current microphone permission status at service initialisation
  • Request runtime permission with a clear, privacy-focused rationale on first use
  • Provide a typed PermissionStatus result to the STT Service and widget layer
  • Direct users to system settings if permission was permanently denied
  • Ensure permission rationale explicitly frames the feature as post-hoc dictation only

Interfaces

checkStatus() Future<PermissionStatus>
requestPermission() Future<PermissionStatus>
openSystemSettings() void
isDeniedPermanently() Future<bool>

Relationships

Dependents (2)

Components that depend on this component