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

Commit bc5e0aac authored by Behnam Heydarshahi's avatar Behnam Heydarshahi
Browse files

Set longpress label for small tile to open dialog

Flag: EXEMPT bugfix
Fixes: 422985802
Test: manual. Turn on TalkBack, navigate to small Flashlight tile.
      Talkback should say longpress to open dialog. Same with small Modes tile.
Change-Id: I1fc8d185c8a7ed8fe1d3f294c189ec771b01f70a
parent 0897f1f0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2532,6 +2532,9 @@
    <!-- Accessibility description for long click on a quick settings tile - this is used in the
         context of the sentence "double tap and hold to _Open settings_" [CHAR LIMIT=NONE] -->
    <string name="accessibility_long_click_tile">Open settings</string>
    <!-- Accessibility description for long click on a quick settings tile - this is used in the
     context of the sentence "double tap and hold to _Open more details_" [CHAR LIMIT=NONE] -->
    <string name="accessibility_long_click_tile_details">Open more details</string>

    <!-- Accessibility description of headphones icon [CHAR LIMIT=NONE] -->
    <string name="accessibility_status_bar_headphones">Headphones connected</string>
+8 −4
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@ import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.BasicText
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
@@ -104,7 +103,7 @@ import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.TileEndPadding
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.TileLabelBlurWidth
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.TileStartPadding
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.longPressLabel
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.longPressLabelSettings
import com.android.systemui.qs.panels.ui.viewmodel.AccessibilityUiState
import com.android.systemui.qs.ui.compose.borderOnFocus
import com.android.systemui.res.R
@@ -137,7 +136,7 @@ fun LargeTileContent(
        modifier = modifier,
    ) {
        // Icon
        val longPressLabel = longPressLabel().takeIf { onLongClick != null }
        val longPressLabel = longPressLabelSettings().takeIf { onLongClick != null }
        val animatedBackgroundColor by
            animateColorAsState(colors.iconBackground, label = "QSTileDualTargetBackgroundColor")
        val focusBorderColor = MaterialTheme.colorScheme.secondary
@@ -422,7 +421,12 @@ object CommonTileDefaults {
    const val TILE_MARQUEE_ITERATIONS = 1
    const val TILE_INITIAL_DELAY_MILLIS = 2000

    @Composable fun longPressLabel() = stringResource(id = R.string.accessibility_long_click_tile)
    @Composable
    fun longPressLabelSettings() = stringResource(id = R.string.accessibility_long_click_tile)

    @Composable
    fun longPressLabelMoreDetails() =
        stringResource(id = R.string.accessibility_long_click_tile_details)
}

/** Same as Image, but it doesn't clip its content. */
+4 −2
Original line number Diff line number Diff line
@@ -92,7 +92,8 @@ import com.android.systemui.qs.flags.QsDetailedView
import com.android.systemui.qs.panels.ui.compose.BounceableInfo
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.InactiveCornerRadius
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.TileHeight
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.longPressLabel
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.longPressLabelMoreDetails
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.longPressLabelSettings
import com.android.systemui.qs.panels.ui.viewmodel.AccessibilityUiState
import com.android.systemui.qs.panels.ui.viewmodel.DetailsViewModel
import com.android.systemui.qs.panels.ui.viewmodel.IconProvider
@@ -397,7 +398,8 @@ fun Modifier.tileCombinedClickable(
    iconOnly: Boolean,
    isDualTarget: Boolean,
): Modifier {
    val longPressLabel = longPressLabel()
    val longPressLabel =
        if (iconOnly && isDualTarget) longPressLabelMoreDetails() else longPressLabelSettings()
    return combinedClickable(
            onClick = onClick,
            onLongClick = onLongClick,