From 10887db1e402fbcd1b54fafa3148d4f54f95a42b Mon Sep 17 00:00:00 2001 From: kirich1409 Date: Wed, 29 Apr 2026 18:06:45 +0300 Subject: [PATCH] Use JavaPreferencesConfigValueProvider as default JVM local provider (#167) Co-Authored-By: Claude Sonnet 4.6 --- featured-platform/build.gradle.kts | 4 ++++ .../featured/platform/DefaultLocalProvider.kt | 2 +- .../featured/platform/DefaultLocalProvider.kt | 13 +++---------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/featured-platform/build.gradle.kts b/featured-platform/build.gradle.kts index af9c112..441db05 100644 --- a/featured-platform/build.gradle.kts +++ b/featured-platform/build.gradle.kts @@ -59,6 +59,10 @@ kotlin { iosMain.dependencies { implementation(project(":providers:nsuserdefaults")) } + + jvmMain.dependencies { + implementation(project(":providers:javaprefs")) + } } } diff --git a/featured-platform/src/commonMain/kotlin/dev/androidbroadcast/featured/platform/DefaultLocalProvider.kt b/featured-platform/src/commonMain/kotlin/dev/androidbroadcast/featured/platform/DefaultLocalProvider.kt index b695f48..6143afa 100644 --- a/featured-platform/src/commonMain/kotlin/dev/androidbroadcast/featured/platform/DefaultLocalProvider.kt +++ b/featured-platform/src/commonMain/kotlin/dev/androidbroadcast/featured/platform/DefaultLocalProvider.kt @@ -8,7 +8,7 @@ import dev.androidbroadcast.featured.LocalConfigValueProvider * | Platform | Implementation | * |----------|----------------| * | iOS | [dev.androidbroadcast.featured.nsuserdefaults.NSUserDefaultsConfigValueProvider] | - * | JVM | [dev.androidbroadcast.featured.InMemoryConfigValueProvider] (persistent provider pending #66) | + * | JVM | [dev.androidbroadcast.featured.javaprefs.JavaPreferencesConfigValueProvider] | * | Android | [dev.androidbroadcast.featured.InMemoryConfigValueProvider] (non-persistent, deprecated) | * * **Android note:** On Android this overload is deprecated and returns a non-persistent diff --git a/featured-platform/src/jvmMain/kotlin/dev/androidbroadcast/featured/platform/DefaultLocalProvider.kt b/featured-platform/src/jvmMain/kotlin/dev/androidbroadcast/featured/platform/DefaultLocalProvider.kt index b3e0377..cea743c 100644 --- a/featured-platform/src/jvmMain/kotlin/dev/androidbroadcast/featured/platform/DefaultLocalProvider.kt +++ b/featured-platform/src/jvmMain/kotlin/dev/androidbroadcast/featured/platform/DefaultLocalProvider.kt @@ -1,16 +1,9 @@ package dev.androidbroadcast.featured.platform -import dev.androidbroadcast.featured.InMemoryConfigValueProvider import dev.androidbroadcast.featured.LocalConfigValueProvider - -// TODO(#66): Replace with JavaPreferencesConfigValueProvider once available. +import dev.androidbroadcast.featured.javaprefs.JavaPreferencesConfigValueProvider /** - * Returns an [InMemoryConfigValueProvider] on JVM. - * - * A persistent JVM provider (Java Preferences-backed) is tracked in issue #66. - * Until that module ships, this returns an in-memory provider so integrators can - * adopt the `defaultLocalProvider()` call site today and benefit from persistence - * automatically once #66 lands. + * Returns a [JavaPreferencesConfigValueProvider] on JVM (persists via `java.util.prefs.Preferences`). */ -public actual fun defaultLocalProvider(): LocalConfigValueProvider = InMemoryConfigValueProvider() +public actual fun defaultLocalProvider(): LocalConfigValueProvider = JavaPreferencesConfigValueProvider()