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

Commit 11726443 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Add another flag to control turbulence noise in UMO." into...

Merge "Merge "Add another flag to control turbulence noise in UMO." into tm-qpr-dev am: 1c3cf178 am: 99618ab3"
parents a6ec92a1 7408eb5f
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -285,6 +285,9 @@ object Flags {

    @JvmField val MEDIA_FALSING_PENALTY = unreleasedFlag(908, "media_falsing_media")

    // TODO(b/261734857): Tracking Bug
    @JvmField val UMO_TURBULENCE_NOISE = unreleasedFlag(909, "umo_turbulence_noise")

    // 1000 - dock
    val SIMULATE_DOCK_THROUGH_CHARGING = releasedFlag(1000, "simulate_dock_through_charging")

+12 −8
Original line number Diff line number Diff line
@@ -224,6 +224,8 @@ public class MediaControlPanel {
    private TurbulenceNoiseController mTurbulenceNoiseController;
    private FeatureFlags mFeatureFlags;
    private TurbulenceNoiseAnimationConfig mTurbulenceNoiseAnimationConfig = null;
    @VisibleForTesting
    MultiRippleController.Companion.RipplesFinishedListener mRipplesFinishedListener = null;

    /**
     * Initialize a new control panel
@@ -404,15 +406,17 @@ public class MediaControlPanel {
        MultiRippleView multiRippleView = vh.getMultiRippleView();
        mMultiRippleController = new MultiRippleController(multiRippleView);
        mTurbulenceNoiseController = new TurbulenceNoiseController(vh.getTurbulenceNoiseView());
        mMultiRippleController.addRipplesFinishedListener(
                () -> {
        if (mFeatureFlags.isEnabled(Flags.UMO_TURBULENCE_NOISE)) {
            mRipplesFinishedListener = () -> {
                if (mTurbulenceNoiseAnimationConfig == null) {
                    mTurbulenceNoiseAnimationConfig = createLingeringNoiseAnimation();
                }
                // Color will be correctly updated in ColorSchemeTransition.
                mTurbulenceNoiseController.play(mTurbulenceNoiseAnimationConfig);
            };
            mMultiRippleController.addRipplesFinishedListener(mRipplesFinishedListener);
        }
        );

        mColorSchemeTransition = new ColorSchemeTransition(
                mContext, mMediaViewHolder, mMultiRippleController, mTurbulenceNoiseController);
        mMetadataAnimationHandler = new MetadataAnimationHandler(exit, enter);
+21 −0
Original line number Diff line number Diff line
@@ -214,6 +214,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
    private val fakeFeatureFlag =
        FakeFeatureFlags().apply {
            this.set(Flags.UMO_SURFACE_RIPPLE, false)
            this.set(Flags.UMO_TURBULENCE_NOISE, false)
            this.set(Flags.MEDIA_FALSING_PENALTY, true)
        }

@@ -2062,6 +2063,26 @@ public class MediaControlPanelTest : SysuiTestCase() {
        assertThat(viewHolder.multiRippleView.ripples.size).isEqualTo(0)
    }

    @Test
    fun onButtonClick_turbulenceNoiseFlagEnabled_createsRipplesFinishedListener() {
        fakeFeatureFlag.set(Flags.UMO_SURFACE_RIPPLE, true)
        fakeFeatureFlag.set(Flags.UMO_TURBULENCE_NOISE, true)

        player.attachPlayer(viewHolder)

        assertThat(player.mRipplesFinishedListener).isNotNull()
    }

    @Test
    fun onButtonClick_turbulenceNoiseFlagDisabled_doesNotCreateRipplesFinishedListener() {
        fakeFeatureFlag.set(Flags.UMO_SURFACE_RIPPLE, true)
        fakeFeatureFlag.set(Flags.UMO_TURBULENCE_NOISE, false)

        player.attachPlayer(viewHolder)

        assertThat(player.mRipplesFinishedListener).isNull()
    }

    private fun getScrubbingChangeListener(): SeekBarViewModel.ScrubbingChangeListener =
        withArgCaptor {
            verify(seekBarViewModel).setScrubbingChangeListener(capture())