Skip to content

Commit 931cfdd

Browse files
authored
Merge pull request #212 from android/feature/license
Fix deprecations and upgrade OSS, Retrofit
2 parents f72d8f4 + 4221915 commit 931cfdd

20 files changed

Lines changed: 111 additions & 104 deletions

File tree

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,8 @@
9999
</activity>
100100
<!-- need to use Theme.AppCompat -->
101101
<activity
102-
android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
103-
android:theme="@style/AppCompatAndroidify" />
104-
105-
<!-- needs to use Theme.AppCompat -->
106-
<activity
107-
android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
102+
android:name="com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity"
103+
tools:replace="android:theme"
108104
android:theme="@style/AppCompatAndroidify" />
109105

110106
<meta-data

app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import com.android.developers.androidify.home.HomeScreen
4848
import com.android.developers.androidify.results.ResultsScreen
4949
import com.android.developers.androidify.results.ResultsViewModel
5050
import com.android.developers.androidify.theme.transitions.ColorSplashTransitionScreen
51-
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity
51+
import com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity
5252

5353
@ExperimentalMaterial3ExpressiveApi
5454
@Composable

core/xr/src/main/java/com/android/developers/androidify/xr/SpatialComponents.kt

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import androidx.compose.ui.tooling.preview.Preview
3030
import androidx.compose.ui.unit.Dp
3131
import androidx.compose.ui.unit.dp
3232
import androidx.xr.compose.spatial.Subspace
33-
import androidx.xr.compose.subspace.MovePolicy
3433
import androidx.xr.compose.subspace.ResizePolicy
3534
import androidx.xr.compose.subspace.SpatialBox
3635
import androidx.xr.compose.subspace.SpatialBoxScope
@@ -41,7 +40,9 @@ import androidx.xr.compose.subspace.layout.SubspaceModifier
4140
import androidx.xr.compose.subspace.layout.aspectRatio
4241
import androidx.xr.compose.subspace.layout.fillMaxSize
4342
import androidx.xr.compose.subspace.layout.fillMaxWidth
43+
import androidx.xr.compose.subspace.layout.movable
4444
import androidx.xr.compose.subspace.layout.offset
45+
import androidx.xr.compose.subspace.layout.transformingMovable
4546
import androidx.xr.compose.unit.DpVolumeSize
4647
import com.android.developers.androidify.theme.AndroidifyTheme
4748

