Skip to content

Commit 071d897

Browse files
committed
Update the logic to detect if the spatial UI is enabled or not
1 parent a2a9004 commit 071d897

File tree

2 files changed

+10
-20
lines changed

2 files changed

+10
-20
lines changed

AdaptiveJetStream/jetstream/src/main/java/com/google/jetstream/presentation/app/NavigationComponentType.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ package com.google.jetstream.presentation.app
1919
import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo
2020
import androidx.compose.runtime.Composable
2121
import androidx.compose.runtime.remember
22-
import com.google.jetstream.presentation.components.feature.SpatialMode
23-
import com.google.jetstream.presentation.components.feature.currentSpatialMode
22+
import com.google.jetstream.presentation.components.feature.hasXrSpatialFeature
2423
import com.google.jetstream.presentation.components.feature.isAutomotiveEnabled
2524
import com.google.jetstream.presentation.components.feature.isLeanbackEnabled
25+
import com.google.jetstream.presentation.components.feature.isSpatialUiEnabled
2626
import com.google.jetstream.presentation.components.feature.isWidthAtLeastLarge
2727

2828
enum class NavigationComponentType {
@@ -36,14 +36,14 @@ fun rememberNavigationComponentType(): NavigationComponentType {
3636
val windowSizeClass = currentWindowAdaptiveInfo().windowSizeClass
3737
val isLeanbackEnabled = isLeanbackEnabled()
3838
val isAutomotiveEnabled = isAutomotiveEnabled()
39-
val spatialMode = currentSpatialMode()
39+
val isSpatialUiEnabled = hasXrSpatialFeature() && isSpatialUiEnabled()
4040

41-
return remember(isLeanbackEnabled, isAutomotiveEnabled, windowSizeClass, spatialMode) {
41+
return remember(isLeanbackEnabled, isAutomotiveEnabled, windowSizeClass, isSpatialUiEnabled) {
4242
selectNavigationComponentType(
4343
isLeanbackEnabled = isLeanbackEnabled,
4444
isAutomotiveEnabled = isAutomotiveEnabled,
4545
isLargeWindow = windowSizeClass.isWidthAtLeastLarge(),
46-
spatialMode = spatialMode
46+
isSpatialUiEnabled = isSpatialUiEnabled
4747
)
4848
}
4949
}
@@ -53,10 +53,10 @@ private fun selectNavigationComponentType(
5353
isLeanbackEnabled: Boolean,
5454
isAutomotiveEnabled: Boolean,
5555
isLargeWindow: Boolean,
56-
spatialMode: SpatialMode,
56+
isSpatialUiEnabled: Boolean,
5757
): NavigationComponentType {
5858
return when {
59-
spatialMode == SpatialMode.Full -> NavigationComponentType.Spatial
59+
isSpatialUiEnabled -> NavigationComponentType.Spatial
6060
isLeanbackEnabled -> NavigationComponentType.TopBar
6161
isAutomotiveEnabled -> NavigationComponentType.TopBar
6262
isLargeWindow -> NavigationComponentType.TopBar

AdaptiveJetStream/jetstream/src/main/java/com/google/jetstream/presentation/components/feature/SpatialMode.kt

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,12 @@ import androidx.compose.runtime.Composable
2020
import androidx.xr.compose.platform.LocalSpatialCapabilities
2121
import androidx.xr.compose.platform.LocalSpatialConfiguration
2222

23-
enum class SpatialMode {
24-
None,
25-
Home,
26-
Full
27-
}
28-
2923
@Composable
3024
fun hasXrSpatialFeature(): Boolean {
3125
return LocalSpatialConfiguration.current.hasXrSpatialFeature
3226
}
3327

3428
@Composable
35-
fun currentSpatialMode(): SpatialMode {
36-
return when {
37-
!hasXrSpatialFeature() -> SpatialMode.None
38-
LocalSpatialCapabilities.current.isSpatialUiEnabled -> SpatialMode.Full
39-
else -> SpatialMode.Home
40-
}
41-
}
29+
fun isSpatialUiEnabled(): Boolean {
30+
return LocalSpatialCapabilities.current.isSpatialUiEnabled
31+
}

0 commit comments

Comments
 (0)