Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
244 commits
Select commit Hold shift + click to select a range
1646b3b
Prepare 3.0.0 plan and coordination guidelines
75py Sep 11, 2026
a0e41a8
Record 3.0.0 coordination kickoff
75py Sep 11, 2026
3580178
Document Claude coordinator execution blocker
75py Sep 11, 2026
cdcd600
Record coordinator recovery and initial task agreement
75py Sep 11, 2026
ebccbc8
Propose 3.0.0 overlay API design
75py Sep 11, 2026
860a2f0
Refine 3.0.0 API design contract
75py Sep 11, 2026
b374eee
Clarify overlay attachment state
75py Sep 11, 2026
d67f2e7
Merge pull request #21 from 75py/codex/3.0.0/t00-coordination
75py Sep 11, 2026
80253ec
Record first-wave ownership and design review decisions
75py Sep 11, 2026
a1fcfeb
Clarify 3.0 API contract details
75py Sep 11, 2026
c071c37
Record agreed API direction and pause checkpoint
75py Sep 11, 2026
64f959f
Record resumed coordination and remaining permission wait
75py Sep 12, 2026
506f996
Merge pull request #23 from 75py/codex/3.0.0/coordination-wave1
75py Sep 12, 2026
2f22318
Refine 3.0 API documentation
75py Sep 12, 2026
6a2ce74
Clarify API migration wording
75py Sep 12, 2026
12706b6
Add CI workflow for build, test, and lint
75py Sep 12, 2026
bf3e42b
Fix sample RestrictedApi lint errors for SeekBar listeners
75py Sep 12, 2026
c8c2660
Merge pull request #22 from 75py/codex/3.0.0/t01-design
75py Sep 12, 2026
2b0182f
Record API approval and staged migration agreement
75py Sep 12, 2026
8510b6e
Scope CI token permissions and sync sample HTML snippet
75py Sep 12, 2026
f69e7bf
Merge pull request #25 from 75py/codex/3.0.0/coordination-wave2
75py Sep 12, 2026
9192f83
Merge pull request #24 from 75py/claude/3.0.0/t02-ci-lint
75py Sep 12, 2026
db87e8b
Record CI integration and toolchain task dispatch
75py Sep 12, 2026
d96abfc
Merge pull request #26 from 75py/codex/3.0.0/coordination-wave3
75py Sep 12, 2026
27d4f82
Make DebugOverlayTree thread-safe and bound its buffer
75py Sep 12, 2026
5eca725
Merge pull request #27 from 75py/claude/3.0.0/t07-timber-java
75py Sep 12, 2026
64cdb80
Record Timber stage approval and toolchain retry
75py Sep 12, 2026
a3b38b1
Consolidate AGP declaration and bump to 9.2.1
75py Sep 12, 2026
3354e2f
Update Gradle wrapper to 9.4.1 and pin JDK 17
75py Sep 12, 2026
a92397e
Raise compileSdk/targetSdk to 36 and minSdk to 23; clean up manifests
75py Sep 12, 2026
0efc4ca
Raise dependencies to current stable versions; drop legacy-support-v4…
75py Sep 12, 2026
a6f220e
Opt out of AGP 9's new DSL default alongside built-in Kotlin
75py Sep 12, 2026
86eb4f8
Remove opt-timber's kotlinOptions block (removed in Kotlin 2.2+)
75py Sep 12, 2026
ea40be2
Track final API cleanup and toolchain validation scope
75py Sep 12, 2026
b2d3a48
Adopt AGP 9's built-in Kotlin support and new DSL defaults
75py Sep 12, 2026
c914d43
Migrate core/sample Groovy DSL to AGP 9 property-assignment syntax
75py Sep 12, 2026
1af6dfb
Merge pull request #28 from 75py/codex/3.0.0/coordination-wave4
75py Sep 12, 2026
24fc1f2
Fix lint module's bare sourceCompatibility/targetCompatibility for Gr…
75py Sep 12, 2026
9770329
Record toolchain review failures and Kotlin readiness evidence
75py Sep 12, 2026
7a05b90
Use AGP 9's supported ProGuard default file in sample
75py Sep 12, 2026
9739fae
Record conditional toolchain ownership transfer and recovery
75py Sep 12, 2026
19c4252
Merge pull request #30 from 75py/codex/3.0.0/coordination-wave5
75py Sep 12, 2026
c94499b
Record verified toolchain handoff to Codex
75py Sep 12, 2026
9bd87c5
Fix AGP 9 resource ID compatibility
75py Sep 12, 2026
24e93fd
Test denied overlay permission on API 23
75py Sep 12, 2026
2119277
Record successful toolchain validation and pending cross-review
75py Sep 12, 2026
7be795c
Merge pull request #32 from 75py/codex/3.0.0/coordination-wave6
75py Sep 12, 2026
00b45cb
Merge pull request #31 from 75py/codex/codex-3.0.0-t03-completion
75py Sep 12, 2026
3224165
Add immutable overlay configuration types
75py Sep 12, 2026
f86c40f
Make DebugOverlayTree threshold visible across threads
75py Sep 12, 2026
997a958
Add immutable overlay configuration types
75py Sep 12, 2026
d2a1dd6
Merge pull request #34 from 75py/claude/3.0.0/t07-timber-threshold
75py Sep 12, 2026
08c6b4f
Record toolchain integration and API implementation handoff
75py Sep 12, 2026
6aee461
Remove OverlaySpec constructor overloads
75py Sep 12, 2026
4a24cd2
Implement synchronous overlay state machine
75py Sep 12, 2026
9691d35
Record integrated toolchain and staged API implementation ownership
75py Sep 12, 2026
2d2dc4b
Fix OverlaySpec Java validation tests
75py Sep 12, 2026
a95f227
Convert DebugOverlayTree to Kotlin
75py Sep 12, 2026
b316ff8
Preserve terminal overlay diagnostics
75py Sep 12, 2026
41d74aa
Merge pull request #36 from 75py/codex/3.0.0/t04a-followup
75py Sep 12, 2026
3cdd008
Record validation corrections and Kotlin API review findings
75py Sep 12, 2026
fbfd42e
Harden overlay disposal and drag state
75py Sep 12, 2026
c9ef934
Merge pull request #38 from 75py/codex/3.0.0/coordination-wave8
75py Sep 12, 2026
66ec1db
Encapsulate DebugOverlayTree test seams, convert test to Kotlin
75py Sep 12, 2026
d866ca0
Make DebugOverlayTree test seams private, use reflection in tests
75py Sep 12, 2026
7db4687
Make initialize() private too; redesign init() test without mocking
75py Sep 12, 2026
2ea8c02
Fix draggable listener state retention
75py Sep 12, 2026
42fb6cc
Adapt DebugOverlayTreeTest to Robolectric for a real main looper
75py Sep 12, 2026
ef8bfbe
Make postToMainThread private
75py Sep 12, 2026
c0d27e1
Reset OverlayViewManager singleton by field reflection in tests
75py Sep 12, 2026
2dc41c5
Record API validation corrections and device preparation
75py Sep 12, 2026
20ae42a
Remove core testing hooks
75py Sep 12, 2026
9eb38b7
Fix INSTANCE/DEFAULT_MAX_LINES reflection lookup in test
75py Sep 12, 2026
3f7ceb5
Merge pull request #39 from 75py/codex/3.0.0/coordination-wave9
75py Sep 12, 2026
9beb332
Merge pull request #37 from 75py/claude/3.0.0/t07-timber-kotlin
75py Sep 12, 2026
82d5bb5
Merge remote-tracking branch 'origin/work/3.0.0' into codex/codex-3.0…
75py Sep 12, 2026
3e960b8
Merge pull request #40 from 75py/codex/codex-3.0.0-t04b-state
75py Sep 12, 2026
aba231d
Shift remaining implementation and validation to Claude Code
75py Sep 12, 2026
5e9c142
Modernize custom lint registry and publish lint jar with core AAR
75py Sep 12, 2026
fdc59b3
Take over T05a draft
75py Sep 12, 2026
4cd128f
Change OverlayPermission to take Context per call
75py Sep 12, 2026
65d35f4
Fix missing assertTrue import and deprecate permission dialog fragment
75py Sep 12, 2026
4a92b95
Fix Robolectric application lookup in permission test
75py Sep 12, 2026
263a793
Record T09a and T05a validation and approvals
75py Sep 12, 2026
65c7e95
Merge pull request #42 from 75py/claude/3.0.0/t09-lint-registry
75py Sep 12, 2026
40c45dc
Merge pull request #43 from 75py/claude/3.0.0/t05a-permission
75py Sep 12, 2026
bbd95d7
Record approved T09a and T05a integration
75py Sep 12, 2026
857e3c9
Merge pull request #41 from 75py/codex/3.0.0/coordination-wave10
75py Sep 12, 2026
5305145
Merge remote-tracking branch 'origin/work/3.0.0' into codex/3.0.0/val…
75py Sep 12, 2026
53c2c2a
Merge pull request #44 from 75py/codex/3.0.0/validation-batch-log
75py Sep 12, 2026
f598719
Record coordinator recovery and T05b review decisions
75py Sep 12, 2026
8ec06ce
Fix target-window coordinate conversion and consolidate permission pr…
75py Sep 12, 2026
ab2e9e9
Merge pull request #45 from 75py/codex/3.0.0/coordination-wave11
75py Sep 12, 2026
b83140c
Record T05b validation and usage-limit pause
75py Sep 12, 2026
867d85c
Fix 3 unit test failures and narrow geometry/frame KDoc claims
75py Sep 12, 2026
d41d0c3
Record resumed T05b validation and device acceptance criteria
75py Sep 12, 2026
e246370
Correct OverlayWindowFrame KDoc test-coverage and context wording
75py Sep 12, 2026
8b918e8
Merge pull request #47 from 75py/codex/3.0.0/coordination-wave12
75py Sep 12, 2026
beafd01
Merge pull request #46 from 75py/claude/3.0.0/t05b-geometry
75py Sep 12, 2026
8354c5b
Record T05b integration and delegated Claude permissions
75py Sep 12, 2026
ee4614d
Merge pull request #48 from 75py/codex/3.0.0/coordination-wave13
75py Sep 12, 2026
59d39c8
Record delegated approval and T06 admission design
75py Sep 12, 2026
21de493
Gate the drag gesture on touch slop and fix multi-touch handoff
75py Sep 12, 2026
3fcdb36
Add Android 12+ pass-through opacity admission
75py Sep 12, 2026
1f25a82
Fix DraggableOnTouchListenerTest to observe listener consumption dire…
75py Sep 12, 2026
eb8e9f1
Give the attached test fixture a concrete size so its click can post
75py Sep 12, 2026
66c4686
Record T06 validation and agree on Activity cleanup scope
75py Sep 12, 2026
b105885
Merge pull request #49 from 75py/claude/3.0.0/t06-touch-opacity
75py Sep 12, 2026
cd41b81
Merge pull request #50 from 75py/codex/3.0.0/coordination-wave14
75py Sep 12, 2026
dc35db7
Record T06 integration and lifecycle task agreements
75py Sep 12, 2026
ccac989
Add T08 Activity destruction cleanup and reference-release fix
75py Sep 12, 2026
59ef303
Fix T08 destruction test reflection target and add invocation-count a…
75py Sep 12, 2026
0b23423
Record T08 validation and review handoff
75py Sep 12, 2026
be1843c
Merge pull request #52 from 75py/codex/3.0.0/coordination-wave15
75py Sep 12, 2026
d6ccdf2
Merge pull request #51 from 75py/claude/3.0.0/t08-lifecycle
75py Sep 12, 2026
bcbdb9b
Record delegated approvals and start Timber lifecycle work
75py Sep 12, 2026
354ae17
Record pause checkpoint and pending lifecycle findings
75py Sep 12, 2026
7061910
Record stop instruction after unexpected worker resumption
75py Sep 12, 2026
cd2fca3
Record 02:30 JST T07 resume checkpoint
75py Sep 12, 2026
0f4a91f
Record confirmed worker pause and WIP checkpoint
75py Sep 12, 2026
313b515
Correct pause status after stale instructions resumed worker
75py Sep 12, 2026
69cac44
Record final pause report and second WIP checkpoint
75py Sep 12, 2026
1c6a6bb
Record worker-stop report and resume handoff
75py Sep 12, 2026
7d15b2e
Record abandoned dispatch and final WIP checkpoint
75py Sep 12, 2026
6526b6b
Record T07 authority blocker and WIP preservation
75py Sep 12, 2026
7653767
Update Astra workflow and default to direct execution
75py Sep 13, 2026
8efcb0f
Merge remote-tracking branch 'origin/work/3.0.0' into codex/3.0.0/coo…
75py Sep 13, 2026
fed9707
Record explicit resume and direct coordinator ownership
75py Sep 13, 2026
f2bc6ff
Add DebugOverlayTree lifecycle contract with transactional dispose
75py Sep 13, 2026
e59cd1d
Add DebugOverlayTree lifecycle and generation regression tests
75py Sep 13, 2026
8b464b7
Polish DebugOverlayTree KDoc and error message wording
75py Sep 13, 2026
8c43e3a
Record T07 review findings and delegated read approval
75py Sep 13, 2026
8b23092
Record release approval rejection and preserved worker state
75py Sep 13, 2026
64f8897
Merge pull request #53 from 75py/codex/3.0.0/coordination-wave16
75py Sep 13, 2026
a39813a
Capture the scheduled generation in DebugOverlayTree render callbacks
75py Sep 13, 2026
c13acee
Update coalescing test comment for generation-scoped scheduling
75py Sep 13, 2026
6616aa9
Record T07 validation and reciprocal review
75py Sep 13, 2026
6addac4
Record final T07 candidate and validation reuse
75py Sep 13, 2026
6c9e2aa
Merge pull request #54 from 75py/claude/3.0.0/t07-lifecycle
75py Sep 13, 2026
8caf269
Record T07 integration and T10 start instruction
75py Sep 13, 2026
02a6deb
Merge pull request #55 from 75py/codex/3.0.0/coordination-wave17
75py Sep 13, 2026
d90b0dc
Document the 3.0.0 API and migration path
75py Sep 13, 2026
1313040
Migrate the sample app to the 3.0 overlay API
75py Sep 13, 2026
11f7323
Record T10 ownership agreement and migration draft
75py Sep 13, 2026
b4059d1
Clarify the outside-screen migration limit
75py Sep 13, 2026
ab7ee22
Record T10 sample findings and initial compile failure
75py Sep 13, 2026
998a625
Own the Service sample overlay from an application-level controller
75py Sep 13, 2026
3627afc
Add the retry-dispose control and asset text for the Service sample
75py Sep 13, 2026
c83b31f
Record T10 compilation and dedicated device preparation
75py Sep 13, 2026
1ca27f3
Link concrete sample examples and clarify permission return
75py Sep 13, 2026
665d169
Drive the Service sample retry control from the overlay controller
75py Sep 13, 2026
433f1c5
Record T10 final candidate device failures
75py Sep 13, 2026
8030fca
Report lastFailure when a sample instrumentation test finds the overl…
75py Sep 13, 2026
c6b2928
Record T10 device diagnosis and documentation approval
75py Sep 13, 2026
43d7758
Record sample layout geometry for T10 diagnosis
75py Sep 13, 2026
a99620f
Lay out sample screens below the system and action bars
75py Sep 13, 2026
99a1893
Record passing T10 device tests and HTML rendering defect
75py Sep 13, 2026
8185320
Close the style element in the sample code assets
75py Sep 13, 2026
b74293b
Record verified T10 HTML rendering and refreshed screenshots
75py Sep 13, 2026
52caec4
Add API 36 smoke screenshots for the migrated sample
75py Sep 13, 2026
50065b6
Record T10 sample pull request and final validation
75py Sep 13, 2026
c298798
Merge pull request #57 from 75py/claude/3.0.0/t10a-sample
75py Sep 13, 2026
9708061
Merge pull request #56 from 75py/codex/codex-3.0.0-t10b-docs
75py Sep 13, 2026
48c1da0
Record T10 integration and start T04c coordination
75py Sep 13, 2026
b2445ee
Record pending Claude handoff after T10 integration
75py Sep 13, 2026
16bac48
Record Claude coordinator restart with medium effort
75py Sep 13, 2026
b37c1a5
Record restored Claude coordinator acceptance
75py Sep 13, 2026
b4dff8f
Merge pull request #58 from 75py/codex/3.0.0/coordination-wave18
75py Sep 13, 2026
75b2f26
Record T04c scope agreement and PR58 integration
75py Sep 13, 2026
be7b049
Record next-week pause and T04c checkpoint
75py Sep 13, 2026
4463893
Record final T04c pause validation details
75py Sep 13, 2026
429b968
Record scheduled T04c resume and ownership coordination
75py Sep 13, 2026
3ad4a5f
Record T04c ownership confirmation and message routing
75py Sep 13, 2026
213a7d0
Merge pull request #59 from 75py/codex/3.0.0/coordination-wave19
75py Sep 13, 2026
d88ce69
Preserve T04c checkpoint and record effort delivery blocker
75py Sep 13, 2026
9432a90
Record T04c resume blocker and preserved work
75py Sep 14, 2026
98e89ee
T04c: remove temporary 2.x bridge APIs and harden internal visibility
cognition-team Sep 20, 2026
d1d6fed
T09 stage 2: retarget lint check to the 3.0 API and harden tests
cognition-team Sep 20, 2026
5fb065b
T11: bump version to 3.0.0 (id 10) and verify publishable artifacts
cognition-team Sep 20, 2026
a7201d0
T12: extend instrumented coverage and run the full device matrix
cognition-team Sep 20, 2026
2a9f0bf
Remove Android SDK setup from CI workflow
75py Sep 20, 2026
99c918e
Remove Android SDK platform installation step
75py Sep 20, 2026
7ab1cb6
Close OverlayView's Java-visible constructor and internal hooks
75py Oct 10, 2026
96bf3fe
Document the removed 2.x bridges and the renamed lint issue
75py Oct 10, 2026
2c256a8
Merge pull request #61 from 75py/work/3.0.0-devin
75py Oct 18, 2026
208588f
Merge pull request #62 from 75py/claude/3.0.0/t04c-jvm-visibility
75py Oct 18, 2026
9776926
Merge pull request #60 from 75py/codex/3.0.0/coordination-wave20
75py Oct 18, 2026
aa619b2
Record PR61/PR62/PR60 integration and remaining release gates
75py Oct 18, 2026
b2a927e
Add a device test for cross-UID pass-through overlays
75py Oct 18, 2026
b2c484e
Document that Android dims opaque pass-through overlays
75py Oct 25, 2026
f162722
Record the API 36 cross-UID check and the JitPack decision
75py Oct 25, 2026
3d7ae4a
Accept both platform outcomes for opaque SAME_UID_ONLY overlays
75py Oct 25, 2026
8d71831
Match the Settings search field on API 31 as well
75py Oct 25, 2026
56213a7
Wait for the visible overlay input window before tapping
75py Oct 25, 2026
c9d8334
Tap a test-APK receiver instead of Settings
75py Oct 25, 2026
43b1b3b
Describe the opaque pass-through outcome by build clamp
75py Oct 25, 2026
e1ca4b1
Record PR64 cross-UID device validation
75py Oct 25, 2026
9974c48
Clarify PR64 review and integration checkpoints
75py Oct 25, 2026
5c8219b
Merge pull request #64 from 75py/claude/3.0.0/t12-cross-uid
75py Oct 31, 2026
6a75f6e
Add device tests for drag geometry and overlay permission flows
75py Oct 31, 2026
ed0a346
Reconcile release validation checkpoints
75py Oct 31, 2026
e71c216
Merge remote-tracking branch 'origin/work/3.0.0' into claude/3.0.0/le…
75py Oct 31, 2026
46cc42f
Tighten the split-screen cleanup and the on-screen boundary check
75py Oct 31, 2026
e934535
Log injected and received touch events in the drag tests
75py Oct 31, 2026
f9deb0c
Extend the drag device tests to gravity, clamping and freeform windows
75py Oct 31, 2026
39d4fb0
Fix RTL first show and allowOutsideBounds drags
75py Oct 31, 2026
46c0a1e
Respect supportsRtl and declared directions when resolving gravity
75py Oct 31, 2026
d3f691d
Pick the drag direction from the area the window can use
75py Oct 31, 2026
ebf614f
Merge work/3.0.0 into the drag geometry branch
75py Oct 31, 2026
4fface2
Tie the gravity correction to the overlay's attachment
75py Oct 31, 2026
1bfde2f
Compare the gravity correction with the last applied gravity
75py Oct 31, 2026
ca942f9
Skip freeform cases without an origin and log touches again
75py Oct 31, 2026
434c4e2
Rest the pointer after each injected move
75py Oct 31, 2026
2ac46f2
Resize the freeform task so that it has a real origin
75py Oct 31, 2026
c6bbe69
Skip freeform cases when the platform does not show the window
75py Oct 31, 2026
4b36c7d
Say that a freeform window may stay invisible
75py Oct 31, 2026
ca3f7e0
Record the finished device validation in the docs
75py Oct 31, 2026
497a5e2
Merge pull request #65 from 75py/claude/3.0.0/t12-drag-geometry
75py Oct 31, 2026
50e4576
Record final 3.0.0 validation and PR65 integration
75py Oct 31, 2026
a47d95c
Merge remote-tracking branch 'origin/work/3.0.0' into claude/3.0.0/le…
75py Oct 31, 2026
395f2ff
Merge pull request #63 from 75py/claude/3.0.0/ledger-pr61
75py Oct 31, 2026
0e045d0
Record the 3.0.0 release PR checkpoint
75py Oct 31, 2026
8a25cf5
Merge pull request #67 from 75py/fix/3.0.0/release-checkpoint
75py Oct 31, 2026
320f671
Remove the optional Timber integration
75py Nov 1, 2026
a908cb4
Declare TAG in sample code and use the single JitPack coordinate
75py Nov 1, 2026
4c55696
Record the Timber removal validation
75py Nov 1, 2026
8654a0d
Record the Timber removal validation commands
75py Nov 1, 2026
7f46440
Note the screenshot's observation limit
75py Nov 1, 2026
d773e7e
Fix the recorded validation commands
75py Nov 1, 2026
8794018
Merge pull request #68 from 75py/claude/3.0.0/remove-timber
75py Nov 1, 2026
7ddda53
Record the Timber removal integration
75py Nov 1, 2026
a79dcb8
Merge pull request #69 from 75py/fix/3.0.0/timber-checkpoint
75py Nov 1, 2026
e8f39de
Check release publication in CI and clarify migration
75py Nov 1, 2026
b036288
Add regression tests for lifecycle and drag findings
75py Nov 1, 2026
381e827
Fix removal re-entry and separate drag feedback from the spec
75py Nov 1, 2026
e344aa5
Assert window alpha and refine the reconciliation docs
75py Nov 1, 2026
87c753d
Merge pull request #70 from 75py/fix/3.0.0/review-release-support
75py Nov 1, 2026
4b9b2a7
Merge pull request #71 from 75py/fix/3.0.0/core-lifecycle-review
75py Nov 1, 2026
63cf89b
Record the release review fixes and validation
75py Nov 1, 2026
1de0028
Distinguish the historical Timber validation count
75py Nov 1, 2026
c1eafeb
Merge pull request #72 from 75py/fix/3.0.0/review-checkpoint
75py Nov 1, 2026
409b7ab
Document the 3.x compatibility decisions
75py Nov 1, 2026
8f68ae7
Record API 23, 26, and 35 revalidation
75py Nov 1, 2026
536e4db
Merge pull request #73 from 75py/fix/3.0.0/compatibility-device-valid…
75py Nov 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: ci

