Skip to content

Commit b74b094

Browse files
committed
fix detekt violations
1 parent 53ead95 commit b74b094

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,16 @@ internal object FlagValueConverter {
5656
Int::class -> variationValue.toIntOrNull() as? T
5757
Double::class -> variationValue.toDoubleOrNull() as? T
5858
Map::class -> variationValue.toMap() as? T
59-
JSONObject::class -> JSONObject(variationValue) as? T
59+
JSONObject::class -> {
60+
@Suppress("UnsafeThirdPartyFunctionCall") // Safe: wrapped in runCatching
61+
val json = JSONObject(variationValue)
62+
@Suppress("UNCHECKED_CAST")
63+
json as? T
64+
}
6065
else -> {
6166
// Check if targetType is a Map implementation
67+
// Safe: isAssignableFrom is a standard Java reflection call
68+
@Suppress("UnsafeThirdPartyFunctionCall")
6269
if (Map::class.java.isAssignableFrom(targetType.java)) {
6370
variationValue.toMap() as? T
6471
} else {
@@ -89,6 +96,8 @@ internal object FlagValueConverter {
8996
Map::class -> variationType == VariationType.OBJECT.value
9097
else -> {
9198
// Check if targetType is a Map implementation (e.g., LinkedHashMap, HashMap, etc.)
99+
// Safe: isAssignableFrom is a standard Java reflection call
100+
@Suppress("UnsafeThirdPartyFunctionCall")
92101
if (Map::class.java.isAssignableFrom(targetType.java)) {
93102
variationType == VariationType.OBJECT.value
94103
} else {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ internal fun Map<String, Any?>.toJSONObject(): JSONObject {
109109
* @return A JSONArray with all nested structures converted
110110
*/
111111
internal fun List<*>.toJSONArray(): JSONArray {
112+
// Safe: JSONArray constructor is safe
113+
@Suppress("UnsafeThirdPartyFunctionCall")
112114
val jsonArray = JSONArray()
113115

114116
forEach { value ->

0 commit comments

Comments
 (0)