summaryrefslogtreecommitdiffstats
path: root/platform/android/java
diff options
context:
space:
mode:
authordevloglogan <devloglogan@gmail.com>2024-09-03 08:38:42 -0500
committerdevloglogan <devloglogan@gmail.com>2024-09-09 07:15:15 -0500
commit16e1d8a81b9284bfae6db2966fb12e32951df54c (patch)
treecd855560951adec94f1f14df97b5d43e426aa5b6 /platform/android/java
parent5675c76461e197d3929a1142cfb84ab1a76ac9dd (diff)
downloadredot-engine-16e1d8a81b9284bfae6db2966fb12e32951df54c.tar.gz
Disable some editor settings by default in the XR Editor
Diffstat (limited to 'platform/android/java')
-rw-r--r--platform/android/java/editor/src/main/java/org/godotengine/editor/BaseGodotEditor.kt8
-rw-r--r--platform/android/java/lib/src/org/godotengine/godot/Godot.kt4
-rw-r--r--platform/android/java/lib/src/org/godotengine/godot/GodotFragment.java8
-rw-r--r--platform/android/java/lib/src/org/godotengine/godot/GodotHost.java9
4 files changed, 29 insertions, 0 deletions
diff --git a/platform/android/java/editor/src/main/java/org/godotengine/editor/BaseGodotEditor.kt b/platform/android/java/editor/src/main/java/org/godotengine/editor/BaseGodotEditor.kt
index 50daf44d2a..d296d6ad03 100644
--- a/platform/android/java/editor/src/main/java/org/godotengine/editor/BaseGodotEditor.kt
+++ b/platform/android/java/editor/src/main/java/org/godotengine/editor/BaseGodotEditor.kt
@@ -511,4 +511,12 @@ abstract class BaseGodotEditor : GodotActivity() {
val godot = godot ?: return Error.ERR_UNCONFIGURED
return verifyApk(godot.fileAccessHandler, apkPath)
}
+
+ override fun supportsFeature(featureTag: String): Boolean {
+ if (featureTag == "xr_editor") {
+ return isNativeXRDevice();
+ }
+
+ return false
+ }
}
diff --git a/platform/android/java/lib/src/org/godotengine/godot/Godot.kt b/platform/android/java/lib/src/org/godotengine/godot/Godot.kt
index 38bd336e2d..5b1d09e749 100644
--- a/platform/android/java/lib/src/org/godotengine/godot/Godot.kt
+++ b/platform/android/java/lib/src/org/godotengine/godot/Godot.kt
@@ -992,6 +992,10 @@ class Godot(private val context: Context) {
*/
@Keep
private fun hasFeature(feature: String): Boolean {
+ if (primaryHost?.supportsFeature(feature) ?: false) {
+ return true;
+ }
+
for (plugin in pluginRegistry.allPlugins) {
if (plugin.supportsFeature(feature)) {
return true
diff --git a/platform/android/java/lib/src/org/godotengine/godot/GodotFragment.java b/platform/android/java/lib/src/org/godotengine/godot/GodotFragment.java
index e0f5744368..d60595c0bb 100644
--- a/platform/android/java/lib/src/org/godotengine/godot/GodotFragment.java
+++ b/platform/android/java/lib/src/org/godotengine/godot/GodotFragment.java
@@ -501,4 +501,12 @@ public class GodotFragment extends Fragment implements IDownloaderClient, GodotH
}
return Error.ERR_UNAVAILABLE;
}
+
+ @Override
+ public boolean supportsFeature(String featureTag) {
+ if (parentHost != null) {
+ return parentHost.supportsFeature(featureTag);
+ }
+ return false;
+ }
}
diff --git a/platform/android/java/lib/src/org/godotengine/godot/GodotHost.java b/platform/android/java/lib/src/org/godotengine/godot/GodotHost.java
index f1c84e90a7..344b73f799 100644
--- a/platform/android/java/lib/src/org/godotengine/godot/GodotHost.java
+++ b/platform/android/java/lib/src/org/godotengine/godot/GodotHost.java
@@ -136,4 +136,13 @@ public interface GodotHost {
default Error verifyApk(@NonNull String apkPath) {
return Error.ERR_UNAVAILABLE;
}
+
+ /**
+ * Returns whether the given feature tag is supported.
+ *
+ * @see <a href="https://docs.godotengine.org/en/stable/tutorials/export/feature_tags.html">Feature tags</a>
+ */
+ default boolean supportsFeature(String featureTag) {
+ return false;
+ }
}