on:
push:
branches:
- work/3.0.0
- 'release/**'
- main
pull_request:
branches:
- work/3.0.0
- 'release/**'
- main

permissions:
contents: read

concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-test-lint:
name: Build, test, and lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
cache: gradle

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Assemble debug builds
run: ./gradlew :core:assembleDebug :sample:assembleDebug

- name: Assemble and publish release artifact
run: ./gradlew :core:assembleRelease :core:publishToMavenLocal

- name: Run unit tests
run: ./gradlew :core:testDebugUnitTest :lint:test :sample:testDebugUnitTest

- name: Run Android lint
run: ./gradlew :core:lintDebug :sample:lintDebug

- name: Upload test reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: test-reports
path: |
**/build/reports/tests/
**/build/test-results/
retention-days: 7

- name: Upload lint reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: lint-reports
path: |
**/build/reports/lint-results*.html
**/build/reports/lint-results*.xml
retention-days: 7
2 changes: 2 additions & 0 deletions .serena/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/cache
/project.local.yml
169 changes: 169 additions & 0 deletions .serena/project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
# the name by which the project can be referenced within Serena/when chatting with the LLM.
project_name: "Android-OverlayViewManager"

# list of language servers to start when using the LSP backend; choose from:
# ada al angular ansible bash
# bsl clojure cpp cpp_ccls crystal
# csharp csharp_omnisharp cue dart deno
# elixir elm erlang fortran fsharp
# gdscript gleam go groovy haskell
# haxe hlsl html java json
# julia kotlin latex lean4 lua
# luau markdown matlab msl nextflow
# nix ocaml pascal perl php
# php_phpactor php_phpantom powershell python python_basedpyright
# python_jedi python_pyrefly python_ty qml r
# rego ruby ruby_solargraph rust scala
# scss solidity svelte swift systemverilog
# terraform toml typescript typescript_vts vue
# wolfram yaml zig
# (This list may be outdated; generated with scripts/print_language_list.py;
# For the current list, see values of the LanguageServerId enum here:
# https://github.com/oraios/serena/blob/main/src/solidlsp/ls_config.py)
# For some languages, there are several alternative language servers, e.g. csharp_omnisharp, ruby_solargraph.)
# Note:
# - For C, use cpp
# - For JavaScript, use typescript
# - For Angular projects, use angular (subsumes typescript+html; requires `npm install` in the project root)
# - For Svelte projects, use svelte (subsumes typescript/javascript for .svelte projects; requires npm)
# - For Deno projects, use deno (serves the same .ts/.js files as typescript; requires the deno CLI on PATH)
# - For SCSS / Sass / plain CSS, use scss (some-sass-language-server handles all three)
# - For Free Pascal/Lazarus, use pascal
# Special requirements:
# Some language servers require additional setup/installations.
# See here for details: https://oraios.github.io/serena/01-about/020_programming-languages.html#language-servers
# When using multiple language servers, the first language server that supports a given file will be used for that file.
# The first language server is the default language and the respective language server will be used as a fallback.
# Note that when using the JetBrains backend, language servers are not used and this list is correspondingly ignored.
language_servers:
- java

