Merge pull request #37175 from m4gr3d/make_godot_plugin_callbacks_generic_3.2

[3.2] Update the naming scheme for the GodotPlugin's methods
This commit is contained in:
Rémi Verschelde 2020-04-17 00:08:27 +02:00 committed by GitHub
commit c4a849588b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 23 additions and 21 deletions

View file

@ -291,12 +291,12 @@ public abstract class Godot extends FragmentActivity implements SensorEventListe
}; };
/** /**
* Invoked on the GL thread when the Godot main loop has started. * Invoked on the render thread when the Godot main loop has started.
*/ */
@CallSuper @CallSuper
protected void onGLGodotMainLoopStarted() { protected void onGodotMainLoopStarted() {
for (GodotPlugin plugin : pluginRegistry.getAllPlugins()) { for (GodotPlugin plugin : pluginRegistry.getAllPlugins()) {
plugin.onGLGodotMainLoopStarted(); plugin.onGodotMainLoopStarted();
} }
} }
@ -343,7 +343,7 @@ public abstract class Godot extends FragmentActivity implements SensorEventListe
// Must occur after GodotLib.setup has completed. // Must occur after GodotLib.setup has completed.
for (GodotPlugin plugin : pluginRegistry.getAllPlugins()) { for (GodotPlugin plugin : pluginRegistry.getAllPlugins()) {
plugin.onGLRegisterPluginWithGodotNative(); plugin.onRegisterPluginWithGodotNative();
} }
setKeepScreenOn("True".equals(GodotLib.getGlobal("display/window/energy_saving/keep_screen_on"))); setKeepScreenOn("True".equals(GodotLib.getGlobal("display/window/energy_saving/keep_screen_on")));
@ -912,11 +912,11 @@ public abstract class Godot extends FragmentActivity implements SensorEventListe
} }
/** /**
* Queue a runnable to be run on the GL thread. * Queue a runnable to be run on the render thread.
* <p> * <p>
* This must be called after the GL thread has started. * This must be called after the render thread has started.
*/ */
public final void runOnGLThread(@NonNull Runnable action) { public final void runOnRenderThread(@NonNull Runnable action) {
if (mView != null) { if (mView != null) {
mView.queueEvent(action); mView.queueEvent(action);
} }

View file

@ -91,8 +91,10 @@ public abstract class GodotPlugin {
/** /**
* Register the plugin with Godot native code. * Register the plugin with Godot native code.
*
* This method is invoked on the render thread.
*/ */
public final void onGLRegisterPluginWithGodotNative() { public final void onRegisterPluginWithGodotNative() {
nativeRegisterSingleton(getPluginName(), this); nativeRegisterSingleton(getPluginName(), this);
Class clazz = getClass(); Class clazz = getClass();
@ -183,9 +185,9 @@ public abstract class GodotPlugin {
public boolean onMainBackPressed() { return false; } public boolean onMainBackPressed() { return false; }
/** /**
* Invoked on the GL thread when the Godot main loop has started. * Invoked on the render thread when the Godot main loop has started.
*/ */
public void onGLGodotMainLoopStarted() {} public void onGodotMainLoopStarted() {}
/** /**
* Invoked once per frame on the GL thread after the frame is drawn. * Invoked once per frame on the GL thread after the frame is drawn.
@ -249,12 +251,12 @@ public abstract class GodotPlugin {
} }
/** /**
* Queue the specified action to be run on the GL thread. * Queue the specified action to be run on the render thread.
* *
* @param action the action to run on the GL thread * @param action the action to run on the render thread
*/ */
protected void runOnGLThread(Runnable action) { protected void runOnRenderThread(Runnable action) {
godot.runOnGLThread(action); godot.runOnRenderThread(action);
} }
/** /**

View file

@ -250,7 +250,7 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_step(JNIEnv *env, jcl
} }
os_android->main_loop_begin(); os_android->main_loop_begin();
godot_java->on_gl_godot_main_loop_started(env); godot_java->on_godot_main_loop_started(env);
++step; ++step;
} }

View file

@ -66,7 +66,7 @@ GodotJavaWrapper::GodotJavaWrapper(JNIEnv *p_env, jobject p_godot_instance) {
_is_activity_resumed = p_env->GetMethodID(cls, "isActivityResumed", "()Z"); _is_activity_resumed = p_env->GetMethodID(cls, "isActivityResumed", "()Z");
_vibrate = p_env->GetMethodID(cls, "vibrate", "(I)V"); _vibrate = p_env->GetMethodID(cls, "vibrate", "(I)V");
_get_input_fallback_mapping = p_env->GetMethodID(cls, "getInputFallbackMapping", "()Ljava/lang/String;"); _get_input_fallback_mapping = p_env->GetMethodID(cls, "getInputFallbackMapping", "()Ljava/lang/String;");
_on_gl_godot_main_loop_started = p_env->GetMethodID(cls, "onGLGodotMainLoopStarted", "()V"); _on_godot_main_loop_started = p_env->GetMethodID(cls, "onGodotMainLoopStarted", "()V");
} }
GodotJavaWrapper::~GodotJavaWrapper() { GodotJavaWrapper::~GodotJavaWrapper() {
@ -115,13 +115,13 @@ void GodotJavaWrapper::on_video_init(JNIEnv *p_env) {
p_env->CallVoidMethod(godot_instance, _on_video_init); p_env->CallVoidMethod(godot_instance, _on_video_init);
} }
void GodotJavaWrapper::on_gl_godot_main_loop_started(JNIEnv *p_env) { void GodotJavaWrapper::on_godot_main_loop_started(JNIEnv *p_env) {
if (_on_gl_godot_main_loop_started) { if (_on_godot_main_loop_started) {
if (p_env == NULL) { if (p_env == NULL) {
p_env = ThreadAndroid::get_env(); p_env = ThreadAndroid::get_env();
} }
} }
p_env->CallVoidMethod(godot_instance, _on_gl_godot_main_loop_started); p_env->CallVoidMethod(godot_instance, _on_godot_main_loop_started);
} }
void GodotJavaWrapper::restart(JNIEnv *p_env) { void GodotJavaWrapper::restart(JNIEnv *p_env) {

View file

@ -61,7 +61,7 @@ private:
jmethodID _is_activity_resumed = 0; jmethodID _is_activity_resumed = 0;
jmethodID _vibrate = 0; jmethodID _vibrate = 0;
jmethodID _get_input_fallback_mapping = 0; jmethodID _get_input_fallback_mapping = 0;
jmethodID _on_gl_godot_main_loop_started = 0; jmethodID _on_godot_main_loop_started = 0;
public: public:
GodotJavaWrapper(JNIEnv *p_env, jobject p_godot_instance); GodotJavaWrapper(JNIEnv *p_env, jobject p_godot_instance);
@ -74,7 +74,7 @@ public:
void gfx_init(bool gl2); void gfx_init(bool gl2);
void on_video_init(JNIEnv *p_env = NULL); void on_video_init(JNIEnv *p_env = NULL);
void on_gl_godot_main_loop_started(JNIEnv *p_env = NULL); void on_godot_main_loop_started(JNIEnv *p_env = NULL);
void restart(JNIEnv *p_env = NULL); void restart(JNIEnv *p_env = NULL);
void force_quit(JNIEnv *p_env = NULL); void force_quit(JNIEnv *p_env = NULL);
void set_keep_screen_on(bool p_enabled); void set_keep_screen_on(bool p_enabled);