## ADDED Requirements ### Requirement: Display SMS permission state The app SHALL display whether the SMS receive permission is granted, denied, or blocked by system settings. #### Scenario: Permission is granted - **WHEN** `RECEIVE_SMS` permission is granted - **THEN** the app MUST show that the primary SMS capture path can be attempted #### Scenario: Permission is denied - **WHEN** `RECEIVE_SMS` permission is denied - **THEN** the app MUST show that incoming SMS cannot be captured through the primary path until permission is granted ### Requirement: Explain capture path status The app SHALL expose diagnostic state for each supported SMS capture path. #### Scenario: Primary path receives an SMS - **WHEN** the system broadcast path receives and processes an SMS - **THEN** the app MUST show the latest receive time, source path, sender summary, and SMS body or body summary #### Scenario: Primary path fails before body capture completes - **WHEN** the app cannot receive or process an SMS through the primary path - **THEN** the app MUST show a specific reason such as missing permission, no broadcast received, empty body, or body-read failure #### Scenario: Optional Google API path fails - **WHEN** SMS User Consent or SMS Retriever cannot complete - **THEN** the app MUST show whether the failure came from unavailable Google Play services, timeout, user cancellation, or unmatched SMS format ### Requirement: Avoid unnecessary SMS content retention The app SHALL minimize retention and logging of full SMS content. #### Scenario: Recent SMS result is stored for display - **WHEN** the app stores the latest SMS capture result - **THEN** the app MUST keep retention limited to the recent result, sender summary, timestamp, source, and the SMS body needed for local display or diagnostics #### Scenario: Full body visibility is shown in diagnostics - **WHEN** the app shows full SMS content for local diagnostics - **THEN** the app MUST keep that behavior local to the device and clearly separate it from broader logging or export behavior ### Requirement: Provide recovery actions for permission problems The app SHALL provide a clear recovery path when Android or HyperOS blocks SMS capture permissions. #### Scenario: Permission cannot be granted in normal prompt - **WHEN** the runtime permission prompt does not grant usable SMS access - **THEN** the app MUST provide an action to open the system application details or permission settings page