# the encoding used by text files in the project
# For a list of possible encodings, see https://docs.python.org/3.11/library/codecs.html#standard-encodings
encoding: "utf-8"

# optional shell command to run before the language backend (LSP or JetBrains) is initialised.
# the command runs in the project root directory and is only executed if the project is trusted
# (see trusted_project_path_patterns in the global configuration).
# serena waits for the command to exit: a non-zero exit code is logged as an error but does not
# abort activation. a per-project timeout (activation_command_timeout, default 180s) is the safety
# backstop for non-terminating commands; on expiry the process is killed and activation continues.
# example: activation_command: "npx nx run-many -t build"
activation_command:

# maximum time in seconds to wait for activation_command to complete before killing it (default 180s).
# must be a positive number.
activation_command_timeout: 180.0

# line ending convention to use when writing source files.
# Possible values: unset (use global setting), "lf", "crlf", or "native" (platform default)
# This does not affect Serena's own files (e.g. memories and configuration files), which always use native line endings.
line_ending:

# The language backend to use for this project.
# If not set, the global setting from serena_config.yml is used.
# Valid values: LSP, JetBrains
# Note: the backend is fixed at startup. If a project with a different backend
# is activated post-init, an error will be returned.
language_backend:

# whether to use project's .gitignore files to ignore files
ignore_all_files_in_gitignore: true

