Skip to content

Commit 3975f4c

Browse files
committed
cleaner code change
1 parent e475b2e commit 3975f4c

1 file changed

Lines changed: 26 additions & 21 deletions

File tree

src/main/kotlin/com/mparticle/kits/AppboyKit.kt

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -323,19 +323,19 @@ open class AppboyKit : KitIntegration(), AttributeListener, CommerceListener,
323323
}
324324
else -> {
325325
if (subscriptionGroupIds?.containsKey(key) == true) {
326-
if (attributeValue == "true") {
327-
value.addToSubscriptionGroup(
328-
subscriptionGroupIds?.get(key).toString()
329-
)
330-
} else if (attributeValue == "false") {
331-
value.removeFromSubscriptionGroup(
332-
subscriptionGroupIds?.get(key).toString()
333-
)
334-
} else {
335-
Logger.warning(
336-
"unable to set Subscription Group ID for user attribute: "
337-
+ key + "due to invalid value data type. expected value data type should be Boolean"
338-
)
326+
val groupId = subscriptionGroupIds?.get(key)
327+
when (attributeValue.lowercase()) {
328+
"true" -> {
329+
groupId?.let { value.addToSubscriptionGroup(it) }
330+
}
331+
"false" -> {
332+
groupId?.let { value.removeFromSubscriptionGroup(it) }
333+
}
334+
else -> {
335+
Logger.warning(
336+
"Unable to set Subscription Group ID for user attribute: $key due to invalid value data type. Expected Boolean."
337+
)
338+
}
339339
}
340340
} else {
341341
if (key.startsWith("$")) {
@@ -988,21 +988,26 @@ open class AppboyKit : KitIntegration(), AttributeListener, CommerceListener,
988988
}
989989

990990
private fun getSubscriptionGroupIds(subscriptionGroupMap: String): MutableMap<String, String> {
991-
val subscriptionGroupsArray = JSONArray(subscriptionGroupMap)
992991
val subscriptionGroupIds = mutableMapOf<String, String>()
993992

994993
if (subscriptionGroupMap.isEmpty()) {
995994
return subscriptionGroupIds
996995
}
997996

998-
for (i in 0 until subscriptionGroupsArray.length()) {
999-
val subscriptionGroup = subscriptionGroupsArray.getJSONObject(i)
1000-
val key = subscriptionGroup.getString("map")
1001-
val value = subscriptionGroup.getString("value")
1002-
subscriptionGroupIds[key] = value
1003-
}
997+
val subscriptionGroupsArray = JSONArray(subscriptionGroupMap)
1004998

1005-
return subscriptionGroupIds
999+
return try{
1000+
for (i in 0 until subscriptionGroupsArray.length()) {
1001+
val subscriptionGroup = subscriptionGroupsArray.getJSONObject(i)
1002+
val key = subscriptionGroup.getString("map")
1003+
val value = subscriptionGroup.getString("value")
1004+
subscriptionGroupIds[key] = value
1005+
}
1006+
subscriptionGroupIds
1007+
} catch (e: JSONException) {
1008+
Logger.warning("Braze, unable to parse \"subscriptionGroup\"")
1009+
mutableMapOf()
1010+
}
10061011
}
10071012

10081013
fun getImpressionListParameters(impressionList: List<Impression>): JSONArray {

0 commit comments

Comments
 (0)