Merge "Add another flag to control turbulence noise in UMO." into tm-qpr-dev am: 1c3cf17885

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20667288

Change-Id: Ie590386155f0038182dab938980ec31b209996e2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Yein Jo
2022-12-13 06:24:50 +00:00
committed by Automerger Merge Worker
3 changed files with 36 additions and 8 deletions

View File

@@ -291,6 +291,9 @@ object Flags {
@JvmField val MEDIA_FALSING_PENALTY = unreleasedFlag(908, "media_falsing_media") @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 // 1000 - dock
val SIMULATE_DOCK_THROUGH_CHARGING = releasedFlag(1000, "simulate_dock_through_charging") val SIMULATE_DOCK_THROUGH_CHARGING = releasedFlag(1000, "simulate_dock_through_charging")

View File

@@ -224,6 +224,8 @@ public class MediaControlPanel {
private TurbulenceNoiseController mTurbulenceNoiseController; private TurbulenceNoiseController mTurbulenceNoiseController;
private FeatureFlags mFeatureFlags; private FeatureFlags mFeatureFlags;
private TurbulenceNoiseAnimationConfig mTurbulenceNoiseAnimationConfig = null; private TurbulenceNoiseAnimationConfig mTurbulenceNoiseAnimationConfig = null;
@VisibleForTesting
MultiRippleController.Companion.RipplesFinishedListener mRipplesFinishedListener = null;
/** /**
* Initialize a new control panel * Initialize a new control panel
@@ -404,15 +406,17 @@ public class MediaControlPanel {
MultiRippleView multiRippleView = vh.getMultiRippleView(); MultiRippleView multiRippleView = vh.getMultiRippleView();
mMultiRippleController = new MultiRippleController(multiRippleView); mMultiRippleController = new MultiRippleController(multiRippleView);
mTurbulenceNoiseController = new TurbulenceNoiseController(vh.getTurbulenceNoiseView()); mTurbulenceNoiseController = new TurbulenceNoiseController(vh.getTurbulenceNoiseView());
mMultiRippleController.addRipplesFinishedListener( if (mFeatureFlags.isEnabled(Flags.UMO_TURBULENCE_NOISE)) {
() -> { mRipplesFinishedListener = () -> {
if (mTurbulenceNoiseAnimationConfig == null) { if (mTurbulenceNoiseAnimationConfig == null) {
mTurbulenceNoiseAnimationConfig = createLingeringNoiseAnimation(); mTurbulenceNoiseAnimationConfig = createLingeringNoiseAnimation();
} }
// Color will be correctly updated in ColorSchemeTransition. // Color will be correctly updated in ColorSchemeTransition.
mTurbulenceNoiseController.play(mTurbulenceNoiseAnimationConfig); mTurbulenceNoiseController.play(mTurbulenceNoiseAnimationConfig);
};
mMultiRippleController.addRipplesFinishedListener(mRipplesFinishedListener);
} }
);
mColorSchemeTransition = new ColorSchemeTransition( mColorSchemeTransition = new ColorSchemeTransition(
mContext, mMediaViewHolder, mMultiRippleController, mTurbulenceNoiseController); mContext, mMediaViewHolder, mMultiRippleController, mTurbulenceNoiseController);
mMetadataAnimationHandler = new MetadataAnimationHandler(exit, enter); mMetadataAnimationHandler = new MetadataAnimationHandler(exit, enter);

View File

@@ -214,6 +214,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
private val fakeFeatureFlag = private val fakeFeatureFlag =
FakeFeatureFlags().apply { FakeFeatureFlags().apply {
this.set(Flags.UMO_SURFACE_RIPPLE, false) this.set(Flags.UMO_SURFACE_RIPPLE, false)
this.set(Flags.UMO_TURBULENCE_NOISE, false)
this.set(Flags.MEDIA_FALSING_PENALTY, true) this.set(Flags.MEDIA_FALSING_PENALTY, true)
} }
@@ -2062,6 +2063,26 @@ public class MediaControlPanelTest : SysuiTestCase() {
assertThat(viewHolder.multiRippleView.ripples.size).isEqualTo(0) 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 = private fun getScrubbingChangeListener(): SeekBarViewModel.ScrubbingChangeListener =
withArgCaptor { withArgCaptor {
verify(seekBarViewModel).setScrubbingChangeListener(capture()) verify(seekBarViewModel).setScrubbingChangeListener(capture())