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

Commit 5fb906fc authored by Angela Wang's avatar Angela Wang
Browse files

New UiEvent IDs for ambient volume control

Flag: EXEMPT simple log added
Bug: 397140123
Test: manually check on go/atomviewer
Change-Id: Ifec13796597c80ab9ecd018eb3ab95e59dbe7a5c
parent a4ce9e92
Loading
Loading
Loading
Loading
+31 −3
Original line number Diff line number Diff line
@@ -58,12 +58,23 @@ public class AmbientVolumeLayout extends LinearLayout implements AmbientVolumeUi
    private final BiMap<Integer, AmbientVolumeSlider> mSideToSliderMap = HashBiMap.create();
    private int mVolumeLevel = AMBIENT_VOLUME_LEVEL_DEFAULT;

    private HearingDevicesUiEventLogger mUiEventLogger;
    private int mLaunchSourceId;

    private final AmbientVolumeSlider.OnChangeListener mSliderOnChangeListener =
            (slider, value) -> {
                final Integer side = mSideToSliderMap.inverse().get(slider);
                if (side != null) {
                    if (mUiEventLogger != null) {
                        HearingDevicesUiEvent uiEvent = side == SIDE_UNIFIED
                                ? HearingDevicesUiEvent.HEARING_DEVICES_AMBIENT_CHANGE_UNIFIED
                                : HearingDevicesUiEvent.HEARING_DEVICES_AMBIENT_CHANGE_SEPARATED;
                        mUiEventLogger.log(uiEvent, mLaunchSourceId);
                    }
                    if (mListener != null) {
                    final int side = mSideToSliderMap.inverse().get(slider);
                        mListener.onSliderValueChange(side, value);
                    }
                }
            };

    public AmbientVolumeLayout(@Nullable Context context) {
@@ -94,6 +105,12 @@ public class AmbientVolumeLayout extends LinearLayout implements AmbientVolumeUi
                return;
            }
            setMuted(!mMuted);
            if (mUiEventLogger != null) {
                HearingDevicesUiEvent uiEvent = mMuted
                        ? HearingDevicesUiEvent.HEARING_DEVICES_AMBIENT_MUTE
                        : HearingDevicesUiEvent.HEARING_DEVICES_AMBIENT_UNMUTE;
                mUiEventLogger.log(uiEvent, mLaunchSourceId);
            }
            if (mListener != null) {
                mListener.onAmbientVolumeIconClick();
            }
@@ -103,6 +120,12 @@ public class AmbientVolumeLayout extends LinearLayout implements AmbientVolumeUi
        mExpandIcon = requireViewById(R.id.ambient_expand_icon);
        mExpandIcon.setOnClickListener(v -> {
            setExpanded(!mExpanded);
            if (mUiEventLogger != null) {
                HearingDevicesUiEvent uiEvent = mExpanded
                        ? HearingDevicesUiEvent.HEARING_DEVICES_AMBIENT_EXPAND_CONTROLS
                        : HearingDevicesUiEvent.HEARING_DEVICES_AMBIENT_COLLAPSE_CONTROLS;
                mUiEventLogger.log(uiEvent, mLaunchSourceId);
            }
            if (mListener != null) {
                mListener.onExpandIconClick();
            }
@@ -243,6 +266,11 @@ public class AmbientVolumeLayout extends LinearLayout implements AmbientVolumeUi
        updateVolumeLevel();
    }

    void setUiEventLogger(HearingDevicesUiEventLogger uiEventLogger, int launchSourceId) {
        mUiEventLogger = uiEventLogger;
        mLaunchSourceId = launchSourceId;
    }

    private void updateVolumeLevel() {
        int leftLevel, rightLevel;
        if (mExpanded) {
+1 −0
Original line number Diff line number Diff line
@@ -369,6 +369,7 @@ public class HearingDevicesDialogDelegate implements SystemUIDialog.Delegate,

    private void setupAmbientControls() {
        final AmbientVolumeLayout ambientLayout = mDialog.requireViewById(R.id.ambient_layout);
        ambientLayout.setUiEventLogger(mUiEventLogger, mLaunchSourceId);
        mAmbientController = new AmbientVolumeUiController(
                mDialog.getContext(), mLocalBluetoothManager, ambientLayout);
        mAmbientController.setShowUiWhenLocalDataExist(false);
+11 −1
Original line number Diff line number Diff line
@@ -29,7 +29,17 @@ enum class HearingDevicesUiEvent(private val id: Int) : UiEventLogger.UiEventEnu
    @UiEvent(doc = "Click on the device gear to enter device detail page")
    HEARING_DEVICES_GEAR_CLICK(1853),
    @UiEvent(doc = "Select a preset from preset spinner") HEARING_DEVICES_PRESET_SELECT(1854),
    @UiEvent(doc = "Click on related tool") HEARING_DEVICES_RELATED_TOOL_CLICK(1856);
    @UiEvent(doc = "Click on related tool") HEARING_DEVICES_RELATED_TOOL_CLICK(1856),
    @UiEvent(doc = "Change the ambient volume with unified control")
    HEARING_DEVICES_AMBIENT_CHANGE_UNIFIED(2149),
    @UiEvent(doc = "Change the ambient volume with separated control")
    HEARING_DEVICES_AMBIENT_CHANGE_SEPARATED(2150),
    @UiEvent(doc = "Mute the ambient volume") HEARING_DEVICES_AMBIENT_MUTE(2151),
    @UiEvent(doc = "Unmute the ambient volume") HEARING_DEVICES_AMBIENT_UNMUTE(2152),
    @UiEvent(doc = "Expand the ambient volume controls")
    HEARING_DEVICES_AMBIENT_EXPAND_CONTROLS(2153),
    @UiEvent(doc = "Collapse the ambient volume controls")
    HEARING_DEVICES_AMBIENT_COLLAPSE_CONTROLS(2154);

    override fun getId(): Int = this.id
}