Skip to content

Commit 14ae399

Browse files
committed
FFL-1460 Don't return a nullable Map from getFlagAssignmentsSnapshot
1 parent 859c55a commit 14ae399

File tree

5 files changed

+8
-8
lines changed

5 files changed

+8
-8
lines changed

features/dd-sdk-android-flags/api/apiSurface

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ interface com.datadog.android.flags.StateObservable
3131
fun removeListener(FlagsStateListener)
3232
class com.datadog.android.flags._FlagsInternalProxy
3333
constructor(FlagsClient)
34-
fun getFlagAssignmentsSnapshot(): Map<String, com.datadog.android.flags.model.UnparsedFlag>?
34+
fun getFlagAssignmentsSnapshot(): Map<String, com.datadog.android.flags.model.UnparsedFlag>
3535
fun trackFlagSnapshotEvaluation(String, com.datadog.android.flags.model.UnparsedFlag, com.datadog.android.flags.model.EvaluationContext)
3636
enum com.datadog.android.flags.model.ErrorCode
3737
- PROVIDER_NOT_READY

features/dd-sdk-android-flags/src/main/kotlin/com/datadog/android/flags/_FlagsInternalProxy.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ import com.datadog.android.lint.InternalApi
2424
@InternalApi
2525
@Suppress("ClassName", "UndocumentedPublicFunction")
2626
class _FlagsInternalProxy(private val client: FlagsClient) {
27-
fun getFlagAssignmentsSnapshot(): Map<String, UnparsedFlag>? = if (client is DatadogFlagsClient) {
27+
fun getFlagAssignmentsSnapshot(): Map<String, UnparsedFlag> = if (client is DatadogFlagsClient) {
2828
client.getFlagAssignmentsSnapshot()
2929
} else {
30-
null
30+
emptyMap()
3131
}
3232

3333
fun trackFlagSnapshotEvaluation(flagKey: String, flag: UnparsedFlag, context: EvaluationContext) {

features/dd-sdk-android-flags/src/main/kotlin/com/datadog/android/flags/internal/DatadogFlagsClient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -432,9 +432,9 @@ internal class DatadogFlagsClient(
432432
*
433433
* Supposed to be used by internal Datadog packages to get flags state snapshot for a given evaluation context.
434434
*
435-
* @return A map of flag key to precomputed flag, or null if no flags are available.
435+
* @return A map of flag key to an unparsed flag, or an empty map if no flags are available or the client is not ready.
436436
*/
437-
internal fun getFlagAssignmentsSnapshot(): Map<String, UnparsedFlag>? = flagsRepository.getFlagsSnapshot()
437+
internal fun getFlagAssignmentsSnapshot(): Map<String, UnparsedFlag> = flagsRepository.getFlagsSnapshot()
438438

439439
/**
440440
* Tracks the evaluation of a flag from an exact flags state snapshot.

features/dd-sdk-android-flags/src/main/kotlin/com/datadog/android/flags/internal/repository/DefaultFlagsRepository.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ internal class DefaultFlagsRepository(
8282
return null
8383
}
8484

85-
override fun getFlagsSnapshot(): Map<String, PrecomputedFlag>? {
85+
override fun getFlagsSnapshot(): Map<String, PrecomputedFlag> {
8686
waitForPersistenceLoad()
8787
val state = atomicState.get()
8888
if (state != null) {
@@ -93,7 +93,7 @@ internal class DefaultFlagsRepository(
9393
InternalLogger.Target.USER,
9494
{ WARN_CONTEXT_NOT_SET }
9595
)
96-
return null
96+
return emptyMap()
9797
}
9898

9999
override fun getEvaluationContext(): EvaluationContext? {

features/dd-sdk-android-flags/src/main/kotlin/com/datadog/android/flags/internal/repository/FlagsRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ internal interface FlagsRepository {
1717
fun setFlagsAndContext(context: EvaluationContext, flags: Map<String, PrecomputedFlag>)
1818
fun getPrecomputedFlagWithContext(key: String): Pair<PrecomputedFlag, EvaluationContext>?
1919
fun hasFlags(): Boolean
20-
fun getFlagsSnapshot(): Map<String, PrecomputedFlag>?
20+
fun getFlagsSnapshot(): Map<String, PrecomputedFlag>
2121
}

0 commit comments

Comments
 (0)