Skip to content

Feature/integration layer#6

Merged
mohdaquib merged 4 commits into
mainfrom
feature/integration-layer
Jun 6, 2026
Merged

Feature/integration layer#6
mohdaquib merged 4 commits into
mainfrom
feature/integration-layer

Conversation

@mohdaquib

Copy link
Copy Markdown
Owner
  • Implement ComposeA11yScanner object with install(), uninstall(), and scan() methods to manage the scanner overlay lifecycle.
  • Add A11yScannerInitializer using the AndroidX Startup library to automatically install the scanner in debug builds.
  • Implement manual scan triggers and external scan control
  • [Implement ScanResultExporter and add export functionality to ScanR
    eportSheet

mohdaquib added 4 commits June 6, 2026 15:28
- 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.
@mohdaquib mohdaquib merged commit a822210 into main Jun 6, 2026
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant