Skip to content

Phase 0 cleanup, Flutter 3.44.2, CI and tests#2

Merged
gmiszewski-intent merged 3 commits into
mainfrom
gmiszewski/improvement-phase-0
Jun 22, 2026
Merged

Phase 0 cleanup, Flutter 3.44.2, CI and tests#2
gmiszewski-intent merged 3 commits into
mainfrom
gmiszewski/improvement-phase-0

Conversation

@gmiszewski-intent

Copy link
Copy Markdown
Collaborator

Cleanup, toolchain, CI and tests. No public API changes.

Cleanup

  • Fix pubspec homepage/repository/issue_tracker URLs.
  • Remove the duplicate Groovy android/settings.gradle (keep .kts).
  • Remove the stale scaffold Kotlin test that always failed.

Toolchain

  • Pin Flutter 3.44.2 via .fvmrc; format the package; gitignore .fvm/.

CI (.github/workflows/ci.yml)

  • Format, analyze, test, build the example APK, and a pana score gate.
  • Flutter version sourced from .fvmrc.

Tests

  • Method-channel serialisation, error mapping, and guard coverage.
  • Platform-interface conformance and facade delegation.
  • CdmRequest.toMap coverage.

🤖 Generated with Claude Code

gmiszewski-intent and others added 3 commits June 22, 2026 10:09
Unblock-and-clean pass:

- Fix pubspec homepage/repository/issue_tracker to the real repo
  (dotintent/flutter-android-cdm).
- Delete the duplicate Groovy android/settings.gradle (keep the .kts).
- Delete the stale scaffold FlutterAndroidCdmPluginTest.kt (asserted a
  getPlatformVersion that doesn't exist; always failed).
- Pin Flutter 3.44.2 via .fvmrc and format the package with the 3.12
  formatter; gitignore .fvm/.
- Add .github/workflows/ci.yml: format, analyze, test, example APK build,
  and a pana score gate. Flutter version is sourced from .fvmrc via
  kuhnroyal/flutter-fvm-config-action; action pins verified latest on
  GitHub (checkout@v7, setup-java@v5, flutter-action@v2, fvm-config@v3).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Lock current behaviour before the API grows:

- Method channel: associate serialises every CdmRequest field; UUID
  validation throws badArgs before the channel; null/no-address results
  map to noDevice; every PlatformException wire code maps to its
  CdmErrorCode; disassociate arg shape + no-id/no-address guard;
  getAssociations parsing, null->empty, non-map skipping, address guard.
- Platform interface: default instance is the method-channel impl,
  mixin token bypass, default methods throw UnimplementedError, and the
  facade delegates associate/disassociate/getAssociations.
- CdmRequest.toMap field coverage and defaults.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The example app's main.dart is not yet formatted to the 3.12 formatter
and is outside this change's scope. Check lib/ and test/ only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gmiszewski-intent gmiszewski-intent merged commit 54d6e0c into main Jun 22, 2026
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