Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc88750c authored by Ale Nijamkin's avatar Ale Nijamkin Committed by Automerger Merge Worker
Browse files

Merge "[flexiglass] Fixes compose-enabled sysuig build." into udc-dev am: 72ac3c9c am: e0b27bf7

parents 3cdab6e8 e0b27bf7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package com.android.systemui.scene.shared.page
package com.android.systemui.scene.ui.composable

import com.android.systemui.scene.shared.model.Scene
import dagger.Module
+2 −2
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
package com.android.systemui.scene.ui.composable

import com.android.systemui.bouncer.ui.composable.BouncerScene
import com.android.systemui.keyguard.ui.composable.LockScreenScene
import com.android.systemui.keyguard.ui.composable.LockscreenScene
import com.android.systemui.qs.ui.composable.QuickSettingsScene
import com.android.systemui.scene.shared.model.Scene
import com.android.systemui.shade.ui.composable.ShadeScene
@@ -30,7 +30,7 @@ object SceneModule {
    fun scenes(
        bouncer: BouncerScene,
        gone: GoneScene,
        lockScreen: LockScreenScene,
        lockScreen: LockscreenScene,
        qs: QuickSettingsScene,
        shade: ShadeScene,
    ): Set<Scene> {
+9 −3
Original line number Diff line number Diff line
@@ -55,11 +55,13 @@ import kotlinx.coroutines.flow.asStateFlow
class BouncerScene
@Inject
constructor(
    private val viewModel: BouncerViewModel,
    private val viewModelFactory: BouncerViewModel.Factory,
) : ComposableScene {
    override val key = SceneKey.Bouncer

    override fun destinationScenes(): StateFlow<Map<UserAction, SceneModel>> =
    override fun destinationScenes(
        containerName: String,
    ): StateFlow<Map<UserAction, SceneModel>> =
        MutableStateFlow<Map<UserAction, SceneModel>>(
                mapOf(
                    UserAction.Back to SceneModel(SceneKey.Lockscreen),
@@ -67,7 +69,11 @@ constructor(
            )
            .asStateFlow()

    @Composable override fun Content(modifier: Modifier) = BouncerScene(viewModel, modifier)
    @Composable
    override fun Content(
        containerName: String,
        modifier: Modifier,
    ) = BouncerScene(viewModelFactory.create(containerName), modifier)
}

@Composable
+24 −10
Original line number Diff line number Diff line
@@ -52,11 +52,16 @@ class LockscreenScene
@Inject
constructor(
    @Application private val applicationScope: CoroutineScope,
    private val viewModel: LockscreenSceneViewModel,
    private val viewModelFactory: LockscreenSceneViewModel.Factory,
) : ComposableScene {
    override val key = SceneKey.Lockscreen

    override fun destinationScenes(): StateFlow<Map<UserAction, SceneModel>> =
    private var unsafeViewModel: LockscreenSceneViewModel? = null

    override fun destinationScenes(
        containerName: String,
    ): StateFlow<Map<UserAction, SceneModel>> =
        getOrCreateViewModelSingleton(containerName).let { viewModel ->
            viewModel.upDestinationSceneKey
                .map { pageKey -> destinationScenes(up = pageKey) }
                .stateIn(
@@ -64,13 +69,15 @@ constructor(
                    started = SharingStarted.Eagerly,
                    initialValue = destinationScenes(up = viewModel.upDestinationSceneKey.value)
                )
        }

    @Composable
    override fun Content(
        containerName: String,
        modifier: Modifier,
    ) {
        LockscreenScene(
            viewModel = viewModel,
            viewModel = getOrCreateViewModelSingleton(containerName),
            modifier = modifier,
        )
    }
@@ -83,6 +90,13 @@ constructor(
            UserAction.Swipe(Direction.DOWN) to SceneModel(SceneKey.Shade)
        )
    }

    private fun getOrCreateViewModelSingleton(
        containerName: String,
    ): LockscreenSceneViewModel {
        return unsafeViewModel
            ?: viewModelFactory.create(containerName).also { unsafeViewModel = it }
    }
}

@Composable
+6 −3
Original line number Diff line number Diff line
@@ -44,11 +44,13 @@ import kotlinx.coroutines.flow.asStateFlow
class QuickSettingsScene
@Inject
constructor(
    private val viewModel: QuickSettingsSceneViewModel,
    private val viewModelFactory: QuickSettingsSceneViewModel.Factory,
) : ComposableScene {
    override val key = SceneKey.QuickSettings

    override fun destinationScenes(): StateFlow<Map<UserAction, SceneModel>> =
    override fun destinationScenes(
        containerName: String,
    ): StateFlow<Map<UserAction, SceneModel>> =
        MutableStateFlow<Map<UserAction, SceneModel>>(
                mapOf(
                    UserAction.Swipe(Direction.UP) to SceneModel(SceneKey.Shade),
@@ -58,10 +60,11 @@ constructor(

    @Composable
    override fun Content(
        containerName: String,
        modifier: Modifier,
    ) {
        QuickSettingsScene(
            viewModel = viewModel,
            viewModel = viewModelFactory.create(containerName),
            modifier = modifier,
        )
    }
Loading