Skip to content

Commit 8be3ca2

Browse files
fix: deprecate default parameters (#142)
1 parent 66632e0 commit 8be3ca2

File tree

2 files changed

+48
-1
lines changed

2 files changed

+48
-1
lines changed

unleashandroidsdk/src/main/java/io/getunleash/android/DefaultUnleash.kt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,21 @@ class DefaultUnleash(
227227
}
228228
}
229229

230+
override fun isEnabled(toggleName: String): Boolean {
231+
val toggle = cache.get(toggleName)
232+
val enabled = toggle?.enabled ?: false
233+
val impressionData = unleashConfig.forceImpressionData || toggle?.impressionData ?: false
234+
if (impressionData) {
235+
emit(ImpressionEvent(toggleName, enabled, unleashContextState.value))
236+
}
237+
metrics.count(toggleName, enabled)
238+
return enabled
239+
}
240+
241+
@Deprecated(
242+
"Use isEnabled(toggleName: String) instead. See https://github.com/Unleash/unleash-android-sdk/issues/141",
243+
replaceWith = ReplaceWith("isEnabled(toggleName)")
244+
)
230245
override fun isEnabled(toggleName: String, defaultValue: Boolean): Boolean {
231246
val toggle = cache.get(toggleName)
232247
val enabled = toggle?.enabled ?: defaultValue
@@ -238,6 +253,22 @@ class DefaultUnleash(
238253
return enabled
239254
}
240255

256+
override fun getVariant(toggleName: String): Variant {
257+
val toggle = cache.get(toggleName)
258+
val enabled = isEnabled(toggleName)
259+
val variant = if (enabled) (toggle?.variant ?: disabledVariant) else disabledVariant
260+
val impressionData = toggle?.impressionData ?: unleashConfig.forceImpressionData
261+
if (impressionData) {
262+
emit(ImpressionEvent(toggleName, enabled, unleashContextState.value, variant.name))
263+
}
264+
metrics.countVariant(toggleName, variant)
265+
return variant
266+
}
267+
268+
@Deprecated(
269+
"Use getVariant(toggleName: String) instead. See https://github.com/Unleash/unleash-android-sdk/issues/141",
270+
replaceWith = ReplaceWith("getVariant(toggleName)")
271+
)
241272
override fun getVariant(toggleName: String, defaultValue: Variant): Variant {
242273
val toggle = cache.get(toggleName)
243274
val enabled = isEnabled(toggleName)

unleashandroidsdk/src/main/java/io/getunleash/android/Unleash.kt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,30 @@ val disabledVariant = Variant("disabled")
1212
interface Unleash: Closeable {
1313
/**
1414
* Check if a toggle is enabled or disabled
15+
* @deprecated use [isEnabled(toggleName: String)] instead. Using default values can lead to unexpected behavior.
16+
* @see https://github.com/Unleash/unleash-android-sdk/issues/141
1517
*/
16-
fun isEnabled(toggleName: String, defaultValue: Boolean = false): Boolean
18+
@Deprecated("Use isEnabled(toggleName: String) instead. See https://github.com/Unleash/unleash-android-sdk/issues/141", ReplaceWith("isEnabled(toggleName)"))
19+
fun isEnabled(toggleName: String, defaultValue: Boolean): Boolean
20+
21+
/**
22+
* Check if a toggle is enabled or disabled
23+
*/
24+
fun isEnabled(toggleName: String): Boolean
1725

1826
/**
1927
* Get the variant for a toggle
28+
* @deprecated use [getVariant(toggleName: String)] instead. Using default values can lead to unexpected behavior.
29+
* @see https://github.com/Unleash/unleash-android-sdk/issues/141
2030
*/
31+
@Deprecated("Use getVariant(toggleName: String) instead. See https://github.com/Unleash/unleash-android-sdk/issues/141", ReplaceWith("getVariant(toggleName)"))
2132
fun getVariant(toggleName: String, defaultValue: Variant = disabledVariant): Variant
2233

34+
/**
35+
* Get the variant for a toggle
36+
*/
37+
fun getVariant(toggleName: String): Variant
38+
2339
/**
2440
* Set context and trigger a fetch of the latest toggles immediately and block until the fetch is complete or failed.
2541
*/

0 commit comments

Comments
 (0)