summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/BooleanSupplier.java11
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/BooleanSupplier.kt16
2 files changed, 16 insertions, 11 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/BooleanSupplier.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/BooleanSupplier.java
deleted file mode 100644
index 6df6dfbac6..0000000000
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/BooleanSupplier.java
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-package org.dolphinemu.dolphinemu.utils;
-
-import androidx.annotation.Keep;
-
-public interface BooleanSupplier
-{
- @Keep
- boolean get();
-}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/BooleanSupplier.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/BooleanSupplier.kt
new file mode 100644
index 0000000000..b7dcd196e6
--- /dev/null
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/BooleanSupplier.kt
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+package org.dolphinemu.dolphinemu.utils
+
+import androidx.annotation.Keep
+
+/**
+ * java.util.function.BooleanSupplier is only provided starting with API 24, while Dolphin still supports API
+ * 21. API desugaring lets Kotlin/Java code use it on older Android versions, but JNI `FindClass("java/util/
+ * function/BooleanSupplier")` isn’t desugared, so native code can’t look up that type reliably on API 23 and
+ * below. Because of that limitation, we keep our own interface instead of relying on the platform type.
+ */
+@Keep
+fun interface BooleanSupplier {
+ fun get(): Boolean
+}