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

Commit abda7860 authored by Bryce Lee's avatar Bryce Lee
Browse files

Update Edit Mode Buttons.

This changelist updates the edit mode buttons:
- Updated iconography
- Remove button presence is modal
- Remove button has been centered and filled in.

Test: manual
Fixes: 339667940
Fixes: 330909503
Flag: ACONFIG com.android.systemui.communal_hub TEAMFOOD
Change-Id: I8c19d92533304d3b75a167b2baa47a21eee2cbf9
parent 870ef0ac
Loading
Loading
Loading
Loading
+36 −48
Original line number Diff line number Diff line
@@ -59,7 +59,8 @@ import androidx.compose.foundation.lazy.grid.rememberLazyGridState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.outlined.Delete
import androidx.compose.material.icons.filled.Check
import androidx.compose.material.icons.filled.Close
import androidx.compose.material.icons.outlined.Edit
import androidx.compose.material.icons.outlined.TouchApp
import androidx.compose.material.icons.outlined.Widgets
@@ -277,7 +278,6 @@ fun CommunalHub(

        if (viewModel.isEditMode && onOpenWidgetPicker != null && onEditDone != null) {
            Toolbar(
                isDraggingToRemove = isDraggingToRemove,
                setToolbarSize = { toolbarSize = it },
                setRemoveButtonCoordinates = { removeButtonCoordinates = it },
                onEditDone = onEditDone,
@@ -577,7 +577,6 @@ private fun LockStateIcon(
 */
@Composable
private fun Toolbar(
    isDraggingToRemove: Boolean,
    removeEnabled: Boolean,
    onRemoveClicked: () -> Unit,
    setToolbarSize: (toolbarSize: IntSize) -> Unit,
@@ -591,7 +590,7 @@ private fun Toolbar(
            label = "RemoveButtonAlphaAnimation"
        )

    Row(
    Box(
        modifier =
            Modifier.fillMaxWidth()
                .padding(
@@ -600,11 +599,12 @@ private fun Toolbar(
                    end = Dimensions.ToolbarPaddingHorizontal,
                )
                .onSizeChanged { setToolbarSize(it) },
        horizontalArrangement = Arrangement.SpaceBetween,
        verticalAlignment = Alignment.CenterVertically
    ) {
        val spacerModifier = Modifier.width(ButtonDefaults.IconSpacing)

        if (!removeEnabled) {
            Button(
                modifier = Modifier.align(Alignment.CenterStart),
                onClick = onOpenWidgetPicker,
                colors = filledButtonColors(),
                contentPadding = Dimensions.ButtonPadding
@@ -615,53 +615,41 @@ private fun Toolbar(
                    text = stringResource(R.string.hub_mode_add_widget_button_text),
                )
            }
        }

        val colors = LocalAndroidColorScheme.current
        if (isDraggingToRemove) {
        if (removeEnabled) {
            Button(
                // Button is disabled to make it non-clickable
                enabled = false,
                onClick = {},
                colors =
                    ButtonDefaults.buttonColors(
                        disabledContainerColor = colors.primary,
                        disabledContentColor = colors.onPrimary,
                    ),
                contentPadding = Dimensions.ButtonPadding,
                modifier = Modifier.onGloballyPositioned { setRemoveButtonCoordinates(it) }
            ) {
                RemoveButtonContent(spacerModifier)
            }
        } else {
            OutlinedButton(
                enabled = removeEnabled,
                onClick = onRemoveClicked,
                colors =
                    ButtonDefaults.outlinedButtonColors(
                        contentColor = colors.primary,
                        disabledContentColor = colors.primary
                    ),
                border = BorderStroke(width = 1.0.dp, color = colors.primary),
                colors = filledButtonColors(),
                contentPadding = Dimensions.ButtonPadding,
                modifier =
                    Modifier.graphicsLayer { alpha = removeButtonAlpha }
                        .onGloballyPositioned { setRemoveButtonCoordinates(it) }
                        .align(Alignment.Center)
            ) {
                RemoveButtonContent(spacerModifier)
            }
        }

        if (!removeEnabled) {
            Button(
                modifier = Modifier.align(Alignment.CenterEnd),
                onClick = onEditDone,
                colors = filledButtonColors(),
                contentPadding = Dimensions.ButtonPadding
            ) {
                Icon(
                    Icons.Default.Check,
                    stringResource(id = R.string.hub_mode_editing_exit_button_text)
                )
                Spacer(spacerModifier)
                Text(
                    text = stringResource(R.string.hub_mode_editing_exit_button_text),
                )
            }
        }
    }
}

@OptIn(ExperimentalAnimationApi::class)
@Composable
@@ -762,7 +750,7 @@ private fun PopupOnDismissCtaTile(onHidePopup: () -> Unit) {

@Composable
private fun RemoveButtonContent(spacerModifier: Modifier) {
    Icon(Icons.Outlined.Delete, stringResource(R.string.button_to_remove_widget))
    Icon(Icons.Default.Close, stringResource(R.string.button_to_remove_widget))
    Spacer(spacerModifier)
    Text(
        text = stringResource(R.string.button_to_remove_widget),