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

Commit 1c4bfb04 authored by Olivier St-Onge's avatar Olivier St-Onge
Browse files

Auto scroll to the top when dragging a tile in Edit mode

Also fixes scrolling for Edit mode

Test: Manually
Flag: com.android.systemui.qs_ui_refactor_compose_fragment
Fixes: 346990572
Change-Id: Ibe78013cdec8ba25c6d3d16c7a0aadca266a6ec9
parent b11645ae
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -221,7 +221,7 @@ constructor(
                { notificationScrimClippingParams.params.top },
                // Only allow scrolling when we are fully expanded. That way, we don't intercept
                // swipes in lockscreen (when somehow QS is receiving touches).
                { scrollState.canScrollForward && viewModel.isQsFullyExpanded },
                { (scrollState.canScrollForward && viewModel.isQsFullyExpanded) || isCustomizing },
            )
        frame.addView(
            composeView,
+8 −5
Original line number Diff line number Diff line
@@ -202,14 +202,17 @@ fun DefaultEditTileGrid(
        topBar = { EditModeTopBar(onStopEditing = onStopEditing, onReset = reset) },
    ) { innerPadding ->
        CompositionLocalProvider(LocalOverscrollConfiguration provides null) {
            val scrollState = rememberScrollState()
            LaunchedEffect(listState.dragInProgress) {
                if (listState.dragInProgress) {
                    scrollState.animateScrollTo(0)
                }
            }

            Column(
                verticalArrangement =
                    spacedBy(dimensionResource(id = R.dimen.qs_label_container_margin)),
                modifier =
                    modifier
                        .fillMaxSize()
                        .verticalScroll(rememberScrollState())
                        .padding(innerPadding),
                modifier = modifier.fillMaxSize().verticalScroll(scrollState).padding(innerPadding),
            ) {
                AnimatedContent(
                    targetState = listState.dragInProgress,