diff --git a/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestSceneScope.kt b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestSceneScope.kt new file mode 100644 index 0000000000000000000000000000000000000000..de46f7209c84d5ef6b959afc3bc33794af7760e7 --- /dev/null +++ b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestSceneScope.kt @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.compose.animation.scene + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier + +/** `SceneScope` for tests, which allows a single scene to be drawn in a [SceneTransitionLayout]. */ +@Composable +fun TestSceneScope( + modifier: Modifier = Modifier, + content: @Composable SceneScope.() -> Unit, +) { + val currentScene = remember { SceneKey("current") } + SceneTransitionLayout( + currentScene, + onChangeScene = { /* do nothing */}, + transitions = remember { transitions {} }, + modifier, + ) { + scene(currentScene, content = content) + } +} diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneTestUtils.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneTestUtils.kt index 10110e219d213a965a90a95abf69982fb24c4f34..f97d6b3d262f28b7c000d0031323c759508a0104 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneTestUtils.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneTestUtils.kt @@ -16,6 +16,7 @@ package com.android.systemui.scene +import android.content.Context import android.content.pm.UserInfo import android.graphics.Bitmap import android.graphics.drawable.BitmapDrawable @@ -81,8 +82,10 @@ import kotlinx.coroutines.test.currentTime */ @OptIn(ExperimentalCoroutinesApi::class) class SceneTestUtils( - test: SysuiTestCase, + private val context: Context, ) { + constructor(test: SysuiTestCase) : this(context = test.context) + val kosmos = Kosmos() val testDispatcher = kosmos.testDispatcher val testScope = kosmos.testScope @@ -115,8 +118,6 @@ class SceneTestUtils( } } - private val context = test.context - private val falsingCollectorFake: FalsingCollector by lazy { FalsingCollectorFake() } private var falsingInteractor: FalsingInteractor? = null