Android: Add SDK extension library for Android XR

Bug: 390751822
Change-Id: Ic81d70b62234dcb9d00fc709a293fe159fb290a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6289295
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Sam Maier <smaier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423357}
NOKEYCHECK=True
GitOrigin-RevId: 2e9bdbf2c8aa65455ba65f017c45ebfa532fd0e3
diff --git a/BUILD.gn b/BUILD.gn
index b25231d..58ef3b2 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -22,9 +22,10 @@
     jinja_template(_manifest_target) {
       input = "//third_party/android_sdk/AndroidManifest.xml.jinja2"
       output = _manifest_path
-      _library_name = invoker.library_name
       if (defined(invoker.runtime_library_name)) {
         _library_name = invoker.runtime_library_name
+      } else {
+        _library_name = invoker.library_name
       }
       variables = [
         "library_name=$_library_name",
@@ -61,6 +62,11 @@
     library_name = "android.car"
     required = false
   }
+  android_sdk_optional_library("android_xr_extensions_java") {
+    runtime_library_name = "com.android.extensions.xr"
+    input_jars_paths = "xr_extensions/com.android.extensions.xr.jar"
+    required = false
+  }
   if (!limit_android_deps) {
     android_sdk_optional_library("android_window_extensions_java") {
       library_name = "androidx.window.extensions"
diff --git a/xr_extensions/README.md b/xr_extensions/README.md
new file mode 100644
index 0000000..54cc78f
--- /dev/null
+++ b/xr_extensions/README.md
@@ -0,0 +1,13 @@
+# OS VR Extensions
+
+This library is not (yet) distributed with the Android SDK, and so has been
+manually built and committed here.
+
+As with other optional SDK libraries, these classes are not compiled in. They
+are available at runtime through a system library loaded by the framework
+when a `<uses-library>` tag exists in an app's `AndroidManifest.xml` (which is
+added via manifest merging when depending on the GN target).
+
+Not all devices have this optional library available.
+
+Library source code: https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:xr/xr-stubs/
diff --git a/xr_extensions/com.android.extensions.xr.jar b/xr_extensions/com.android.extensions.xr.jar
new file mode 100644
index 0000000..120055e
--- /dev/null
+++ b/xr_extensions/com.android.extensions.xr.jar
Binary files differ