Feature/integration layer#6
Merged
Merged
Conversation
- Implement `ComposeA11yScanner` object with `install()`, `uninstall()`, and `scan()` methods to manage the scanner overlay lifecycle. - Add logic to dynamically attach a `ComposeView` overlay to a `ComponentActivity` for rendering scanner UI components. - Implement `A11yNode` extraction logic using `SemanticsOwner` reflection and view hierarchy traversal. - Add a debug-build guard to ensure the scanner is only functional in debuggable APKs. - Introduce `ScannerOverlayContent` to coordinate the `ScanSummaryBar`, `A11yIssueOverlay`, and `IssueDetailPanel`. - Expose `stateFlow` in `A11yScannerController` to allow observation of scanner state updates. - Update `scanner-ui` dependencies to include `androidx.activity.compose`.
…Startup - Add `A11yScannerInitializer` using the AndroidX Startup library to automatically install the scanner in debug builds. - Support scanner configuration through Android Manifest meta-data (min touch target, min contrast, and auto-scan). - Add `autoScan` property to `ScannerConfig` and update `ComposeA11yScanner` to respect this setting. - Register `ActivityLifecycleCallbacks` to automatically install the scanner on `ComponentActivity` resumption.
- Add `triggerScan()` to `ComposeA11yScanner` to allow consumer-side scan requests. - Implement `scanOnLongPress` modifier and `scanOnShake` composable for gesture and sensor-based triggers. - Decouple scanner state collection from configuration updates in `ComposeA11yScanner` and `A11yScannerScaffold`. - Respect `config.autoScan` in `LaunchedEffect` to allow disabling automatic background scanning. - Add sample activity demonstrating manual, long-press, and shake-to-scan functionality. - Include default scanner configuration metadata in the sample `AndroidManifest.xml`.
…eportSheet` - Implement `ScanResultExporter` to support exporting scan results to JSON and Markdown formats. - Add an "Export Report" button to `ScanReportSheet` to share the report as Markdown via a system intent. - Include helper functions for JSON escaping and Markdown table formatting.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ComposeA11yScannerobject withinstall(),uninstall(), andscan()methods to manage the scanner overlay lifecycle.A11yScannerInitializerusing the AndroidX Startup library to automatically install the scanner in debug builds.eportSheet