diff options
| author | 2024-10-21 21:33:05 +0000 | |
|---|---|---|
| committer | 2024-10-21 21:33:05 +0000 | |
| commit | e639f5427a9ce8048e9bc5666ab86f3ba2bc5557 (patch) | |
| tree | 51d161a8ad25070a58d17a63138eb5357e5ce17a | |
| parent | 95d3598ec4d28d5b4899c4109b4cd288d0875a67 (diff) | |
Revert "Fix perf regression VisualStabilityCoordinator"
This reverts commit 95d3598ec4d28d5b4899c4109b4cd288d0875a67.
Reason for revert: DroidMonitor: Potential culprit for http://b/374806085 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: I14eadece21d48442581d75a7edbb2b383832003d
2 files changed, 21 insertions, 23 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.java index cfac486dd37c..ea5c29ef30aa 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.java +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.java @@ -24,7 +24,6 @@ import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -66,7 +65,6 @@ import com.android.systemui.statusbar.notification.collection.listbuilder.plugga import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider; import com.android.systemui.statusbar.notification.domain.interactor.SeenNotificationsInteractor; import com.android.systemui.statusbar.policy.HeadsUpManager; -import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.concurrency.FakeExecutor; import com.android.systemui.util.kotlin.JavaAdapter; import com.android.systemui.util.time.FakeSystemClock; @@ -100,7 +98,6 @@ public class VisualStabilityCoordinatorTest extends SysuiTestCase { @Mock private VisibilityLocationProvider mVisibilityLocationProvider; @Mock private VisualStabilityProvider mVisualStabilityProvider; @Mock private VisualStabilityCoordinatorLogger mLogger; - @Mock private KeyguardStateController mKeyguardStateController; @Captor private ArgumentCaptor<WakefulnessLifecycle.Observer> mWakefulnessObserverCaptor; @Captor private ArgumentCaptor<StatusBarStateController.StateListener> mSBStateListenerCaptor; @@ -141,7 +138,6 @@ public class VisualStabilityCoordinatorTest extends SysuiTestCase { mKosmos.getCommunalSceneInteractor(), mKosmos.getShadeInteractor(), mKosmos.getKeyguardTransitionInteractor(), - mKeyguardStateController, mLogger); mCoordinator.attach(mNotifPipeline); mTestScope.getTestScheduler().runCurrent(); @@ -526,13 +522,23 @@ public class VisualStabilityCoordinatorTest extends SysuiTestCase { @EnableFlags(Flags.FLAG_CHECK_LOCKSCREEN_GONE_TRANSITION) public void testNotLockscreenInGoneTransition_invalidationCalled() { // GIVEN visual stability is being maintained b/c animation is playing - doReturn(true).when(mKeyguardStateController).isKeyguardFadingAway(); - mCoordinator.mKeyguardFadeAwayAnimationCallback.onKeyguardFadingAwayChanged(); + mKosmos.getKeyguardTransitionRepository().sendTransitionStepJava( + mTestScope, new TransitionStep( + KeyguardState.LOCKSCREEN, + KeyguardState.GONE, + 1f, + TransitionState.RUNNING), /* validateStep = */ false); + mTestScope.getTestScheduler().runCurrent(); assertFalse(mNotifStabilityManager.isPipelineRunAllowed()); // WHEN the animation has stopped playing - doReturn(false).when(mKeyguardStateController).isKeyguardFadingAway(); - mCoordinator.mKeyguardFadeAwayAnimationCallback.onKeyguardFadingAwayChanged(); + mKosmos.getKeyguardTransitionRepository().sendTransitionStepJava( + mTestScope, new TransitionStep( + KeyguardState.LOCKSCREEN, + KeyguardState.GONE, + 1f, + TransitionState.FINISHED), /* validateStep = */ false); + mTestScope.getTestScheduler().runCurrent(); // invalidate is called, b/c we were previously suppressing the pipeline from running verifyStabilityManagerWasInvalidated(times(1)); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinator.java index 6edffc0b7542..8660cd117493 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinator.java @@ -29,9 +29,11 @@ import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dump.DumpManager; import com.android.systemui.keyguard.WakefulnessLifecycle; import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor; +import com.android.systemui.keyguard.shared.model.Edge; import com.android.systemui.keyguard.shared.model.KeyguardState; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.scene.shared.flag.SceneContainerFlag; +import com.android.systemui.scene.shared.model.Scenes; import com.android.systemui.shade.domain.interactor.ShadeAnimationInteractor; import com.android.systemui.shade.domain.interactor.ShadeInteractor; import com.android.systemui.statusbar.notification.VisibilityLocationProvider; @@ -44,7 +46,6 @@ import com.android.systemui.statusbar.notification.collection.provider.VisualSta import com.android.systemui.statusbar.notification.domain.interactor.SeenNotificationsInteractor; import com.android.systemui.statusbar.notification.shared.NotificationMinimalism; import com.android.systemui.statusbar.policy.HeadsUpManager; -import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.util.kotlin.BooleanFlowOperators; import com.android.systemui.util.kotlin.JavaAdapter; @@ -77,7 +78,6 @@ public class VisualStabilityCoordinator implements Coordinator, Dumpable { private final CommunalSceneInteractor mCommunalSceneInteractor; private final ShadeInteractor mShadeInteractor; private final KeyguardTransitionInteractor mKeyguardTransitionInteractor; - private final KeyguardStateController mKeyguardStateController; private final VisualStabilityCoordinatorLogger mLogger; private boolean mSleepy = true; @@ -120,7 +120,6 @@ public class VisualStabilityCoordinator implements Coordinator, Dumpable { CommunalSceneInteractor communalSceneInteractor, ShadeInteractor shadeInteractor, KeyguardTransitionInteractor keyguardTransitionInteractor, - KeyguardStateController keyguardStateController, VisualStabilityCoordinatorLogger logger) { mHeadsUpManager = headsUpManager; mShadeAnimationInteractor = shadeAnimationInteractor; @@ -134,7 +133,6 @@ public class VisualStabilityCoordinator implements Coordinator, Dumpable { mCommunalSceneInteractor = communalSceneInteractor; mShadeInteractor = shadeInteractor; mKeyguardTransitionInteractor = keyguardTransitionInteractor; - mKeyguardStateController = keyguardStateController; mLogger = logger; dumpManager.registerDumpable(this); @@ -164,23 +162,17 @@ public class VisualStabilityCoordinator implements Coordinator, Dumpable { KeyguardState.LOCKSCREEN), this::onLockscreenKeyguardStateTransitionValueChanged); } - if (Flags.checkLockscreenGoneTransition()) { - mKeyguardStateController.addCallback(mKeyguardFadeAwayAnimationCallback); + mJavaAdapter.alwaysCollectFlow(mKeyguardTransitionInteractor.isInTransition( + Edge.create(KeyguardState.LOCKSCREEN, Scenes.Gone), + Edge.create(KeyguardState.LOCKSCREEN, KeyguardState.GONE)), + this::onLockscreenInGoneTransitionChanged); } + pipeline.setVisualStabilityManager(mNotifStabilityManager); } - final KeyguardStateController.Callback mKeyguardFadeAwayAnimationCallback = - new KeyguardStateController.Callback() { - @Override - public void onKeyguardFadingAwayChanged() { - onLockscreenInGoneTransitionChanged( - mKeyguardStateController.isKeyguardFadingAway()); - } - }; - // TODO(b/203826051): Ensure stability manager can allow reordering off-screen // HUNs to the top of the shade private final NotifStabilityManager mNotifStabilityManager = |