Loading packages/SystemUI/res/values/strings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -709,6 +709,13 @@ <!-- Content description of the display brightness slider (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_brightness">Display brightness</string> <!-- Content description for AV chip when camera is in use.--> <string name="accessibility_camera_in_use">Camera in use</string> <!-- Content description for AV chip when microphone is in use.--> <string name="accessibility_microphone_in_use">Microphone in use</string> <!-- Content description for AV chip when microphone is in use.--> <string name="accessibility_camera_and_microphone_in_use">Camera and microphone in use</string> <!-- Content description of the charging indicator on Ambient Display (lower-power version of the lock screen). [CHAR LIMIT=NONE] --> <!-- Title of dialog shown when mobile data usage has exceeded limit and has been disabled. [CHAR LIMIT=48] --> Loading packages/SystemUI/src/com/android/systemui/statusbar/featurepods/av/ui/viewmodel/AvControlsChipViewModel.kt +14 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.systemui.statusbar.featurepods.av.ui.viewmodel import android.content.Context import androidx.compose.runtime.getValue import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.shared.model.ContentDescription.Companion.loadContentDescription import com.android.systemui.common.shared.model.Icon import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.lifecycle.ExclusiveActivatable Loading @@ -40,7 +42,7 @@ import kotlinx.coroutines.flow.map class AvControlsChipViewModel @AssistedInject constructor( @Application applicationContext: Context, @Application val applicationContext: Context, avControlsChipInteractor: AvControlsChipInteractor, ) : StatusBarPopupChipViewModel, ExclusiveActivatable() { companion object { Loading Loading @@ -73,10 +75,21 @@ constructor( chipText = null, colors = ColorsModel.AvControlsTheme, hoverBehavior = HoverBehavior.None, contentDescription = contentDescription(sensorActivityModel = sensorActivityModel), ) } } private fun contentDescription(sensorActivityModel: SensorActivityModel.Active): String? = when (sensorActivityModel.sensors) { SensorActivityModel.Active.Sensors.CAMERA -> R.string.accessibility_camera_in_use SensorActivityModel.Active.Sensors.MICROPHONE -> R.string.accessibility_microphone_in_use SensorActivityModel.Active.Sensors.CAMERA_AND_MICROPHONE -> R.string.accessibility_camera_and_microphone_in_use }.let { ContentDescription.Resource(it).loadContentDescription(applicationContext) } private fun icons(sensorActivityModel: SensorActivityModel.Active): List<ChipIcon> = when (sensorActivityModel.sensors) { SensorActivityModel.Active.Sensors.CAMERA -> listOf(CAMERA_DRAWABLE) Loading packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChip.kt +14 −7 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ import androidx.compose.ui.graphics.CompositingStrategy import androidx.compose.ui.layout.layout import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.rememberTextMeasurer import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp Loading Loading @@ -90,7 +92,12 @@ fun StatusBarPopupChip( Box( contentAlignment = Alignment.Center, modifier = modifier.minimumInteractiveComponentSize().thenIf(!isPopupShown) { modifier .minimumInteractiveComponentSize() .thenIf(viewModel.contentDescription != null) { Modifier.semantics { contentDescription = viewModel.contentDescription!! } } .thenIf(!isPopupShown) { Modifier.clickable( onClick = { viewModel.showPopup() }, indication = null, Loading packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/model/PopupChipModel.kt +1 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ sealed class PopupChipModel { val showPopup: () -> Unit = {}, val hidePopup: () -> Unit = {}, val hoverBehavior: HoverBehavior = HoverBehavior.None, val contentDescription: String? = null, ) : PopupChipModel() { override val logName = "Shown(id=$chipId, toggled=$isPopupShown)" } Loading Loading
packages/SystemUI/res/values/strings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -709,6 +709,13 @@ <!-- Content description of the display brightness slider (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_brightness">Display brightness</string> <!-- Content description for AV chip when camera is in use.--> <string name="accessibility_camera_in_use">Camera in use</string> <!-- Content description for AV chip when microphone is in use.--> <string name="accessibility_microphone_in_use">Microphone in use</string> <!-- Content description for AV chip when microphone is in use.--> <string name="accessibility_camera_and_microphone_in_use">Camera and microphone in use</string> <!-- Content description of the charging indicator on Ambient Display (lower-power version of the lock screen). [CHAR LIMIT=NONE] --> <!-- Title of dialog shown when mobile data usage has exceeded limit and has been disabled. [CHAR LIMIT=48] --> Loading
packages/SystemUI/src/com/android/systemui/statusbar/featurepods/av/ui/viewmodel/AvControlsChipViewModel.kt +14 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.systemui.statusbar.featurepods.av.ui.viewmodel import android.content.Context import androidx.compose.runtime.getValue import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.shared.model.ContentDescription.Companion.loadContentDescription import com.android.systemui.common.shared.model.Icon import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.lifecycle.ExclusiveActivatable Loading @@ -40,7 +42,7 @@ import kotlinx.coroutines.flow.map class AvControlsChipViewModel @AssistedInject constructor( @Application applicationContext: Context, @Application val applicationContext: Context, avControlsChipInteractor: AvControlsChipInteractor, ) : StatusBarPopupChipViewModel, ExclusiveActivatable() { companion object { Loading Loading @@ -73,10 +75,21 @@ constructor( chipText = null, colors = ColorsModel.AvControlsTheme, hoverBehavior = HoverBehavior.None, contentDescription = contentDescription(sensorActivityModel = sensorActivityModel), ) } } private fun contentDescription(sensorActivityModel: SensorActivityModel.Active): String? = when (sensorActivityModel.sensors) { SensorActivityModel.Active.Sensors.CAMERA -> R.string.accessibility_camera_in_use SensorActivityModel.Active.Sensors.MICROPHONE -> R.string.accessibility_microphone_in_use SensorActivityModel.Active.Sensors.CAMERA_AND_MICROPHONE -> R.string.accessibility_camera_and_microphone_in_use }.let { ContentDescription.Resource(it).loadContentDescription(applicationContext) } private fun icons(sensorActivityModel: SensorActivityModel.Active): List<ChipIcon> = when (sensorActivityModel.sensors) { SensorActivityModel.Active.Sensors.CAMERA -> listOf(CAMERA_DRAWABLE) Loading
packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChip.kt +14 −7 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ import androidx.compose.ui.graphics.CompositingStrategy import androidx.compose.ui.layout.layout import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.rememberTextMeasurer import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp Loading Loading @@ -90,7 +92,12 @@ fun StatusBarPopupChip( Box( contentAlignment = Alignment.Center, modifier = modifier.minimumInteractiveComponentSize().thenIf(!isPopupShown) { modifier .minimumInteractiveComponentSize() .thenIf(viewModel.contentDescription != null) { Modifier.semantics { contentDescription = viewModel.contentDescription!! } } .thenIf(!isPopupShown) { Modifier.clickable( onClick = { viewModel.showPopup() }, indication = null, Loading
packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/model/PopupChipModel.kt +1 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ sealed class PopupChipModel { val showPopup: () -> Unit = {}, val hidePopup: () -> Unit = {}, val hoverBehavior: HoverBehavior = HoverBehavior.None, val contentDescription: String? = null, ) : PopupChipModel() { override val logName = "Shown(id=$chipId, toggled=$isPopupShown)" } Loading