Loading packages/SystemUI/src/com/android/systemui/flags/Flags.kt +3 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,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") Loading packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java +12 −8 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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); Loading packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt +21 −0 Original line number Diff line number Diff line Loading @@ -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) } Loading Loading @@ -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()) Loading Loading
packages/SystemUI/src/com/android/systemui/flags/Flags.kt +3 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,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") Loading
packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java +12 −8 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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); Loading
packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt +21 −0 Original line number Diff line number Diff line Loading @@ -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) } Loading Loading @@ -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()) Loading