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

Commit c2cd7abd authored by Haijie Hong's avatar Haijie Hong Committed by Android (Google) Code Review
Browse files

Merge "Add UiEvent for new VolumePanel" into main

parents dc9f6119 3216f9ea
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -28,11 +28,13 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextAlign
import androidx.slice.Slice
import androidx.slice.Slice
import com.android.internal.logging.UiEventLogger
import com.android.systemui.animation.Expandable
import com.android.systemui.animation.Expandable
import com.android.systemui.res.R
import com.android.systemui.res.R
import com.android.systemui.statusbar.phone.SystemUIDialog
import com.android.systemui.statusbar.phone.SystemUIDialog
import com.android.systemui.volume.panel.component.anc.ui.viewmodel.AncViewModel
import com.android.systemui.volume.panel.component.anc.ui.viewmodel.AncViewModel
import com.android.systemui.volume.panel.component.popup.ui.composable.VolumePanelPopup
import com.android.systemui.volume.panel.component.popup.ui.composable.VolumePanelPopup
import com.android.systemui.volume.panel.ui.VolumePanelUiEvent
import javax.inject.Inject
import javax.inject.Inject


/** ANC popup up displaying ANC control [Slice]. */
/** ANC popup up displaying ANC control [Slice]. */
@@ -41,10 +43,12 @@ class AncPopup
constructor(
constructor(
    private val volumePanelPopup: VolumePanelPopup,
    private val volumePanelPopup: VolumePanelPopup,
    private val viewModel: AncViewModel,
    private val viewModel: AncViewModel,
    private val uiEventLogger: UiEventLogger,
) {
) {


    /** Shows a popup with the [expandable] animation. */
    /** Shows a popup with the [expandable] animation. */
    fun show(expandable: Expandable?) {
    fun show(expandable: Expandable?) {
        uiEventLogger.log(VolumePanelUiEvent.VOLUME_PANEL_ANC_POPUP_SHOWN)
        volumePanelPopup.show(expandable, { Title() }, { Content(it) })
        volumePanelPopup.show(expandable, { Title() }, { Content(it) })
    }
    }


+9 −0
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextAlign
import com.android.internal.logging.UiEventLogger
import com.android.systemui.animation.Expandable
import com.android.systemui.animation.Expandable
import com.android.systemui.common.ui.compose.Icon
import com.android.systemui.common.ui.compose.Icon
import com.android.systemui.common.ui.compose.toColor
import com.android.systemui.common.ui.compose.toColor
@@ -34,6 +35,7 @@ import com.android.systemui.statusbar.phone.SystemUIDialog
import com.android.systemui.volume.panel.component.popup.ui.composable.VolumePanelPopup
import com.android.systemui.volume.panel.component.popup.ui.composable.VolumePanelPopup
import com.android.systemui.volume.panel.component.selector.ui.composable.VolumePanelRadioButtonBar
import com.android.systemui.volume.panel.component.selector.ui.composable.VolumePanelRadioButtonBar
import com.android.systemui.volume.panel.component.spatial.ui.viewmodel.SpatialAudioViewModel
import com.android.systemui.volume.panel.component.spatial.ui.viewmodel.SpatialAudioViewModel
import com.android.systemui.volume.panel.ui.VolumePanelUiEvent
import javax.inject.Inject
import javax.inject.Inject


class SpatialAudioPopup
class SpatialAudioPopup
@@ -41,10 +43,17 @@ class SpatialAudioPopup
constructor(
constructor(
    private val viewModel: SpatialAudioViewModel,
    private val viewModel: SpatialAudioViewModel,
    private val volumePanelPopup: VolumePanelPopup,
    private val volumePanelPopup: VolumePanelPopup,
    private val uiEventLogger: UiEventLogger,
) {
) {


    /** Shows a popup with the [expandable] animation. */
    /** Shows a popup with the [expandable] animation. */
    fun show(expandable: Expandable) {
    fun show(expandable: Expandable) {
        uiEventLogger.logWithPosition(
            VolumePanelUiEvent.VOLUME_PANEL_SPATIAL_AUDIO_POP_UP_SHOWN,
            0,
            null,
            viewModel.spatialAudioButtons.value.indexOfFirst { it.button.isChecked }
        )
        volumePanelPopup.show(expandable, { Title() }, { Content(it) })
        volumePanelPopup.show(expandable, { Title() }, { Content(it) })
    }
    }


+2 −0
Original line number Original line Diff line number Diff line
@@ -85,6 +85,7 @@ fun ColumnVolumeSliders(
                onValueChange = { newValue: Float ->
                onValueChange = { newValue: Float ->
                    sliderViewModel.onValueChanged(sliderState, newValue)
                    sliderViewModel.onValueChanged(sliderState, newValue)
                },
                },
                onValueChangeFinished = { sliderViewModel.onValueChangeFinished() },
                onIconTapped = { sliderViewModel.toggleMuted(sliderState) },
                onIconTapped = { sliderViewModel.toggleMuted(sliderState) },
                sliderColors = sliderColors,
                sliderColors = sliderColors,
            )
            )
@@ -131,6 +132,7 @@ fun ColumnVolumeSliders(
                                onValueChange = { newValue: Float ->
                                onValueChange = { newValue: Float ->
                                    sliderViewModel.onValueChanged(sliderState, newValue)
                                    sliderViewModel.onValueChanged(sliderState, newValue)
                                },
                                },
                                onValueChangeFinished = { sliderViewModel.onValueChangeFinished() },
                                onIconTapped = { sliderViewModel.toggleMuted(sliderState) },
                                onIconTapped = { sliderViewModel.toggleMuted(sliderState) },
                                sliderColors = sliderColors,
                                sliderColors = sliderColors,
                            )
                            )
+1 −0
Original line number Original line Diff line number Diff line
@@ -46,6 +46,7 @@ fun GridVolumeSliders(
                onValueChange = { newValue: Float ->
                onValueChange = { newValue: Float ->
                    sliderViewModel.onValueChanged(sliderState, newValue)
                    sliderViewModel.onValueChanged(sliderState, newValue)
                },
                },
                onValueChangeFinished = { sliderViewModel.onValueChangeFinished() },
                onIconTapped = { sliderViewModel.toggleMuted(sliderState) },
                onIconTapped = { sliderViewModel.toggleMuted(sliderState) },
                sliderColors = sliderColors,
                sliderColors = sliderColors,
            )
            )
+2 −0
Original line number Original line Diff line number Diff line
@@ -51,6 +51,7 @@ import com.android.systemui.volume.panel.component.volume.slider.ui.viewmodel.Sl
fun VolumeSlider(
fun VolumeSlider(
    state: SliderState,
    state: SliderState,
    onValueChange: (newValue: Float) -> Unit,
    onValueChange: (newValue: Float) -> Unit,
    onValueChangeFinished: (() -> Unit)? = null,
    onIconTapped: () -> Unit,
    onIconTapped: () -> Unit,
    modifier: Modifier = Modifier,
    modifier: Modifier = Modifier,
    sliderColors: PlatformSliderColors,
    sliderColors: PlatformSliderColors,
@@ -85,6 +86,7 @@ fun VolumeSlider(
        value = value,
        value = value,
        valueRange = state.valueRange,
        valueRange = state.valueRange,
        onValueChange = onValueChange,
        onValueChange = onValueChange,
        onValueChangeFinished = onValueChangeFinished,
        enabled = state.isEnabled,
        enabled = state.isEnabled,
        icon = {
        icon = {
            state.icon?.let {
            state.icon?.let {
Loading