diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/BugsnagEventMapper.kt b/bugsnag-android-core/src/main/java/com/bugsnag/android/BugsnagEventMapper.kt index c8a7763932..c3af9864b5 100644 --- a/bugsnag-android-core/src/main/java/com/bugsnag/android/BugsnagEventMapper.kt +++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/BugsnagEventMapper.kt @@ -29,12 +29,14 @@ internal class BugsnagEventMapper( event.userImpl = convertUser(map.readEntry("user")) // populate metadata - val metadataMap: Map> = map.readEntry("metaData") + val metadataMap: Map> = + (map["metaData"] as? Map>).orEmpty() metadataMap.forEach { (key, value) -> event.addMetadata(key, value) } - val featureFlagsList: List> = map.readEntry("featureFlags") + val featureFlagsList: List> = + (map["featureFlags"] as? List>).orEmpty() featureFlagsList.forEach { featureFlagMap -> event.addFeatureFlag( featureFlagMap.readEntry("featureFlag"), @@ -43,7 +45,8 @@ internal class BugsnagEventMapper( } // populate breadcrumbs - val breadcrumbList: List> = map.readEntry("breadcrumbs") + val breadcrumbList: List> = + (map["breadcrumbs"] as? List>).orEmpty() breadcrumbList.mapTo(event.breadcrumbs) { Breadcrumb( convertBreadcrumbInternal(it), @@ -226,8 +229,7 @@ internal class BugsnagEventMapper( is T -> return value null -> throw IllegalStateException("cannot find json property '$key'") else -> throw IllegalArgumentException( - "json property '$key' not " + - "of expected type, found ${value.javaClass.name}" + "json property '$key' not of expected type, found ${value.javaClass.name}" ) } }