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

Commit a41b6b71 authored by Justin Weir's avatar Justin Weir
Browse files

Delete ShadeTransitionController

ShadeTransitionController and ScrimShadeTransitionController don't seem
to do anything but listen to ShadeExpansionStateManager and pass some
of its data to ScrimController, so this change deletes one of them and
corrects how the other is initialized.

Flag: N/A
Test: Updated and ran affected tests
Test: Manual
Bug: 303267342
Change-Id: I5bba929869dfe025bdc2f44c0f2cc5956cdd7c0b
parent e4491dd4
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -169,7 +169,6 @@ import com.android.systemui.scene.shared.flag.SceneContainerFlag;
import com.android.systemui.shade.data.repository.FlingInfo;
import com.android.systemui.shade.data.repository.ShadeRepository;
import com.android.systemui.shade.domain.interactor.ShadeAnimationInteractor;
import com.android.systemui.shade.transition.ShadeTransitionController;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.GestureRecorder;
@@ -746,7 +745,6 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
            NotificationListContainer notificationListContainer,
            NotificationStackSizeCalculator notificationStackSizeCalculator,
            UnlockedScreenOffAnimationController unlockedScreenOffAnimationController,
            ShadeTransitionController shadeTransitionController,
            SystemClock systemClock,
            KeyguardBottomAreaViewModel keyguardBottomAreaViewModel,
            KeyguardBottomAreaInteractor keyguardBottomAreaInteractor,
@@ -903,7 +901,6 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
        mKeyguardBypassController = bypassController;
        mUpdateMonitor = keyguardUpdateMonitor;
        mLockscreenShadeTransitionController = lockscreenShadeTransitionController;
        shadeTransitionController.setShadeViewController(this);
        dynamicPrivacyController.addListener(this::onDynamicPrivacyChanged);
        quickSettingsController.setExpansionHeightListener(this::onQsSetExpansionHeightCalled);
        quickSettingsController.setQsStateUpdateListener(this::onQsStateUpdated);
+0 −12
Original line number Diff line number Diff line
@@ -62,7 +62,6 @@ import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.internal.policy.SystemBarUtils;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.DejankUtils;
import com.android.systemui.Dumpable;
import com.android.systemui.classifier.Classifier;
@@ -80,7 +79,6 @@ import com.android.systemui.scene.shared.flag.SceneContainerFlag;
import com.android.systemui.screenrecord.RecordingController;
import com.android.systemui.shade.data.repository.ShadeRepository;
import com.android.systemui.shade.domain.interactor.ShadeInteractor;
import com.android.systemui.shade.transition.ShadeTransitionController;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
@@ -133,9 +131,7 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
    private final FrameLayout mQsFrame;

    private final QsFrameTranslateController mQsFrameTranslateController;
    private final ShadeTransitionController mShadeTransitionController;
    private final PulseExpansionHandler mPulseExpansionHandler;
    private final ShadeExpansionStateManager mShadeExpansionStateManager;
    private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
    private final LightBarController mLightBarController;
    private final NotificationStackScrollLayoutController mNotificationStackScrollLayoutController;
@@ -147,7 +143,6 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
    private final KeyguardBypassController mKeyguardBypassController;
    private final NotificationRemoteInputManager mRemoteInputManager;
    private VelocityTracker mQsVelocityTracker;
    private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
    private final ScrimController mScrimController;
    private final MediaDataManager mMediaDataManager;
    private final MediaHierarchyManager mMediaHierarchyManager;
@@ -309,10 +304,8 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
            Lazy<NotificationPanelViewController> panelViewControllerLazy,
            NotificationPanelView panelView,
            QsFrameTranslateController qsFrameTranslateController,
            ShadeTransitionController shadeTransitionController,
            PulseExpansionHandler pulseExpansionHandler,
            NotificationRemoteInputManager remoteInputManager,
            ShadeExpansionStateManager shadeExpansionStateManager,
            StatusBarKeyguardViewManager statusBarKeyguardViewManager,
            LightBarController lightBarController,
            NotificationStackScrollLayoutController notificationStackScrollLayoutController,
@@ -322,7 +315,6 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
            StatusBarTouchableRegionManager statusBarTouchableRegionManager,
            KeyguardStateController keyguardStateController,
            KeyguardBypassController keyguardBypassController,
            KeyguardUpdateMonitor keyguardUpdateMonitor,
            ScrimController scrimController,
            MediaDataManager mediaDataManager,
            MediaHierarchyManager mediaHierarchyManager,
