Skip to content

Commit f03e8b9

Browse files
author
Owen Sang
committed
Initial open-source release of annotation recorder app
0 parents  commit f03e8b9

53 files changed

Lines changed: 3065 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Bug report
3+
about: Report a reproducible bug
4+
labels: bug
5+
---
6+
7+
## Description
8+
9+
## Steps to reproduce
10+
1.
11+
2.
12+
3.
13+
14+
## Expected behavior
15+
16+
## Actual behavior
17+
18+
## Environment
19+
- Device:
20+
- Android version:
21+
- App version/commit:
22+
23+
## Logs / screenshots
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
name: Feature request
3+
about: Propose an improvement
4+
labels: enhancement
5+
---
6+
7+
## Problem
8+
9+
## Proposed solution
10+
11+
## Alternatives considered
12+
13+
## Additional context

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Summary
2+
- What does this PR change?
3+
4+
## Why
5+
- Why is this needed?
6+
7+
## Validation
8+
- [ ] `./gradlew assembleDebug`
9+
- [ ] Manual test on device/emulator
10+
- Notes:
11+
12+
## Checklist
13+
- [ ] Docs updated (if required)
14+
- [ ] No secrets added
15+
- [ ] Scope is focused

.github/workflows/android-ci.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Android CI
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Set up JDK 17
17+
uses: actions/setup-java@v4
18+
with:
19+
distribution: temurin
20+
java-version: 17
21+
22+
- name: Setup Gradle
23+
uses: gradle/actions/setup-gradle@v4
24+
25+
- name: Build debug
26+
run: ./gradlew --no-daemon assembleDebug
27+
28+
- name: Lint
29+
run: ./gradlew --no-daemon lintDebug

.gitignore

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Android / Gradle
2+
.gradle/
3+
build/
4+
**/build/
5+
local.properties
6+
7+
# IDE
8+
.idea/
9+
*.iml
10+
11+
# OS
12+
.DS_Store
13+
14+
# Keystore / secrets
15+
*.jks
16+
*.keystore
17+
*.pem
18+
19+
# Logs
20+
*.log
21+
22+
# Misc
23+
captures/
24+
.externalNativeBuild/
25+
.cxx/

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on Keep a Changelog and this project follows Semantic Versioning (pre-1.0).
6+
7+
## [0.1.0] - 2026-04-15
8+
### Added
9+
- Initial Android app scaffold (Kotlin, View system, Material3)
10+
- Accessibility event and tree snapshot recording
11+
- Session XML export with event->snapshot linkage
12+
- Floating overlay control and foreground recording service
13+
- Optional screenshot capture pipeline tied to snapshot IDs
14+
- Output open/share flow and rename-on-stop UX

CODE_OF_CONDUCT.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Code of Conduct
2+
3+
## Our Standards
4+
- Be respectful and constructive.
5+
- Assume good intent.
6+
- Focus on technical issues, not people.
7+
8+
## Unacceptable Behavior
9+
- Harassment, hate speech, or personal attacks.
10+
- Publishing private information without consent.
11+
- Disruptive trolling or abusive language.
12+
13+
## Enforcement
14+
Project maintainers may remove comments, close discussions, or block contributors for violations.

CONTRIBUTING.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Contributing
2+
3+
## Workflow
4+
1. Open an issue describing the problem/feature.
5+
2. Fork and create a focused branch.
6+
3. Keep pull requests small and reviewable.
7+
4. Ensure CI passes.
8+
9+
## Local checks
10+
```bash
11+
./gradlew clean assembleDebug
12+
```
13+
14+
## Coding standards
15+
- Kotlin style: idiomatic and readable
16+
- Avoid unrelated refactors in feature PRs
17+
- Add/update docs when behavior changes
18+
19+
## Commit guidance
20+
- Use clear, imperative commit messages
21+
- Reference issue IDs when applicable
22+
23+
## Pull request checklist
24+
- [ ] Build passes locally
25+
- [ ] Behavior tested on device/emulator
26+
- [ ] Docs updated (if needed)
27+
- [ ] No secrets/private paths added

DISCLAIMER.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Disclaimer
2+
3+
This project is for accessibility workflow research, UI testing, and data labeling in authorized environments only.
4+
5+
## Important
6+
- Do not use this software to capture content, gestures, or UI trees from devices/users without explicit permission.
7+
- Respect applicable laws, platform policies, and privacy requirements in your jurisdiction.
8+
- You are solely responsible for ensuring lawful and ethical usage.
9+
10+
## Non-goals
11+
- This project is not intended for stealth monitoring, spyware, or unauthorized data collection.
12+
- This project does not provide bypasses for Android security boundaries.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Annotation Recorder Contributors
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)