From b58bcba82d7df71fa65880841199971480ec1bdd Mon Sep 17 00:00:00 2001 From: Angga Priyatna Date: Wed, 30 Jul 2025 11:31:41 +0700 Subject: [PATCH 1/4] Update ErrorCode.kt --- .../src/main/java/com/jimmydaddy/imagemarker/base/ErrorCode.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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..3fc79dcb 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"); } From 2f8c4fb8aa62f819b6ff140e0733623e0f577177 Mon Sep 17 00:00:00 2001 From: Angga Priyatna Date: Wed, 30 Jul 2025 11:31:48 +0700 Subject: [PATCH 2/4] Update ErrorCode.kt --- .../src/main/java/com/jimmydaddy/imagemarker/base/ErrorCode.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 3fc79dcb..2aae1083 100644 --- a/android/src/main/java/com/jimmydaddy/imagemarker/base/ErrorCode.kt +++ b/android/src/main/java/com/jimmydaddy/imagemarker/base/ErrorCode.kt @@ -5,5 +5,5 @@ enum class ErrorCode(val value: String) { LOAD_IMAGE_FAILED("LOAD_IMAGE_FAILED"), GET_RESOURCE_FAILED("GET_RESOURCE_FAILED"), PARAMS_REQUIRED("PARAMS_REQUIRED"), - NULL_MAP("NULL_MAP"); + NULL_MAP("NULL_MAP"); } From b88a0e700b39c1ac250ab051d8aab20b807bcba6 Mon Sep 17 00:00:00 2001 From: Angga Priyatna Date: Wed, 30 Jul 2025 11:32:01 +0700 Subject: [PATCH 3/4] Update MarkTextOptions.kt --- .../com/jimmydaddy/imagemarker/base/MarkTextOptions.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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..19d3513f 100644 --- a/android/src/main/java/com/jimmydaddy/imagemarker/base/MarkTextOptions.kt +++ b/android/src/main/java/com/jimmydaddy/imagemarker/base/MarkTextOptions.kt @@ -10,9 +10,13 @@ class MarkTextOptions(options: ReadableMap) : Options(options) { val waterMarkTextsMap = options.getArray("watermarkTexts") if (waterMarkTextsMap!!.size() > 0) { watermarkTexts = arrayOfNulls(waterMarkTextsMap.size()) - for (i in 0 until waterMarkTextsMap.size()) { - val textMap = waterMarkTextsMap.getMap(i) - watermarkTexts[i] = TextOptions(textMap) + for (i in 0 until waterMarkTextsMap.size()) { + val textMap = waterMarkTextsMap.getMap(i) + textMap?.let { + watermarkTexts[i] = TextOptions(it) + } ?: run { + throw MarkerError(ErrorCode.NULL_MAP, "watermarkTexts[$i] is null") + } } } } From d3f63da5b8de4c5c452bc5557a9b9f734c8c7574 Mon Sep 17 00:00:00 2001 From: Angga Priyatna Date: Tue, 16 Sep 2025 16:49:44 +0700 Subject: [PATCH 4/4] Refactor handleDynamicToString for null safety --- .../com/jimmydaddy/imagemarker/base/Utils.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) 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..64ac288b 100644 --- a/android/src/main/java/com/jimmydaddy/imagemarker/base/Utils.kt +++ b/android/src/main/java/com/jimmydaddy/imagemarker/base/Utils.kt @@ -160,15 +160,15 @@ class Utils { } fun handleDynamicToString(d: Dynamic?): String { - return if (d == null) "0" - else - when (d.type) { - ReadableType.String -> d.asString() - ReadableType.Number -> d.asDouble().toString() - else -> { - "0" + return if (d == null) { + "0" + } else { + when (d.type) { + ReadableType.String -> d.asString() ?: "0" + ReadableType.Number -> d.asDouble().toString() + else -> "0" } - } + } } }