Merge "Add another flag to control turbulence noise in UMO." into tm-qpr-dev am: 1c3cf17885 am: 99618ab3e5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20667288 Change-Id: I9b631774c3680fa536e40bed791806086818c023 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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")
|
||||
|
||||
|
||||
@@ -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 (mTurbulenceNoiseAnimationConfig == null) {
|
||||
mTurbulenceNoiseAnimationConfig = createLingeringNoiseAnimation();
|
||||
}
|
||||
// Color will be correctly updated in ColorSchemeTransition.
|
||||
mTurbulenceNoiseController.play(mTurbulenceNoiseAnimationConfig);
|
||||
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);
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user