From 2b9a9013c60a42f053d51fe33222d1801bb118c6 Mon Sep 17 00:00:00 2001 From: Chris Boyle Date: Sun, 15 Oct 2023 14:59:03 +0100 Subject: [PATCH] Stop Proguard throwing away all the backends Specifically all the subclasses and BackendName.byDisplayName(String) Slightly surprised that all the comparisons against those subclass objects didn't cause it to rethink that plan. --- .../kotlin/name/boyle/chris/sgtpuzzles/backend/BackendName.kt | 1 + buildSrc/src/main/kotlin/GenerateBackendsTask.kt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/name/boyle/chris/sgtpuzzles/backend/BackendName.kt b/app/src/main/kotlin/name/boyle/chris/sgtpuzzles/backend/BackendName.kt index 1f0d0e5d0..37c50f35b 100644 --- a/app/src/main/kotlin/name/boyle/chris/sgtpuzzles/backend/BackendName.kt +++ b/app/src/main/kotlin/name/boyle/chris/sgtpuzzles/backend/BackendName.kt @@ -121,6 +121,7 @@ sealed class BackendName( all.associateBy { it.displayName } } + @UsedByJNI @JvmStatic fun byDisplayName(name: String?) = BY_DISPLAY_NAME[name] diff --git a/buildSrc/src/main/kotlin/GenerateBackendsTask.kt b/buildSrc/src/main/kotlin/GenerateBackendsTask.kt index b46d76812..682cbc807 100644 --- a/buildSrc/src/main/kotlin/GenerateBackendsTask.kt +++ b/buildSrc/src/main/kotlin/GenerateBackendsTask.kt @@ -92,7 +92,8 @@ abstract class GenerateBackendsTask: DefaultTask() { val keyPrefix = "${puz}_sym_key_" val keyIcons = definedKeyIcons.filter { it.startsWith(keyPrefix) } .map { "\"${it.removePrefix(keyPrefix)}\" to R.drawable.$it" } - return """object $objName : BackendName( + return """@UsedByJNI + |object $objName : BackendName( | "$puz", "$display", "$title", | R.drawable.$puz, | R.string.desc_$puz, $toast, $toastNoArrows,