Browse Source

Merge pull request #108243 from m4gr3d/fix_android_plugin_init

Android: Fix Android plugins regression
Thaddeus Crews 1 month ago
parent
commit
eb2625cf57

+ 3 - 1
platform/android/java/lib/src/org/godotengine/godot/Godot.kt

@@ -204,7 +204,7 @@ class Godot private constructor(val context: Context) {
 	 * @throws IllegalArgumentException exception if the specified expansion pack (if any)
 	 * is invalid.
 	 */
-	fun initEngine(commandLineParams: List<String>, hostPlugins: Set<GodotPlugin>): Boolean {
+	fun initEngine(host: GodotHost?, commandLineParams: List<String>, hostPlugins: Set<GodotPlugin> = Collections.emptySet()): Boolean {
 		if (isNativeInitialized()) {
 			Log.d(TAG, "Engine already initialized")
 			return true
@@ -216,6 +216,8 @@ class Godot private constructor(val context: Context) {
 
 		beginBenchmarkMeasure("Startup", "Godot::initEngine")
 		try {
+			this.primaryHost = host
+
 			Log.v(TAG, "Initializing Godot plugin registry")
 			val runtimePlugins = mutableSetOf<GodotPlugin>(AndroidRuntimePlugin(this))
 			runtimePlugins.addAll(hostPlugins)

+ 1 - 1
platform/android/java/lib/src/org/godotengine/godot/GodotFragment.java

@@ -174,7 +174,7 @@ public class GodotFragment extends Fragment implements IDownloaderClient, GodotH
 
 	private void performEngineInitialization() {
 		try {
-			if (!godot.initEngine(getCommandLine(), getHostPlugins(godot))) {
+			if (!godot.initEngine(this, getCommandLine(), getHostPlugins(godot))) {
 				throw new IllegalStateException("Unable to initialize Godot engine");
 			}
 

+ 1 - 1
platform/android/java/lib/src/org/godotengine/godot/service/GodotService.kt

@@ -321,7 +321,7 @@ open class GodotService : Service() {
 		Log.d(TAG, "Performing engine initialization")
 		try {
 			// Initialize the Godot instance
-			if (!godot.initEngine(godotHost.commandLine, godotHost.getHostPlugins(godot))) {
+			if (!godot.initEngine(godotHost, godotHost.commandLine, godotHost.getHostPlugins(godot))) {
 				throw IllegalStateException("Unable to initialize Godot engine layer")
 			}