@@ -353,7 +345,6 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
        mSplitShadeStateController = splitShadeStateController;
        mSplitShadeEnabled = mSplitShadeStateController.shouldUseSplitNotificationShade(mResources);
        mQsFrameTranslateController = qsFrameTranslateController;
        mShadeTransitionController = shadeTransitionController;
        mPulseExpansionHandler = pulseExpansionHandler;
        pulseExpansionHandler.setPulseExpandAbortListener(() -> {
            if (mQs != null) {
@@ -361,7 +352,6 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
            }
        });
        mRemoteInputManager = remoteInputManager;
        mShadeExpansionStateManager = shadeExpansionStateManager;
        mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
        mLightBarController = lightBarController;
        mNotificationStackScrollLayoutController = notificationStackScrollLayoutController;
@@ -371,7 +361,6 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
        mStatusBarTouchableRegionManager = statusBarTouchableRegionManager;
        mKeyguardStateController = keyguardStateController;
        mKeyguardBypassController = keyguardBypassController;
        mKeyguardUpdateMonitor = keyguardUpdateMonitor;
        mScrimController = scrimController;
        mMediaDataManager = mediaDataManager;
        mMediaHierarchyManager = mediaHierarchyManager;
@@ -2180,7 +2169,6 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
                }
            });
            mLockscreenShadeTransitionController.setQS(mQs);
            mShadeTransitionController.setQs(mQs);
            mNotificationStackScrollLayoutController.setQsHeader((ViewGroup) mQs.getHeader());
            mQs.setScrollListener(mQsScrollListener);
            updateExpansion();
+0 −5
Original line number Diff line number Diff line
@@ -56,11 +56,6 @@ class ShadeExpansionStateManager @Inject constructor() {
        return ShadeExpansionChangeEvent(fraction, expanded, tracking, dragDownPxAmount)
    }

    /** Removes an expansion listener. */
    fun removeExpansionListener(listener: ShadeExpansionListener) {
        expansionListeners.remove(listener)
    }

    /** Adds a listener that will be notified when the panel state has changed. */
    @Deprecated("Use ShadeInteractor instead")
    fun addStateListener(listener: ShadeStateListener) {
+3 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.systemui.shade.ShadeHeaderController
import com.android.systemui.shade.TouchLogger.Companion.logTouchesTo
import com.android.systemui.shade.data.repository.ShadeRepository
import com.android.systemui.shade.shared.model.ShadeMode
import com.android.systemui.shade.transition.ScrimShadeTransitionController
import com.android.systemui.statusbar.policy.SplitShadeStateController
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
@@ -47,12 +48,14 @@ constructor(
    private val controller: SplitShadeStateController,
    private val shadeController: ShadeController,
    private val shadeHeaderController: ShadeHeaderController,
    private val scrimShadeTransitionController: ScrimShadeTransitionController,
) : CoreStartable {

    override fun start() {
        hydrateShadeMode()
        logTouchesTo(touchLog)
        initHeaderController()
        scrimShadeTransitionController.init()
    }

    private fun initHeaderController() {
+31 −3
Original line number Diff line number Diff line
@@ -17,27 +17,55 @@
package com.android.systemui.shade.transition

import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dump.DumpManager
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.shade.PanelState
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.shade.domain.interactor.PanelExpansionInteractor
import com.android.systemui.statusbar.phone.ScrimController
import dagger.Lazy
import java.io.PrintWriter
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch

/** Controls the scrim properties during the shade expansion transition on non-lockscreen. */
@SysUISingleton
class ScrimShadeTransitionController
@Inject
constructor(
    dumpManager: DumpManager,
    @Application private val applicationScope: CoroutineScope,
    private val shadeExpansionStateManager: ShadeExpansionStateManager,
    private val panelExpansionInteractor: Lazy<PanelExpansionInteractor>,
    private val dumpManager: DumpManager,
    private val scrimController: ScrimController,
) {

    private var lastExpansionFraction: Float? = null
    private var lastExpansionEvent: ShadeExpansionChangeEvent? = null
    private var currentPanelState: Int? = null

    init {
    fun init() {
        if (SceneContainerFlag.isEnabled) {
            applicationScope.launch {
                panelExpansionInteractor.get().legacyPanelExpansion.collect { panelExpansion ->
                    onPanelExpansionChanged(
                        ShadeExpansionChangeEvent(
                            fraction = panelExpansion,
                            expanded = panelExpansion > 0f,
                            tracking = true,
                            dragDownPxAmount = 0f,
                        )
                    )
                }
            }
        } else {
            val currentState =
                shadeExpansionStateManager.addExpansionListener(this::onPanelExpansionChanged)
            onPanelExpansionChanged(currentState)
            shadeExpansionStateManager.addStateListener(this::onPanelStateChanged)
        }
        dumpManager.registerDumpable(
            ScrimShadeTransitionController::class.java.simpleName,
            this::dump
Loading