@@ -53,7 +54,7 @@ import com.android.developers.androidify.theme.AndroidifyTheme
5354
@Composable
5455
fun SquiggleBackgroundSubspace(
5556
minimumHeight: Dp,
56-
onMove: ((SpatialMoveEvent) -> Boolean)? = null,
57+
onMove: ((SpatialMoveEvent) -> Unit)? = null,
5758
content:
5859
@SubspaceComposable @Composable
5960
SpatialBoxScope.() -> Unit,
@@ -72,7 +73,7 @@ fun BackgroundSubspace(
7273
aspectRatio: Float,
7374
@DrawableRes drawable: Int,
7475
minimumHeight: Dp,
75-
onMove: ((SpatialMoveEvent) -> Boolean)? = null,
76+
onMove: ((SpatialMoveEvent) -> Unit)? = null,
7677
content:
7778
@SubspaceComposable @Composable
7879
SpatialBoxScope.() -> Unit,
@@ -81,8 +82,14 @@ fun BackgroundSubspace(
8182
SpatialPanel(
8283
SubspaceModifier
8384
.fillMaxWidth()
84-
.aspectRatio(aspectRatio),
85-
dragPolicy = MovePolicy(onMove = onMove),
85+
.aspectRatio(aspectRatio)
86+
.let { modifier ->
87+
if (onMove != null) {
88+
modifier.movable(onMove = onMove)
89+
} else {
90+
modifier.transformingMovable()
91+
}
92+
},
8693
resizePolicy = ResizePolicy(
8794
minimumSize = DpVolumeSize(0.dp, minimumHeight, 0.dp),
8895
shouldMaintainAspectRatio = true,

feature/camera/src/main/java/com/android/developers/androidify/camera/CameraScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ import androidx.compose.ui.text.style.TextAlign
5656
import androidx.compose.ui.unit.dp
5757
import androidx.graphics.shapes.RoundedPolygon
5858
import androidx.graphics.shapes.rectangle
59-
import androidx.hilt.navigation.compose.hiltViewModel
59+
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
6060
import androidx.lifecycle.compose.LifecycleStartEffect
6161
import androidx.lifecycle.compose.collectAsStateWithLifecycle
6262
import androidx.window.layout.FoldingFeature

feature/camera/src/main/java/com/android/developers/androidify/camera/CameraViewfinder.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ internal fun CameraViewfinder(
6969
}
7070
.transformable(
7171
rememberTransformableState(
72-
onTransformation = { zoomChange, _, _ ->
72+
onTransformation = { _, zoomChange, _, _ ->
7373
onScaleCurrentZoom(zoomChange)
7474
},
7575
),

feature/camera/src/main/java/com/android/developers/androidify/camera/CameraZoomToolbar.kt

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -78,35 +78,41 @@ internal fun ZoomToolbar(
7878
}
7979
}
8080
}
81-
val textMeasurer = rememberTextMeasurer()
8281

8382
ButtonGroup(
83+
overflowIndicator = {},
8484
modifier = modifier,
8585
horizontalArrangement = Arrangement.spacedBy(ButtonGroupDefaults.ConnectedSpaceBetween),
8686
expandedRatio = 0f,
8787
) {
88-
ToggleButton(
89-
checked = selectedOptionIndex == 0,
90-
onCheckedChange = { onZoomLevelSelected(defaultZoomOptions[0]) },
91-
shapes = ButtonGroupDefaults.connectedLeadingButtonShapes(),
92-
colors = ToggleButtonDefaults.toggleButtonColors(),
93-
modifier = Modifier,
94-
) {
95-
val textLayoutResult = textMeasurer.measure("M.MX", LocalTextStyle.current)
96-
val width = with(LocalDensity.current) { textLayoutResult.size.width.toDp() }
97-
Text(options[0], Modifier.widthIn(min = width), textAlign = TextAlign.Center)
98-
}
99-
ToggleButton(
100-
checked = selectedOptionIndex == 1,
101-
onCheckedChange = { onZoomLevelSelected(defaultZoomOptions[1]) },
102-
shapes = ButtonGroupDefaults.connectedTrailingButtonShapes(),
103-
colors = ToggleButtonDefaults.toggleButtonColors(),
104-
modifier = Modifier,
105-
) {
106-
val textLayoutResult = textMeasurer.measure("M.MX", LocalTextStyle.current)
107-
val width = with(LocalDensity.current) { textLayoutResult.size.width.toDp() }
108-
Text(options[1], Modifier.widthIn(min = width), textAlign = TextAlign.Center)
109-
}
88+
customItem(
89+
buttonGroupContent = {
90+
ToggleButton(
91+
checked = selectedOptionIndex == 0,
92+
onCheckedChange = { onZoomLevelSelected(defaultZoomOptions[0]) },
93+
shapes = ButtonGroupDefaults.connectedLeadingButtonShapes(),
94+
colors = ToggleButtonDefaults.toggleButtonColors(),
95+
modifier = Modifier,
96+
) {
97+
Text(options[0], Modifier, textAlign = TextAlign.Center)
98+
}
99+
},
100+
menuContent = {},
101+
)
102+
customItem(
103+
buttonGroupContent = {
104+
ToggleButton(
105+
checked = selectedOptionIndex == 1,
106+
onCheckedChange = { onZoomLevelSelected(defaultZoomOptions[1]) },
107+
shapes = ButtonGroupDefaults.connectedTrailingButtonShapes(),
108+
colors = ToggleButtonDefaults.toggleButtonColors(),
109+
modifier = Modifier,
110+
) {
111+
Text(options[1], Modifier, textAlign = TextAlign.Center)
112+
}
113+
},
114+
menuContent = {},
115+
)
110116
}
111117
}
112118

feature/camera/src/main/java/com/android/developers/androidify/camera/xr/CameraLayoutSpatial.kt

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ import androidx.compose.runtime.Composable
2626
import androidx.compose.ui.Alignment
2727
import androidx.compose.ui.Modifier
2828
import androidx.compose.ui.unit.dp
29-
import androidx.xr.compose.spatial.ContentEdge
3029
import androidx.xr.compose.spatial.Orbiter
31-
import androidx.xr.compose.spatial.OrbiterOffsetType
30+
import androidx.xr.compose.spatial.OrbiterAnchorPoint
3231
import androidx.xr.compose.spatial.Subspace
3332
import androidx.xr.compose.subspace.SpatialPanel
3433
import androidx.xr.compose.subspace.layout.SubspaceModifier
3534
import androidx.xr.compose.subspace.layout.aspectRatio
3635
import androidx.xr.compose.subspace.layout.fillMaxSize
36+
import androidx.xr.compose.unit.DpVolumeOffset
3737
import com.android.developers.androidify.xr.MainPanelWorkaround
3838
import com.android.developers.androidify.xr.RequestHomeSpaceIconButton
3939

@@ -55,10 +55,8 @@ fun CameraLayoutSpatial(
5555
.aspectRatio(surfaceAspectRatio),
5656
) {
5757
Orbiter(
58-
position = ContentEdge.Top,
59-
offsetType = OrbiterOffsetType.InnerEdge,
60-
offset = 32.dp,
61-
alignment = Alignment.End,
58+
anchorPoint = OrbiterAnchorPoint.TopEnd,
59+
offset = DpVolumeOffset(x = (-32).dp, y = (-32).dp),
6260
) {
6361
RequestHomeSpaceIconButton(
6462
modifier = Modifier
@@ -69,13 +67,19 @@ fun CameraLayoutSpatial(
6967
),
7068
)
7169
}
72-
Orbiter(ContentEdge.Start, offsetType = OrbiterOffsetType.InnerEdge, offset = 16.dp) {
70+
Orbiter(
71+
anchorPoint = OrbiterAnchorPoint.Start,
72+
offset = DpVolumeOffset(x = 16.dp),
73+
) {
7374
Column(horizontalAlignment = Alignment.CenterHorizontally) {
7475
captureButton(Modifier)
7576
flipCameraButton(Modifier)
7677
}
7778
}
78-
Orbiter(ContentEdge.Bottom, offsetType = OrbiterOffsetType.InnerEdge) {
79+
Orbiter(
80+
anchorPoint = OrbiterAnchorPoint.Bottom,
81+
offset = DpVolumeOffset(y = 16.dp),
82+
) {
7983
zoomButton(Modifier)
8084
}
8185
Box(Modifier.fillMaxSize()) {

feature/creation/src/main/java/com/android/developers/androidify/creation/EditScreenCompact.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ import androidx.compose.material3.ExperimentalMaterial3Api
4444
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
4545
import androidx.compose.material3.MaterialTheme
4646
import androidx.compose.material3.ModalBottomSheet
47+
import androidx.compose.material3.SheetValue
4748
import androidx.compose.material3.SnackbarHostState
48-
import androidx.compose.material3.rememberModalBottomSheetState
49+
import androidx.compose.material3.rememberBottomSheetState
4950
import androidx.compose.runtime.Composable
5051
import androidx.compose.runtime.getValue
5152
import androidx.compose.runtime.mutableStateOf
@@ -134,7 +135,10 @@ private fun BotColorPickerBottomSheet(
134135
listBotColors: List<BotColor>,
135136
selectedBotColor: BotColor,
136137
) {
137-
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
138+
val sheetState = rememberBottomSheetState(
139+
initialValue = SheetValue.Hidden,
140+
enabledValues = setOf(SheetValue.Hidden, SheetValue.Expanded),
141+
)
138142
if (showColorPickerBottomSheet) {
139143
ModalBottomSheet(
140144
modifier = Modifier,

feature/creation/src/main/java/com/android/developers/androidify/creation/xr/EditScreenSpatial.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ import androidx.compose.foundation.layout.padding
2626
import androidx.compose.material3.MaterialTheme
2727
import androidx.compose.material3.SnackbarHostState
2828
import androidx.compose.runtime.Composable
29-
import androidx.compose.ui.Alignment
3029
import androidx.compose.ui.Modifier
3130
import androidx.compose.ui.res.stringResource
3231
import androidx.compose.ui.unit.dp
33-
import androidx.xr.compose.spatial.ContentEdge
3432
import androidx.xr.compose.spatial.Orbiter
33+
import androidx.xr.compose.spatial.OrbiterAnchorPoint
3534
import androidx.xr.compose.subspace.SpatialColumn
3635
import androidx.xr.compose.subspace.SpatialPanel
3736
import androidx.xr.compose.subspace.SpatialRow
@@ -41,6 +40,7 @@ import androidx.xr.compose.subspace.layout.fillMaxHeight
4140
import androidx.xr.compose.subspace.layout.fillMaxWidth
4241
import androidx.xr.compose.subspace.layout.offset
4342
import androidx.xr.compose.subspace.layout.width
43+
import androidx.xr.compose.unit.DpVolumeOffset
4444
import com.android.developers.androidify.creation.AndroidBotColorPicker
4545
import com.android.developers.androidify.creation.BotColor
4646
import com.android.developers.androidify.creation.CreationState
@@ -165,9 +165,8 @@ fun EditScreenSpatial(
165165
}
166166

167167
Orbiter(
168-
position = ContentEdge.Bottom,
169-
alignment = Alignment.End,
170-
offset = 16.dp,
168+
anchorPoint = OrbiterAnchorPoint.BottomEnd,
169+
offset = DpVolumeOffset(x = (-16).dp, y = (-16).dp),
171170
) {
172171
TransformButton(
173172
buttonText = stringResource(CreationR.string.start_transformation_button),

feature/creation/src/main/java/com/android/developers/androidify/creation/xr/LoadingScreenSpatial.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ import androidx.compose.ui.Alignment
2727
import androidx.compose.ui.Modifier
2828
import androidx.compose.ui.graphics.Color
2929
import androidx.compose.ui.unit.dp
30-
import androidx.xr.compose.spatial.ContentEdge
3130
import androidx.xr.compose.spatial.Orbiter
32-
import androidx.xr.compose.spatial.OrbiterOffsetType
31+
import androidx.xr.compose.spatial.OrbiterAnchorPoint
3332
import androidx.xr.compose.subspace.SpatialPanel
3433
import androidx.xr.compose.subspace.layout.SubspaceModifier
3534
import androidx.xr.compose.subspace.layout.fillMaxHeight
3635
import androidx.xr.compose.subspace.layout.fillMaxWidth
3736
import androidx.xr.compose.subspace.layout.offset
37+
import androidx.xr.compose.unit.DpVolumeOffset
3838
import com.android.developers.androidify.creation.LoadingScreenContents
3939
import com.android.developers.androidify.creation.LoadingScreenScaffold
4040
import com.android.developers.androidify.theme.AndroidifyTheme
@@ -59,10 +59,8 @@ fun LoadingScreenSpatial(
5959
drawable = CreationR.drawable.squiggle_light,
6060
) {
6161
Orbiter(
62-
position = ContentEdge.Top,
63-
offsetType = OrbiterOffsetType.OuterEdge,
64-
offset = 32.dp,
65-
alignment = Alignment.End,
62+
anchorPoint = OrbiterAnchorPoint.TopEnd,
63+
offset = DpVolumeOffset(x = (-32).dp, y = 32.dp),
6664
) {
6765
RequestHomeSpaceIconButton(
6866
modifier = Modifier

0 commit comments

Comments
 (0)