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

Commit e639f542 authored by Liana Kazanova (xWF)'s avatar Liana Kazanova (xWF) Committed by Android (Google) Code Review
Browse files

Revert "Fix perf regression VisualStabilityCoordinator"

This reverts commit 95d3598e.

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
parent 95d3598e
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -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));
+7 −15
Original line number Diff line number Diff line
@@ -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,22 +162,16 @@ 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());
        pipeline.setVisualStabilityManager(mNotifStabilityManager);
    }
            };

    // TODO(b/203826051): Ensure stability manager can allow reordering off-screen
    //  HUNs to the top of the shade