summaryrefslogtreecommitdiff
path: root/Source/Android/jni/AndroidCommon/IDCache.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2022-04-18 16:11:14 +0200
committerJosJuice <josjuice@gmail.com>2023-03-03 22:28:24 +0100
commit1c26a85e35f94169ddc83e8174d6824aec82d322 (patch)
treedcc32fbb9259145553d2aa7a92511ace37e205ae /Source/Android/jni/AndroidCommon/IDCache.cpp
parent2c529b9db12a60eb3640975f6ea4802237e118fa (diff)
Android: Add NumericSetting support
Diffstat (limited to 'Source/Android/jni/AndroidCommon/IDCache.cpp')
-rw-r--r--Source/Android/jni/AndroidCommon/IDCache.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/Source/Android/jni/AndroidCommon/IDCache.cpp b/Source/Android/jni/AndroidCommon/IDCache.cpp
index 54d3f765c9..6e547beaed 100644
--- a/Source/Android/jni/AndroidCommon/IDCache.cpp
+++ b/Source/Android/jni/AndroidCommon/IDCache.cpp
@@ -87,6 +87,10 @@ static jclass s_control_class;
static jfieldID s_control_pointer;
static jmethodID s_control_constructor;
+static jclass s_numeric_setting_class;
+static jfieldID s_numeric_setting_pointer;
+static jmethodID s_numeric_setting_constructor;
+
static jclass s_control_group_class;
static jfieldID s_control_group_pointer;
static jmethodID s_control_group_constructor;
@@ -459,6 +463,21 @@ jmethodID GetEmulatedControllerConstructor()
return s_emulated_controller_constructor;
}
+jclass GetNumericSettingClass()
+{
+ return s_numeric_setting_class;
+}
+
+jfieldID GetNumericSettingPointer()
+{
+ return s_numeric_setting_pointer;
+}
+
+jmethodID GetNumericSettingConstructor()
+{
+ return s_numeric_setting_constructor;
+}
+
} // namespace IDCache
extern "C" {
@@ -646,6 +665,13 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved)
s_emulated_controller_constructor = env->GetMethodID(emulated_controller_class, "<init>", "(J)V");
env->DeleteLocalRef(emulated_controller_class);
+ const jclass numeric_setting_class =
+ env->FindClass("org/dolphinemu/dolphinemu/features/input/model/controlleremu/NumericSetting");
+ s_numeric_setting_class = reinterpret_cast<jclass>(env->NewGlobalRef(numeric_setting_class));
+ s_numeric_setting_pointer = env->GetFieldID(numeric_setting_class, "mPointer", "J");
+ s_numeric_setting_constructor = env->GetMethodID(numeric_setting_class, "<init>", "(J)V");
+ env->DeleteLocalRef(numeric_setting_class);
+
return JNI_VERSION;
}
@@ -677,5 +703,6 @@ JNIEXPORT void JNI_OnUnload(JavaVM* vm, void* reserved)
env->DeleteGlobalRef(s_control_group_class);
env->DeleteGlobalRef(s_control_reference_class);
env->DeleteGlobalRef(s_emulated_controller_class);
+ env->DeleteGlobalRef(s_numeric_setting_class);
}
}