Skip to content

libpebble3: make internal implementation classes internal#233

Open
SalvatoreT wants to merge 1 commit into
coredevices:masterfrom
SalvatoreT:kmp-sdk/05-internal-impl-visibility
Open

libpebble3: make internal implementation classes internal#233
SalvatoreT wants to merge 1 commit into
coredevices:masterfrom
SalvatoreT:kmp-sdk/05-internal-impl-visibility

Conversation

@SalvatoreT
Copy link
Copy Markdown

Tighten the published ABI of the connection package by marking implementation-only classes internal, so they (and the kable Peripheral type they carry) don't appear in the public API of the standalone artifact:

  • BlePlatformIdentifier: internal ctor + internal val peripheral (hides the com.juul.kable.Peripheral type).
  • WatchManager: internal ctor.
  • LegacyBtClassicMigrator: internal class.

All three are only constructed within libpebble3 (via DI), so this is ABI-only.

Tighten the published ABI of the connection package by marking
implementation-only classes `internal`, so they (and the kable Peripheral type they
carry) don't appear in the public API of the standalone artifact:

- BlePlatformIdentifier: `internal` ctor + `internal val peripheral` (hides the
  com.juul.kable.Peripheral type).
- WatchManager: `internal` ctor.
- LegacyBtClassicMigrator: `internal` class.

All three are only constructed within libpebble3 (via DI), so this is ABI-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: 17b4842c3fd0
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