# advanced configuration option allowing to configure language server-specific options.
# Maps the language key to the options.
# The settings are considered only if the project is trusted (see global configuration to define trusted projects).
# See https://oraios.github.io/serena/02-usage/050_configuration.html#language-server-specific-settings
ls_specific_settings: {}

# list of workspace folder paths (LSP backend only).
# These folders will be used to build up Serena's symbol index.
# Paths must be within the project root and should thus be relative to the project root.
# Furthermore, the paths should not be filtered by ignore settings.
# Default setting: The entire project root folder (".") is considered.
# In (large) monorepos, this can be used to index only subfolders of the project root, e.g.
# ls_workspace_folders:
# - "./subproject1"
# - "./subproject2"
ls_workspace_folders:
- "."

# list of additional workspace folder paths for cross-package reference support.
# Paths can be absolute or relative to the project root.
# Each folder is registered as an LSP workspace folder, enabling language servers to discover
# symbols and references across package boundaries, but these folders are not indexed by Serena,
# i.e. the respective symbols will not be found using Serena's symbol search tools.
# Example:
# additional_workspace_folders:
# - ../sibling-package
# - ../shared-lib
ls_additional_workspace_folders: []

# list of additional paths to ignore in this project.
# Same syntax as gitignore, so you can use * and **.
# Important: quote patterns that start with `*`, otherwise YAML treats them as aliases.
# Example:
# ignored_paths:
# - "examples/**"
# - ".worktrees/**"
# - "**/bin/**"
# - "**/obj/**"
# Note: global ignored_paths from serena_config.yml are also applied additively.
ignored_paths: []

