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

Commit 10e7f3ed authored by Olivier St-Onge's avatar Olivier St-Onge Committed by Android (Google) Code Review
Browse files

Merge "Add the side icon to QS tiles" into main

parents b487583a 5984dac2
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.qs.panels.ui.compose.infinitegrid

import android.graphics.drawable.Animatable
import android.graphics.drawable.Drawable
import android.text.TextUtils
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi
@@ -30,7 +31,9 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.BasicText
import androidx.compose.material3.MaterialTheme
@@ -68,6 +71,8 @@ import com.android.systemui.common.shared.model.Icon
import com.android.systemui.common.ui.compose.Icon
import com.android.systemui.common.ui.compose.load
import com.android.systemui.compose.modifiers.sysuiResTag
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.SideIconHeight
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.SideIconWidth
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.longPressLabel
import com.android.systemui.qs.panels.ui.viewmodel.AccessibilityUiState
import com.android.systemui.res.R
@@ -79,6 +84,7 @@ fun LargeTileContent(
    label: String,
    secondaryLabel: String?,
    icon: Icon,
    sideDrawable: Drawable?,
    colors: TileColors,
    squishiness: () -> Float,
    accessibilityUiState: AccessibilityUiState? = null,
@@ -135,6 +141,14 @@ fun LargeTileContent(
            colors = colors,
            accessibilityUiState = accessibilityUiState,
        )

        if (sideDrawable != null) {
            Image(
                painter = rememberDrawablePainter(sideDrawable),
                contentDescription = null,
                modifier = Modifier.width(SideIconWidth).height(SideIconHeight),
            )
        }
    }
}

@@ -229,6 +243,8 @@ fun SmallTileContent(
object CommonTileDefaults {
    val IconSize = 32.dp
    val LargeTileIconSize = 28.dp
    val SideIconWidth = 32.dp
    val SideIconHeight = 20.dp
    val ToggleTargetSize = 56.dp
    val TileHeight = 72.dp
    val TilePadding = 8.dp
+1 −0
Original line number Diff line number Diff line
@@ -199,6 +199,7 @@ fun Tile(
                    label = uiState.label,
                    secondaryLabel = uiState.secondaryLabel,
                    icon = icon,
                    sideDrawable = uiState.sideDrawable,
                    colors = colors,
                    iconShape = iconShape,
                    toggleClick = secondaryClick,
+3 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.qs.panels.ui.viewmodel

import android.content.res.Resources
import android.graphics.drawable.Drawable
import android.service.quicksettings.Tile
import android.text.TextUtils
import android.widget.Switch
@@ -36,6 +37,7 @@ data class TileUiState(
    val handlesLongClick: Boolean,
    val handlesSecondaryClick: Boolean,
    val icon: Supplier<QSTile.Icon?>,
    val sideDrawable: Drawable?,
    val accessibilityUiState: AccessibilityUiState,
)

@@ -90,6 +92,7 @@ fun QSTile.State.toUiState(resources: Resources): TileUiState {
        handlesLongClick = handlesLongClick,
        handlesSecondaryClick = handlesSecondaryClick,
        icon = icon?.let { Supplier { icon } } ?: iconSupplier ?: Supplier { null },
        sideDrawable = sideViewCustomDrawable,
        AccessibilityUiState(
            contentDescription?.toString() ?: "",
            stateDescription.toString(),