package com.fireworksdk.bridge.models import com.fireworksdk.bridge.models.enums.FWBadgeTextType import org.json.JSONObject object FWAdBadgeConfigModelDeserializer { private const val BADGE_TEXT_TYPE_KEY = "badgeTextType" private const val BACKGROUND_COLOR_KEY = "backgroundColor" private const val TEXT_COLOR_KEY = "textColor" private const val FONT_INFO_KEY = "androidFontInfo" fun deserialize(responseJson: JSONObject?): FWAdBadgeConfigModel? { responseJson ?: return null val badgeTextType = if (responseJson.has(BADGE_TEXT_TYPE_KEY)) responseJson.optString(BADGE_TEXT_TYPE_KEY) else null val backgroundColor = if (responseJson.has(BACKGROUND_COLOR_KEY)) responseJson.optString(BACKGROUND_COLOR_KEY) else null val textColor = if (responseJson.has(TEXT_COLOR_KEY)) responseJson.optString(TEXT_COLOR_KEY) else null val fontInfo = FWFontInfoModelDeserializer.deserialize(responseJson.optJSONObject(FONT_INFO_KEY)) return FWAdBadgeConfigModel( badgeTextType = if (!badgeTextType.isNullOrBlank()) FWBadgeTextType.deserialize(badgeTextType) else null, backgroundColor = backgroundColor, textColor = textColor, fontInfo = fontInfo, ) } }