From c0f73d23872ba34cd0bb3eb0e813767669b77d30 Mon Sep 17 00:00:00 2001 From: Patrick Fuentes Date: Fri, 15 Aug 2025 11:47:09 -0700 Subject: [PATCH 1/2] - Update dependencies - Update the compileSDK & targetSDK to the latest - Include a compile-only dependency on the XR extensions to allow for Proguard minification - Add the ability to toggle the visibility of the bugdroid glTF - Scale the size of the bugdroid glTF when the associated panel is resized --- app/build.gradle.kts | 5 +- .../environment/EnvironmentController.kt | 20 +-- .../helloandroidxr/ui/HelloAndroidXRApp.kt | 19 ++- .../ui/components/BugdroidModel.kt | 120 +++++++++++++----- app/src/main/res/values/strings.xml | 1 + gradle/libs.versions.toml | 22 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- 7 files changed, 130 insertions(+), 59 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2484ed0..939936b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -23,12 +23,12 @@ plugins { android { namespace = "com.example.helloandroidxr" - compileSdk = 35 + compileSdk = 36 defaultConfig { applicationId = "com.example.helloandroidxr" minSdk = 24 - targetSdk = 35 + targetSdk = 36 versionCode = 1 versionName = "1.0" @@ -67,6 +67,7 @@ dependencies { implementation(libs.androidx.scenecore) implementation(libs.androidx.compose) implementation(libs.kotlinx.coroutines.guava) + compileOnly(libs.androidx.extensions.xr) //This is necessary for Proguard minification implementation(libs.material) implementation(libs.androidx.compose.material3) diff --git a/app/src/main/java/com/example/helloandroidxr/environment/EnvironmentController.kt b/app/src/main/java/com/example/helloandroidxr/environment/EnvironmentController.kt index 4fd0874..3846a72 100644 --- a/app/src/main/java/com/example/helloandroidxr/environment/EnvironmentController.kt +++ b/app/src/main/java/com/example/helloandroidxr/environment/EnvironmentController.kt @@ -16,10 +16,10 @@ package com.example.helloandroidxr.environment +import android.net.Uri import android.util.Log -import androidx.concurrent.futures.await -import androidx.xr.scenecore.GltfModel import androidx.xr.runtime.Session +import androidx.xr.scenecore.GltfModel import androidx.xr.scenecore.SpatialEnvironment import androidx.xr.scenecore.scene import kotlinx.coroutines.CoroutineScope @@ -29,11 +29,13 @@ class EnvironmentController(private val xrSession: Session, private val coroutin private val assetCache: HashMap = HashMap() private var activeEnvironmentModelName: String? = null - fun requestHomeSpaceMode() = xrSession.scene.spatialEnvironment.requestHomeSpaceMode() + fun requestHomeSpaceMode() = xrSession.scene.requestHomeSpaceMode() - fun requestFullSpaceMode() = xrSession.scene.spatialEnvironment.requestFullSpaceMode() + fun requestFullSpaceMode() = xrSession.scene.requestFullSpaceMode() - fun requestPassthrough() = xrSession.scene.spatialEnvironment.setPassthroughOpacityPreference(1f) + fun requestPassthrough() { + xrSession.scene.spatialEnvironment.preferredPassthroughOpacity = 1f + } /** * Request the system load a custom Environment @@ -51,13 +53,11 @@ class EnvironmentController(private val xrSession: Session, private val coroutin skybox = null, geometry = environmentModel ).let { - xrSession.scene.spatialEnvironment.setSpatialEnvironmentPreference( - it - ) + xrSession.scene.spatialEnvironment.preferredSpatialEnvironment = it } activeEnvironmentModelName = environmentModelName } - xrSession.scene.spatialEnvironment.setPassthroughOpacityPreference(0f) + xrSession.scene.spatialEnvironment.preferredPassthroughOpacity = 0f } catch (e: Exception) { Log.e( @@ -74,7 +74,7 @@ class EnvironmentController(private val xrSession: Session, private val coroutin if (!assetCache.containsKey(modelName)) { try { val gltfModel = - GltfModel.create(xrSession, modelName).await() + GltfModel.create(xrSession, Uri.parse(modelName)) assetCache[modelName] = gltfModel } catch (e: Exception) { diff --git a/app/src/main/java/com/example/helloandroidxr/ui/HelloAndroidXRApp.kt b/app/src/main/java/com/example/helloandroidxr/ui/HelloAndroidXRApp.kt index 5bfdc25..a0676ab 100644 --- a/app/src/main/java/com/example/helloandroidxr/ui/HelloAndroidXRApp.kt +++ b/app/src/main/java/com/example/helloandroidxr/ui/HelloAndroidXRApp.kt @@ -59,8 +59,8 @@ import androidx.compose.ui.unit.dp import androidx.window.core.layout.WindowSizeClass import androidx.window.core.layout.WindowWidthSizeClass import androidx.xr.compose.platform.LocalSpatialCapabilities +import androidx.xr.compose.spatial.ContentEdge import androidx.xr.compose.spatial.Orbiter -import androidx.xr.compose.spatial.OrbiterEdge import androidx.xr.compose.spatial.Subspace import androidx.xr.compose.subspace.SpatialColumn import androidx.xr.compose.subspace.SpatialPanel @@ -71,6 +71,7 @@ import androidx.xr.compose.subspace.layout.fillMaxSize import androidx.xr.compose.subspace.layout.fillMaxWidth import androidx.xr.compose.subspace.layout.height import androidx.xr.compose.subspace.layout.movable +import androidx.xr.compose.subspace.layout.offset import androidx.xr.compose.subspace.layout.padding import androidx.xr.compose.subspace.layout.resizable import androidx.xr.compose.subspace.layout.size @@ -260,7 +261,7 @@ private fun TopAppBar() { ) { Spacer(Modifier.weight(1f)) Orbiter( - position = OrbiterEdge.Top, + position = ContentEdge.Top, offset = dimensionResource(R.dimen.top_ornament_padding), alignment = Alignment.Start ) { @@ -268,7 +269,7 @@ private fun TopAppBar() { } Spacer(Modifier.weight(1f)) Orbiter( - position = OrbiterEdge.Top, + position = ContentEdge.Top, offset = dimensionResource(R.dimen.top_ornament_padding), alignment = Alignment.End ) { @@ -280,22 +281,28 @@ private fun TopAppBar() { @Composable private fun PrimaryContent(modifier: Modifier = Modifier) { var showBugdroid by rememberSaveable { mutableStateOf(false) } + val stringResId = if (showBugdroid) R.string.hide_bugdroid else R.string.show_bugdroid if (LocalSpatialCapabilities.current.isSpatialUiEnabled) { Surface(modifier.fillMaxSize()) { Box(modifier.padding(48.dp), contentAlignment = Alignment.Center) { Button( onClick = { - showBugdroid = true + showBugdroid = !showBugdroid }, modifier = modifier ) { Text( - text = stringResource(id = R.string.show_bugdroid), + text = stringResource(id = stringResId), style = MaterialTheme.typography.labelLarge ) } - BugdroidModel(showBugdroid = showBugdroid) + BugdroidModel( + showBugdroid = showBugdroid, + modifier = SubspaceModifier + .fillMaxSize() + .offset(z = 400.dp) // Relative position from the panel + ) } } } else { diff --git a/app/src/main/java/com/example/helloandroidxr/ui/components/BugdroidModel.kt b/app/src/main/java/com/example/helloandroidxr/ui/components/BugdroidModel.kt index 2b73bc3..cbf7e2f 100644 --- a/app/src/main/java/com/example/helloandroidxr/ui/components/BugdroidModel.kt +++ b/app/src/main/java/com/example/helloandroidxr/ui/components/BugdroidModel.kt @@ -16,52 +16,112 @@ package com.example.helloandroidxr.ui.components +import android.annotation.SuppressLint +import android.content.Context +import android.util.Log import androidx.compose.runtime.Composable -import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableFloatStateOf +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.unit.dp +import androidx.compose.ui.platform.LocalDensity import androidx.xr.compose.platform.LocalSession import androidx.xr.compose.spatial.Subspace -import androidx.xr.compose.subspace.Volume +import androidx.xr.compose.subspace.SceneCoreEntity +import androidx.xr.compose.subspace.SceneCoreEntitySizeAdapter import androidx.xr.compose.subspace.layout.SubspaceModifier -import androidx.xr.compose.subspace.layout.offset +import androidx.xr.compose.subspace.layout.scale +import androidx.xr.compose.unit.Meter import androidx.xr.scenecore.GltfModel import androidx.xr.scenecore.GltfModelEntity import com.example.helloandroidxr.R -import kotlinx.coroutines.guava.await -import kotlinx.coroutines.launch import java.io.InputStream +// Bugdroid glb height in meters +private const val bugdroidHeight = 2.08f +// The desired amount of the available layout height to use for the bugdroid +private const val fillRatio = 0.5f + @Composable -fun BugdroidModel(showBugdroid: Boolean) { +fun BugdroidModel(showBugdroid: Boolean, modifier: SubspaceModifier = SubspaceModifier) { if (showBugdroid) { val xrSession = checkNotNull(LocalSession.current) - val scope = rememberCoroutineScope() + // Load the GltfModel data before creating the entity. + var gltfModel by remember { mutableStateOf(null) } val context = LocalContext.current - Subspace { - val inputStream: InputStream = - context.resources.openRawResource(R.raw.bugdroid_animated_wave) - Volume( - SubspaceModifier.offset(z = 400.dp) // Relative position - ) { parent -> - scope.launch { - val gltfModel = GltfModel.create( - session = xrSession, - assetData = inputStream.readBytes(), - assetKey = "BUGDROID" - ).await() - val gltfEntity = GltfModelEntity.create(xrSession, gltfModel) - // Make this glTF a child of the Volume - gltfEntity.setParent(parent) - // Change the size of the large glTF to 10% - gltfEntity.setScale(0.1f) - gltfEntity.startAnimation( - loop = true, - animationName = "Armature|Take 001|BaseLayer" - ) - } + LaunchedEffect(Unit) { + if (gltfModel == null) { + gltfModel = BugdroidGltfModelCache.getOrLoadModel(xrSession, context) + } + } + gltfModel?.let { gltfModel -> + Subspace { + val density = LocalDensity.current + var scale by remember { mutableFloatStateOf(1f) } + SceneCoreEntity( + factory = { + GltfModelEntity.create(xrSession, gltfModel).also { entity -> + entity.startAnimation( + loop = true, animationName = "Armature|Take 001|BaseLayer" + ) + } + }, + sizeAdapter = SceneCoreEntitySizeAdapter(onLayoutSizeChanged = { size -> + // Calculate the scale we should use for the entity based on the size the + // layout is setting on the SceneCoreEntity + val scaleToFillLayoutHeight = Meter + .fromPixel(size.height.toFloat(), density).toM() / bugdroidHeight + //Limit the scale to a ratio of the available space + scale = scaleToFillLayoutHeight * fillRatio + }), + modifier = modifier.scale(scale) + ) + } + } + } + // Clean up the cache when the composable leaves the composition. + DisposableEffect(Unit) { + onDispose { + BugdroidGltfModelCache.clearCache() + } + } +} + +/** + * Singleton object to cache the GltfModel. + */ +private object BugdroidGltfModelCache { + private var cachedModel: GltfModel? = null + + @SuppressLint("RestrictedApi") + suspend fun getOrLoadModel( + xrCoreSession: androidx.xr.runtime.Session, context: Context + ): GltfModel? { + return if (cachedModel == null) { + try { + val inputStream: InputStream = + context.resources.openRawResource(R.raw.bugdroid_animated_wave) + cachedModel = GltfModel.create( + xrCoreSession, inputStream.readBytes(), "BUGDROID" + ) + cachedModel + } catch (e: Exception) { + Log.e(TAG, "Error loading GLTF model", e) + null } + } else { + cachedModel } } + + fun clearCache() { + cachedModel = null + } + + const val TAG = "BugdroidGltfModelCache" } \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 68d8030..e3dc530 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -26,5 +26,6 @@ set virtual environment set passthrough Show bugdroid + Hide bugdroid \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1db4002..dba710e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,23 +1,25 @@ [versions] -androidx-runtime = "1.8.1" -agp = "8.10.0" -arcore = "1.0.0-alpha04" -compose = "1.0.0-alpha04" -scenecore = "1.0.0-alpha04" +androidx-runtime = "1.9.0" +agp = "8.12.0" +arcore = "1.0.0-alpha06" +compose = "1.0.0-alpha06" +extensionsXr = "1.0.0" +scenecore = "1.0.0-alpha06" kotlinxCoroutinesGuava = "1.10.2" -kotlin = "2.1.21" -concurrentFuturesKtx = "1.2.0" +kotlin = "2.2.0" +concurrentFuturesKtx = "1.3.0" activityCompose = "1.10.1" -composeBom = "2025.05.00" +composeBom = "2025.08.00" material = "1.12.0" -screenshot = "0.0.1-alpha09" +screenshot = "0.0.1-alpha11" adaptiveAndroid = "1.1.0" -kotlinAndroid = "2.1.21" +kotlinAndroid = "2.2.0" [libraries] androidx-arcore = { module = "androidx.xr.arcore:arcore", version.ref = "arcore" } androidx-compose = { module = "androidx.xr.compose:compose", version.ref = "compose" } androidx-scenecore = { module = "androidx.xr.scenecore:scenecore", version.ref = "scenecore" } +androidx-extensions-xr = { module = "com.android.extensions.xr:extensions-xr", version.ref = "extensionsXr" } kotlinx-coroutines-guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "kotlinxCoroutinesGuava" } androidx-compose-material3 = { module = "androidx.compose.material3:material3" } material = { module = "com.google.android.material:material", version.ref = "material" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0ea1d9e..4242951 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -17,6 +17,6 @@ #Mon Aug 26 16:14:13 PDT 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 3b9dab5fcc8bfff6dd1efc82993c8ef46499ba3d Mon Sep 17 00:00:00 2001 From: Patrick Fuentes Date: Fri, 15 Aug 2025 13:55:55 -0700 Subject: [PATCH 2/2] - Remove Compose Preview Screenshot tests --- app/build.gradle.kts | 4 -- .../AppLayoutPreview_b6cdeb17_0.png | Bin 40297 -> 0 bytes .../AppLayoutPreview_f367ca6d_0.png | Bin 28039 -> 0 bytes .../SearchTextBoxPreview_b6cdeb17_0.png | Bin 10126 -> 0 bytes .../SearchTextBoxPreview_f367ca6d_0.png | Bin 3495 -> 0 bytes .../ui/components/BugdroidModel.kt | 3 +- .../ui/AppPreviewScreenshots.kt | 45 ------------------ gradle.properties | 2 - gradle/libs.versions.toml | 2 - gradle/wrapper/gradle-wrapper.properties | 2 +- 10 files changed, 3 insertions(+), 55 deletions(-) delete mode 100644 app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/AppLayoutPreview_b6cdeb17_0.png delete mode 100644 app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/AppLayoutPreview_f367ca6d_0.png delete mode 100644 app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/SearchTextBoxPreview_b6cdeb17_0.png delete mode 100644 app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/SearchTextBoxPreview_f367ca6d_0.png delete mode 100644 app/src/screenshotTest/kotlin/com/example/helloandroidxr/ui/AppPreviewScreenshots.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 939936b..f2909b1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -18,7 +18,6 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) - alias(libs.plugins.screenshot) } android { @@ -57,7 +56,6 @@ android { composeOptions { kotlinCompilerExtensionVersion = "1.5.4" } - experimentalProperties["android.experimental.enableScreenshotTest"] = true } dependencies { @@ -77,6 +75,4 @@ dependencies { implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.ui.tooling) - - screenshotTestImplementation(libs.androidx.compose.ui.tooling) } \ No newline at end of file diff --git a/app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/AppLayoutPreview_b6cdeb17_0.png b/app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/AppLayoutPreview_b6cdeb17_0.png deleted file mode 100644 index 8a8e0b5468f7f59da216300b2e0192a669dfa3a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40297 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 diff --git a/app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/AppLayoutPreview_f367ca6d_0.png b/app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/AppLayoutPreview_f367ca6d_0.png deleted file mode 100644 index 40359ab1313a52998804e30ca1b4468ae5765814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28039 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≪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 diff --git a/app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/SearchTextBoxPreview_f367ca6d_0.png b/app/src/debug/screenshotTest/reference/com/example/helloandroidxr/ui/AppPreviewScreenshots/SearchTextBoxPreview_f367ca6d_0.png deleted file mode 100644 index 360dd1521815dc47db7da12bef3ed390bb815282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3495 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