From fafbb2199e24340822e7567bb913ed478b3a7949 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Sat, 10 Jun 2023 05:05:01 -0400 Subject: Android: Convert Control to Kotlin --- .../input/model/controlleremu/Control.java | 27 ---------------------- .../features/input/model/controlleremu/Control.kt | 18 +++++++++++++++ Source/Android/jni/AndroidCommon/IDCache.cpp | 2 +- 3 files changed, 19 insertions(+), 28 deletions(-) delete mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.java create mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.kt (limited to 'Source/Android') diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.java deleted file mode 100644 index 6033e17e37..0000000000 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.java +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later - -package org.dolphinemu.dolphinemu.features.input.model.controlleremu; - -import androidx.annotation.Keep; - -/** - * Represents a C++ ControllerEmu::Control. - * - * The lifetime of this class is managed by C++ code. Calling methods on it after it's destroyed - * in C++ is undefined behavior! - */ -public class Control -{ - @Keep - private final long mPointer; - - @Keep - private Control(long pointer) - { - mPointer = pointer; - } - - public native String getUiName(); - - public native ControlReference getControlReference(); -} diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.kt new file mode 100644 index 0000000000..fcc420c740 --- /dev/null +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.kt @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +package org.dolphinemu.dolphinemu.features.input.model.controlleremu + +import androidx.annotation.Keep + +/** + * Represents a C++ ControllerEmu::Control. + * + * The lifetime of this class is managed by C++ code. Calling methods on it after it's destroyed + * in C++ is undefined behavior! + */ +@Keep +class Control private constructor(private val pointer: Long) { + external fun getUiName(): String + + external fun getControlReference(): ControlReference +} diff --git a/Source/Android/jni/AndroidCommon/IDCache.cpp b/Source/Android/jni/AndroidCommon/IDCache.cpp index e4cacaa462..5e9a1692d5 100644 --- a/Source/Android/jni/AndroidCommon/IDCache.cpp +++ b/Source/Android/jni/AndroidCommon/IDCache.cpp @@ -703,7 +703,7 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) const jclass control_class = env->FindClass("org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control"); s_control_class = reinterpret_cast(env->NewGlobalRef(control_class)); - s_control_pointer = env->GetFieldID(control_class, "mPointer", "J"); + s_control_pointer = env->GetFieldID(control_class, "pointer", "J"); s_control_constructor = env->GetMethodID(control_class, "", "(J)V"); env->DeleteLocalRef(control_class); -- cgit v1.2.3