diff --git a/android/src/main/java/com/jimmydaddy/imagemarker/base/ErrorCode.kt b/android/src/main/java/com/jimmydaddy/imagemarker/base/ErrorCode.kt index f81cdb9d..2aae1083 100644 --- a/android/src/main/java/com/jimmydaddy/imagemarker/base/ErrorCode.kt +++ b/android/src/main/java/com/jimmydaddy/imagemarker/base/ErrorCode.kt @@ -4,5 +4,6 @@ enum class ErrorCode(val value: String) { INVALID_PARAMS("INVALID_PARAMS"), LOAD_IMAGE_FAILED("LOAD_IMAGE_FAILED"), GET_RESOURCE_FAILED("GET_RESOURCE_FAILED"), - PARAMS_REQUIRED("PARAMS_REQUIRED"); + PARAMS_REQUIRED("PARAMS_REQUIRED"), + NULL_MAP("NULL_MAP"); } diff --git a/android/src/main/java/com/jimmydaddy/imagemarker/base/MarkTextOptions.kt b/android/src/main/java/com/jimmydaddy/imagemarker/base/MarkTextOptions.kt index 31b3043b..6093d27a 100644 --- a/android/src/main/java/com/jimmydaddy/imagemarker/base/MarkTextOptions.kt +++ b/android/src/main/java/com/jimmydaddy/imagemarker/base/MarkTextOptions.kt @@ -12,7 +12,11 @@ class MarkTextOptions(options: ReadableMap) : Options(options) { watermarkTexts = arrayOfNulls(waterMarkTextsMap.size()) for (i in 0 until waterMarkTextsMap.size()) { val textMap = waterMarkTextsMap.getMap(i) - watermarkTexts[i] = TextOptions(textMap) + textMap?.let { + watermarkTexts[i] = TextOptions(it) + } ?: run { + throw MarkerError(ErrorCode.NULL_MAP, "watermarkTexts[$i] is null") + } } } } diff --git a/android/src/main/java/com/jimmydaddy/imagemarker/base/Utils.kt b/android/src/main/java/com/jimmydaddy/imagemarker/base/Utils.kt index 9c81ce66..384e4509 100644 --- a/android/src/main/java/com/jimmydaddy/imagemarker/base/Utils.kt +++ b/android/src/main/java/com/jimmydaddy/imagemarker/base/Utils.kt @@ -163,8 +163,8 @@ class Utils { return if (d == null) "0" else when (d.type) { - ReadableType.String -> d.asString() - ReadableType.Number -> d.asDouble().toString() + ReadableType.String -> d.asString()!! + ReadableType.Number -> d.asDouble().toString()!! else -> { "0" }