From a7d1c1cf1edab289890a3d13b4f7f04dcc475bcb Mon Sep 17 00:00:00 2001 From: Simonx22 Date: Wed, 12 Nov 2025 18:06:53 -0500 Subject: [PATCH] Android: Swap own JNI BooleanSupplier to java.util.function --- .../settings/ui/SettingsFragmentPresenter.kt | 3 ++- .../dolphinemu/dolphinemu/ui/main/MainPresenter.kt | 2 +- .../dolphinemu/dolphinemu/utils/BooleanSupplier.java | 11 ----------- .../java/org/dolphinemu/dolphinemu/utils/WiiUtils.kt | 2 ++ Source/Android/jni/AndroidCommon/IDCache.cpp | 12 ++++++------ Source/Android/jni/AndroidCommon/IDCache.h | 2 +- Source/Android/jni/WiiUtils.cpp | 2 +- 7 files changed, 13 insertions(+), 21 deletions(-) delete mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/BooleanSupplier.java diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt index 25acccb2fc..072ef00be6 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt @@ -35,6 +35,7 @@ import org.dolphinemu.dolphinemu.model.GpuDriverMetadata import org.dolphinemu.dolphinemu.ui.main.MainPresenter import org.dolphinemu.dolphinemu.utils.* import java.util.* +import java.util.function.BooleanSupplier import kotlin.collections.ArrayList import kotlin.math.ceil import kotlin.math.floor @@ -2593,7 +2594,7 @@ class SettingsFragmentPresenter( fragmentView.fragmentActivity, R.string.wii_converting, 0, - { context.resources.getString(if (f.get()) R.string.wii_convert_success else R.string.wii_convert_failure) } + { context.resources.getString(if (f.getAsBoolean()) R.string.wii_convert_success else R.string.wii_convert_failure) } ) } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.kt index e77b694096..68ab4c3fe6 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.kt @@ -21,7 +21,7 @@ import org.dolphinemu.dolphinemu.fragments.AboutDialogFragment import org.dolphinemu.dolphinemu.model.GameFileCache import org.dolphinemu.dolphinemu.services.GameFileCacheManager import org.dolphinemu.dolphinemu.utils.AfterDirectoryInitializationRunner -import org.dolphinemu.dolphinemu.utils.BooleanSupplier +import java.util.function.BooleanSupplier import org.dolphinemu.dolphinemu.utils.CompletableFuture import org.dolphinemu.dolphinemu.utils.ContentHandler import org.dolphinemu.dolphinemu.utils.DirectoryInitialization 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/WiiUtils.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/WiiUtils.kt index b41ab24816..135fe6a772 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/WiiUtils.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/WiiUtils.kt @@ -2,6 +2,8 @@ package org.dolphinemu.dolphinemu.utils +import java.util.function.BooleanSupplier + object WiiUtils { const val RESULT_SUCCESS = 0 const val RESULT_ERROR = 1 diff --git a/Source/Android/jni/AndroidCommon/IDCache.cpp b/Source/Android/jni/AndroidCommon/IDCache.cpp index 67ce1dc554..6618f86384 100644 --- a/Source/Android/jni/AndroidCommon/IDCache.cpp +++ b/Source/Android/jni/AndroidCommon/IDCache.cpp @@ -52,7 +52,7 @@ static jmethodID s_network_helper_get_network_prefix_length; static jmethodID s_network_helper_get_network_gateway; static jclass s_boolean_supplier_class; -static jmethodID s_boolean_supplier_get; +static jmethodID s_boolean_supplier_get_as_boolean; static jclass s_ar_cheat_class; static jfieldID s_ar_cheat_pointer; @@ -310,9 +310,9 @@ jmethodID GetNetworkHelperGetNetworkGateway() return s_network_helper_get_network_gateway; } -jmethodID GetBooleanSupplierGet() +jmethodID GetBooleanSupplierGetAsBoolean() { - return s_boolean_supplier_get; + return s_boolean_supplier_get_as_boolean; } jclass GetARCheatClass() @@ -669,10 +669,10 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) env->GetStaticMethodID(s_network_helper_class, "GetNetworkGateway", "()I"); env->DeleteLocalRef(network_helper_class); - const jclass boolean_supplier_class = - env->FindClass("org/dolphinemu/dolphinemu/utils/BooleanSupplier"); + const jclass boolean_supplier_class = env->FindClass("java/util/function/BooleanSupplier"); s_boolean_supplier_class = reinterpret_cast(env->NewGlobalRef(boolean_supplier_class)); - s_boolean_supplier_get = env->GetMethodID(s_boolean_supplier_class, "get", "()Z"); + s_boolean_supplier_get_as_boolean = + env->GetMethodID(s_boolean_supplier_class, "getAsBoolean", "()Z"); env->DeleteLocalRef(boolean_supplier_class); const jclass ar_cheat_class = diff --git a/Source/Android/jni/AndroidCommon/IDCache.h b/Source/Android/jni/AndroidCommon/IDCache.h index 0aaa9feec3..1454eadf57 100644 --- a/Source/Android/jni/AndroidCommon/IDCache.h +++ b/Source/Android/jni/AndroidCommon/IDCache.h @@ -51,7 +51,7 @@ jmethodID GetNetworkHelperGetNetworkIpAddress(); jmethodID GetNetworkHelperGetNetworkPrefixLength(); jmethodID GetNetworkHelperGetNetworkGateway(); -jmethodID GetBooleanSupplierGet(); +jmethodID GetBooleanSupplierGetAsBoolean(); jclass GetARCheatClass(); jfieldID GetARCheatPointer(); diff --git a/Source/Android/jni/WiiUtils.cpp b/Source/Android/jni/WiiUtils.cpp index 77ef3e3f7f..4d432c38bf 100644 --- a/Source/Android/jni/WiiUtils.cpp +++ b/Source/Android/jni/WiiUtils.cpp @@ -87,7 +87,7 @@ JNIEXPORT jint JNICALL Java_org_dolphinemu_dolphinemu_utils_WiiUtils_importWiiSa { const std::string path = GetJString(env, jFile); const auto can_overwrite = [&] { - const jmethodID get = IDCache::GetBooleanSupplierGet(); + const jmethodID get = IDCache::GetBooleanSupplierGetAsBoolean(); return static_cast(env->CallBooleanMethod(jCanOverwrite, get)); };