Skip to content

CCC-2345: Cleanup SDK public API#162

Merged
pedronveloso merged 9 commits intomainfrom
pedro/reduce-exposed-public-api
Feb 3, 2026
Merged

CCC-2345: Cleanup SDK public API#162
pedronveloso merged 9 commits intomainfrom
pedro/reduce-exposed-public-api

Conversation

@pedronveloso
Copy link
Collaborator

@pedronveloso pedronveloso commented Jan 30, 2026

What

There are several portions of the SDK that are currently public, but aren't meant to be accessible by consumers of the SDK. We want to cleanup these for the following advantages:

Better Encapsulation
- Internal utilities, extensions, and constants properly hidden
- Clear distinction between public contract and private implementation

Flexibility for Future Changes
- Internal APIs can be refactored without breaking SDK consumers

Improved Developer Experience
- Less visual clutter in IDE when using the SDK
- Clearer understanding of what's meant to be used vs. what's internal

How

Took a pass over the codebase searching for instances of code that could be refactored to internal. Among these were several Moshi adapters. Moshi generated code will preserve the access level of the adapter.

CustomerResponseData remains public as well as its nested types. This is also enforced by the compiler.

Proof

Since the Dev App exercises every single public aspect of the SDK, compiling and running it successfully is a fairly good test to verify that nothing was made internal that shouldn't have.

dev-app-monkey-testing.mp4

@pedronveloso pedronveloso changed the title Cleanup SDK public API CCC-2345: Cleanup SDK public API Jan 30, 2026
Copy link
Collaborator

@drewhamilton drewhamilton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏

@drewhamilton
Copy link
Collaborator

I just merged #160, so you'll have to rebase this and run ./gradlew apiDump

@pedronveloso pedronveloso enabled auto-merge (squash) February 3, 2026 19:22
@pedronveloso pedronveloso merged commit 84ef26f into main Feb 3, 2026
3 checks passed
@pedronveloso pedronveloso deleted the pedro/reduce-exposed-public-api branch February 3, 2026 19:30
pedronveloso added a commit that referenced this pull request Feb 4, 2026
* main:
  CCC-2345: Cleanup SDK public API (#162)
  Move Gradle build files to Kotlin Syntax; Version catalog (#163)
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.

2 participants