Skip to content

chore: re-publicize FDv2 data system entry points and lock entry bases#361

Merged
tanderson-ld merged 1 commit into
sdk-2429-android-fdv2-eapfrom
sdk-2438-republicize-fdv2-entry-points
Jun 4, 2026
Merged

chore: re-publicize FDv2 data system entry points and lock entry bases#361
tanderson-ld merged 1 commit into
sdk-2429-android-fdv2-eapfrom
sdk-2438-republicize-fdv2-entry-points

Conversation

@tanderson-ld
Copy link
Copy Markdown
Contributor

@tanderson-ld tanderson-ld commented Jun 3, 2026

  • Make Components.dataSystem() and LDConfig.Builder.dataSystem() public again so customer code can opt in to FDv2 for the EAP. PR chore: adjusts data system visibility and constrains custom mode configuration #351 had hidden these while the surface was being finalized.
  • Add package-private no-arg constructors to InitializerEntry and SynchronizerEntry so external code cannot subclass them; the SDK's concrete entry types in the same package continue to compile.
  • Remove InternalDataSystemAccess (a pure pass-through wrapper) and switch contract-tests SdkClientEntity to call the now-public Components.dataSystem() / LDConfig.Builder.dataSystem() directly.

SDK-2438


Note

Medium Risk
Expands the public API for an unstable EAP data path (FDv2 vs legacy dataSource), but runtime wiring is unchanged aside from visibility and contract-test call sites.

Overview
Re-opens the early-access FDv2 data system configuration surface for customer opt-in by making Components.dataSystem() and LDConfig.Builder.dataSystem() public again (reversing the package-private hiding from PR #351).

InternalDataSystemAccess is removed as a pass-through; contract-tests now call the public Components.dataSystem() / builder.dataSystem(...) APIs directly.

InitializerEntry and SynchronizerEntry gain package-private no-arg constructors so code outside the SDK cannot subclass those abstract bases; in-package concrete entry types (e.g. polling/streaming entries) are unchanged.

Reviewed by Cursor Bugbot for commit 24eb4c0. Bugbot is set up for automated code reviews on this repo. Configure here.

- Make Components.dataSystem() and LDConfig.Builder.dataSystem() public
  again so customer code can opt in to FDv2 for the EAP. PR #351 had
  hidden these while the surface was being finalized.
- Add package-private no-arg constructors to InitializerEntry and
  SynchronizerEntry so external code cannot subclass them; the SDK's
  concrete entry types in the same package continue to compile.
- Remove InternalDataSystemAccess (a pure pass-through wrapper) and
  switch contract-tests SdkClientEntity to call the now-public
  Components.dataSystem() / LDConfig.Builder.dataSystem() directly.

SDK-2438
@tanderson-ld tanderson-ld requested a review from a team as a code owner June 3, 2026 17:41
@tanderson-ld tanderson-ld merged commit 1bff689 into sdk-2429-android-fdv2-eap Jun 4, 2026
8 checks passed
@tanderson-ld tanderson-ld deleted the sdk-2438-republicize-fdv2-entry-points branch June 4, 2026 13:45
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