diff options
Diffstat (limited to 'platform/android/java')
| -rw-r--r-- | platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.kt | 19 | ||||
| -rw-r--r-- | platform/android/java/lib/src/org/godotengine/godot/Godot.java | 2 | 
2 files changed, 17 insertions, 4 deletions
diff --git a/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.kt b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.kt index 489a81fc1a..46a334ef38 100644 --- a/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.kt +++ b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.kt @@ -37,10 +37,12 @@ import android.os.Build  import android.os.Bundle  import android.os.Debug  import android.os.Environment +import android.util.Log  import android.widget.Toast  import androidx.window.layout.WindowMetricsCalculator  import org.godotengine.godot.FullScreenGodotApp  import org.godotengine.godot.utils.PermissionsUtil +import org.godotengine.godot.utils.ProcessPhoenix  import java.util.*  import kotlin.math.min @@ -56,12 +58,17 @@ import kotlin.math.min  open class GodotEditor : FullScreenGodotApp() {  	companion object { +		private val TAG = GodotEditor::class.java.simpleName +  		private const val WAIT_FOR_DEBUGGER = false  		private const val COMMAND_LINE_PARAMS = "command_line_params"  		private const val EDITOR_ARG = "--editor" +		private const val EDITOR_ARG_SHORT = "-e" +  		private const val PROJECT_MANAGER_ARG = "--project-manager" +		private const val PROJECT_MANAGER_ARG_SHORT = "-p"  	}  	private val commandLineParams = ArrayList<String>() @@ -105,13 +112,13 @@ open class GodotEditor : FullScreenGodotApp() {  			Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && (isInMultiWindowMode || isLargeScreen)  		for (arg in args) { -			if (EDITOR_ARG == arg) { +			if (EDITOR_ARG == arg || EDITOR_ARG_SHORT == arg) {  				targetClass = GodotEditor::class.java  				launchAdjacent = false  				break  			} -			if (PROJECT_MANAGER_ARG == arg) { +			if (PROJECT_MANAGER_ARG == arg || PROJECT_MANAGER_ARG_SHORT == arg) {  				targetClass = GodotProjectManager::class.java  				launchAdjacent = false  				break @@ -125,7 +132,13 @@ open class GodotEditor : FullScreenGodotApp() {  		if (launchAdjacent) {  			newInstance.addFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT)  		} -		startActivity(newInstance) +		if (targetClass == javaClass) { +			Log.d(TAG, "Restarting $targetClass") +			ProcessPhoenix.triggerRebirth(this, newInstance) +		} else { +			Log.d(TAG, "Starting $targetClass") +			startActivity(newInstance) +		}  	}  	// Get the screen's density scale diff --git a/platform/android/java/lib/src/org/godotengine/godot/Godot.java b/platform/android/java/lib/src/org/godotengine/godot/Godot.java index 92e5e59496..a002a37ab9 100644 --- a/platform/android/java/lib/src/org/godotengine/godot/Godot.java +++ b/platform/android/java/lib/src/org/godotengine/godot/Godot.java @@ -299,7 +299,7 @@ public class Godot extends Fragment implements SensorEventListener, IDownloaderC  			for (GodotPlugin plugin : pluginRegistry.getAllPlugins()) {  				plugin.onRegisterPluginWithGodotNative();  			} -			setKeepScreenOn("True".equals(GodotLib.getGlobal("display/window/energy_saving/keep_screen_on"))); +			setKeepScreenOn(Boolean.parseBoolean(GodotLib.getGlobal("display/window/energy_saving/keep_screen_on")));  		});  		// Include the returned non-null views in the Godot view hierarchy.  |