Coverage Summary for Class: GeoSerializationManagerImpl (cloud.mindbox.mobile_sdk.inapp.data.managers)
| Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| GeoSerializationManagerImpl |
100%
(3/3)
|
|
100%
(3/3)
|
100%
(30/30)
|
| GeoSerializationManagerImpl$deserializeToGeoTargeting$1 |
100%
(1/1)
|
100%
(2/2)
|
100%
(3/3)
|
100%
(25/25)
|
| GeoSerializationManagerImpl$serializeToGeoString$1 |
100%
(1/1)
|
|
100%
(1/1)
|
100%
(9/9)
|
| Total |
100%
(5/5)
|
100%
(2/2)
|
100%
(7/7)
|
100%
(64/64)
|
package cloud.mindbox.mobile_sdk.inapp.data.managers
import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.managers.GeoSerializationManager
import cloud.mindbox.mobile_sdk.inapp.domain.models.GeoTargeting
import cloud.mindbox.mobile_sdk.utils.LoggingExceptionHandler
import com.google.gson.Gson
internal class GeoSerializationManagerImpl(private val gson: Gson) : GeoSerializationManager {
override fun deserializeToGeoTargeting(inAppGeo: String): GeoTargeting {
return LoggingExceptionHandler.runCatching(GeoTargeting("", "", "")) {
if (inAppGeo.isEmpty()) {
GeoTargeting("", "", "")
} else {
gson.fromJson(inAppGeo, GeoTargeting::class.java)
}
}
}
override fun serializeToGeoString(inAppGeo: GeoTargeting): String {
return LoggingExceptionHandler.runCatching("") {
gson.toJson(inAppGeo)
}
}
}