# whether the project is in read-only mode
# If set to true, all editing tools will be disabled and attempts to use them will result in an error
# Added on 2025-04-18
read_only: false

# list of tool names to exclude.
# This extends the existing exclusions (e.g. from the global configuration)
# Find the list of tools here: https://oraios.github.io/serena/01-about/035_tools.html
excluded_tools: []

# list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default).
# This extends the existing inclusions (e.g. from the global configuration).
# Find the list of tools here: https://oraios.github.io/serena/01-about/035_tools.html
included_optional_tools: []

# fixed set of tools to use as the base tool set (if non-empty), replacing Serena's default set of tools.
# This cannot be combined with non-empty excluded_tools or included_optional_tools.
# Find the list of tools here: https://oraios.github.io/serena/01-about/035_tools.html
fixed_tools: []

# list of mode names that are to be activated by default, overriding the setting in the global configuration.
# The full set of modes to be activated is base_modes (from global config) + default_modes + added_modes.
# If the setting is undefined/empty, the default_modes from the global configuration (serena_config.yml) apply.
# Otherwise, this overrides the setting from the global configuration (serena_config.yml).
# Therefore, you can set this to [] if you do not want the default modes defined in the global config to apply
# for this project.
# This setting can, in turn, be overridden by CLI parameters (--mode).
# See https://oraios.github.io/serena/02-usage/050_configuration.html#modes
default_modes:

# list of mode names to be activated additionally for this project, e.g. ["query-projects"]
# The full set of modes to be activated is base_modes (from global config) + default_modes + added_modes.
# See https://oraios.github.io/serena/02-usage/050_configuration.html#modes
added_modes:

# initial prompt for the project. It will always be given to the LLM upon activating the project
# (contrary to the memories, which are loaded on demand).
initial_prompt: ""

# time budget (seconds) per tool call for the retrieval of additional symbol information
# such as docstrings or parameter information.
# This overrides the corresponding setting in the global configuration; see the documentation there.
# If null or missing, use the setting from the global configuration.
symbol_info_budget:

# list of regex patterns which, when matched, mark a memory entry as read‑only.
# Extends the list from the global configuration, merging the two lists.
read_only_memory_patterns: []

# list of regex patterns for memories to completely ignore.
# Matching memories will not appear in list_memories or activate_project output
# and cannot be accessed via read_memory or write_memory.
# To access ignored memory files, use the read_file tool on the raw file path.
# Extends the list from the global configuration, merging the two lists.
# Example: ["_archive/.*", "_episodes/.*"]
ignored_memory_patterns: []
Loading
Loading