From fafbb2199e24340822e7567bb913ed478b3a7949 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Sat, 10 Jun 2023 05:05:01 -0400 Subject: [PATCH] Android: Convert Control to Kotlin --- .../{Control.java => Control.kt} | 21 ++++++------------- Source/Android/jni/AndroidCommon/IDCache.cpp | 2 +- 2 files changed, 7 insertions(+), 16 deletions(-) rename Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/{Control.java => Control.kt} (52%) 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.kt similarity index 52% rename from Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.java rename to Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/Control.kt index 6033e17e37..fcc420c740 100644 --- 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.kt @@ -1,8 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later -package org.dolphinemu.dolphinemu.features.input.model.controlleremu; +package org.dolphinemu.dolphinemu.features.input.model.controlleremu -import androidx.annotation.Keep; +import androidx.annotation.Keep /** * Represents a C++ ControllerEmu::Control. @@ -10,18 +10,9 @@ import androidx.annotation.Keep; * 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 +class Control private constructor(private val pointer: Long) { + external fun getUiName(): String - @Keep - private Control(long pointer) - { - mPointer = pointer; - } - - public native String getUiName(); - - public native ControlReference getControlReference(); + 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);