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

Commit 302573ed authored by Bryce Lee's avatar Bryce Lee Committed by Android (Google) Code Review
Browse files

Merge "Adjust edit mode selection behavior." into main

parents 39519ab2 efd8239c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1870,6 +1870,13 @@ flag {
    bug: "381864715"
}

flag {
   name: "hub_edit_mode_touch_adjustments"
   namespace: "systemui"
   description: "Makes selected widget toggleable in edit mode and modifier buttons mutually exclusive."
   bug: "383160667"
}

flag {
   name: "glanceable_hub_direct_edit_mode"
   namespace: "systemui"
+35 −11
Original line number Diff line number Diff line
@@ -296,9 +296,19 @@ fun CommunalHub(
                                    offset.y,
                                ) - contentOffset
                            val index = firstIndexAtOffset(gridState, adjustedOffset)
                            val key =
                            val tappedKey =
                                index?.let { keyAtIndexIfEditable(contentListState.list, index) }
                            viewModel.setSelectedKey(key)

                            viewModel.setSelectedKey(
                                if (
                                    Flags.hubEditModeTouchAdjustments() &&
                                        selectedKey.value == tappedKey
                                ) {
                                    null
                                } else {
                                    tappedKey
                                }
                            )
                        }
                    }
                }
@@ -1080,6 +1090,8 @@ private fun Toolbar(
                .onSizeChanged { setToolbarSize(it) }
    ) {
        val addWidgetText = stringResource(R.string.hub_mode_add_widget_button_text)

        if (!(Flags.hubEditModeTouchAdjustments() && removeEnabled)) {
            ToolbarButton(
                isPrimary = !removeEnabled,
                modifier = Modifier.align(Alignment.CenterStart),
@@ -1088,9 +1100,17 @@ private fun Toolbar(
                Icon(Icons.Default.Add, null)
                Text(text = addWidgetText)
            }
        }

        AnimatedVisibility(
            modifier = Modifier.align(Alignment.Center),
            modifier =
                Modifier.align(
                    if (Flags.hubEditModeTouchAdjustments()) {
                        Alignment.CenterStart
                    } else {
                        Alignment.Center
                    }
                ),
            visible = removeEnabled,
            enter = fadeIn(),
            exit = fadeOut(),
@@ -1113,7 +1133,11 @@ private fun Toolbar(
                    horizontalArrangement =
                        Arrangement.spacedBy(
                            ButtonDefaults.IconSpacing,
                            Alignment.CenterHorizontally,
                            if (Flags.hubEditModeTouchAdjustments()) {
                                Alignment.Start
                            } else {
                                Alignment.CenterHorizontally
                            },
                        ),
                    verticalAlignment = Alignment.CenterVertically,
                ) {