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

Commit 73821a2c authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Recompose sized tiles in InfiniteGrid when the large tiles set changes" into main

parents cb8f8cec 2ee96faa
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -78,8 +78,15 @@ constructor(
            }

        val columns = columnsWithMediaViewModel.columns
        val largeTiles by iconTilesViewModel.largeTilesState
        val largeTilesSpan by iconTilesViewModel.largeTilesSpanState
        val sizedTiles = tiles.map { SizedTileImpl(it, it.spec.width(largeTilesSpan)) }
        // Tiles or largeTiles may be updated while this is composed, so listen to any changes
        val sizedTiles =
            remember(tiles, largeTiles, largeTilesSpan) {
                tiles.map {
                    SizedTileImpl(it, if (largeTiles.contains(it.spec)) largeTilesSpan else 1)
                }
            }
        val bounceables =
            remember(sizedTiles) { List(sizedTiles.size) { BounceableTileViewModel() } }
        val squishiness by viewModel.squishinessViewModel.squishiness.collectAsStateWithLifecycle()
+3 −0
Original line number Diff line number Diff line
@@ -35,6 +35,9 @@ constructor(
    private val hydrator = Hydrator("DynamicIconTilesViewModel")
    private val interactor = interactorFactory.create()

    val largeTilesState =
        hydrator.hydratedStateOf(traceName = "largeTiles", source = iconTilesViewModel.largeTiles)

    val largeTilesSpanState =
        hydrator.hydratedStateOf(
            traceName = "largeTilesSpan",