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

Commit 29c2c023 authored by Shawn Lee's avatar Shawn Lee
Browse files

Replaced setQsExpanded calls in NPVC with listener

Removed direct call from NotificationPanelViewController to update 6
classes to reduce reversed dependencies, moved the related
logic to use an existing listener instead.

Test: manual
Bug: 251173295, Bug: 249277686
Change-Id: I8ecac6e01f23ea438b806e74ca1962eddadba473
parent 3e2ed2a8
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -43,9 +43,6 @@ public interface FalsingCollector {
    /** */
    /** */
    void onQsDown();
    void onQsDown();


    /** */
    void setQsExpanded(boolean expanded);

    /** */
    /** */
    boolean shouldEnforceBouncer();
    boolean shouldEnforceBouncer();


+0 −4
Original line number Original line Diff line number Diff line
@@ -48,10 +48,6 @@ public class FalsingCollectorFake implements FalsingCollector {
    public void onQsDown() {
    public void onQsDown() {
    }
    }


    @Override
    public void setQsExpanded(boolean expanded) {
    }

    @Override
    @Override
    public boolean shouldEnforceBouncer() {
    public boolean shouldEnforceBouncer() {
        return false;
        return false;
+8 −2
Original line number Original line Diff line number Diff line
@@ -23,6 +23,8 @@ import android.hardware.biometrics.BiometricSourceType;
import android.util.Log;
import android.util.Log;
import android.view.MotionEvent;
import android.view.MotionEvent;


import androidx.annotation.VisibleForTesting;

import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.SysUISingleton;
@@ -30,6 +32,7 @@ import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dock.DockManager;
import com.android.systemui.dock.DockManager;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback;
import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback;
@@ -133,6 +136,7 @@ class FalsingCollectorImpl implements FalsingCollector {
            ProximitySensor proximitySensor,
            ProximitySensor proximitySensor,
            StatusBarStateController statusBarStateController,
            StatusBarStateController statusBarStateController,
            KeyguardStateController keyguardStateController,
            KeyguardStateController keyguardStateController,
            ShadeExpansionStateManager shadeExpansionStateManager,
            BatteryController batteryController,
            BatteryController batteryController,
            DockManager dockManager,
            DockManager dockManager,
            @Main DelayableExecutor mainExecutor,
            @Main DelayableExecutor mainExecutor,
@@ -157,6 +161,8 @@ class FalsingCollectorImpl implements FalsingCollector {


        mKeyguardUpdateMonitor.registerCallback(mKeyguardUpdateCallback);
        mKeyguardUpdateMonitor.registerCallback(mKeyguardUpdateCallback);


        shadeExpansionStateManager.addQsExpansionListener(this::onQsExpansionChanged);

        mBatteryController.addCallback(mBatteryListener);
        mBatteryController.addCallback(mBatteryListener);
        mDockManager.addListener(mDockEventListener);
        mDockManager.addListener(mDockEventListener);
    }
    }
@@ -193,8 +199,8 @@ class FalsingCollectorImpl implements FalsingCollector {
    public void onQsDown() {
    public void onQsDown() {
    }
    }


    @Override
    @VisibleForTesting
    public void setQsExpanded(boolean expanded) {
    void onQsExpansionChanged(Boolean expanded) {
        if (expanded) {
        if (expanded) {
            unregisterSensors();
            unregisterSensors();
        } else if (mSessionStarted) {
        } else if (mSessionStarted) {
+17 −7
Original line number Original line Diff line number Diff line
@@ -148,6 +148,8 @@ import com.android.systemui.media.KeyguardMediaController;
import com.android.systemui.media.MediaDataManager;
import com.android.systemui.media.MediaDataManager;
import com.android.systemui.media.MediaHierarchyManager;
import com.android.systemui.media.MediaHierarchyManager;
import com.android.systemui.model.SysUiState;
import com.android.systemui.model.SysUiState;
import com.android.systemui.navigationbar.NavigationBarController;
import com.android.systemui.navigationbar.NavigationBarView;
import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.FalsingManager.FalsingTapListener;
import com.android.systemui.plugins.FalsingManager.FalsingTapListener;
@@ -580,6 +582,7 @@ public final class NotificationPanelViewController {
    private final SysUiState mSysUiState;
    private final SysUiState mSysUiState;


    private final NotificationShadeDepthController mDepthController;
    private final NotificationShadeDepthController mDepthController;
    private final NavigationBarController mNavigationBarController;
    private final int mDisplayId;
    private final int mDisplayId;


    private KeyguardIndicationController mKeyguardIndicationController;
    private KeyguardIndicationController mKeyguardIndicationController;
@@ -858,6 +861,7 @@ public final class NotificationPanelViewController {
            PrivacyDotViewController privacyDotViewController,
            PrivacyDotViewController privacyDotViewController,
            TapAgainViewController tapAgainViewController,
            TapAgainViewController tapAgainViewController,
            NavigationModeController navigationModeController,
            NavigationModeController navigationModeController,
            NavigationBarController navigationBarController,
            FragmentService fragmentService,
            FragmentService fragmentService,
            ContentResolver contentResolver,
            ContentResolver contentResolver,
            RecordingController recordingController,
            RecordingController recordingController,
@@ -951,6 +955,7 @@ public final class NotificationPanelViewController {
        mNotificationsQSContainerController = notificationsQSContainerController;
        mNotificationsQSContainerController = notificationsQSContainerController;
        mNotificationListContainer = notificationListContainer;
        mNotificationListContainer = notificationListContainer;
        mNotificationStackSizeCalculator = notificationStackSizeCalculator;
        mNotificationStackSizeCalculator = notificationStackSizeCalculator;
        mNavigationBarController = navigationBarController;
        mKeyguardBottomAreaViewControllerProvider = keyguardBottomAreaViewControllerProvider;
        mKeyguardBottomAreaViewControllerProvider = keyguardBottomAreaViewControllerProvider;
        mNotificationsQSContainerController.init();
        mNotificationsQSContainerController.init();
        mNotificationStackScrollLayoutController = notificationStackScrollLayoutController;
        mNotificationStackScrollLayoutController = notificationStackScrollLayoutController;
@@ -2637,12 +2642,16 @@ public final class NotificationPanelViewController {
            mQsExpanded = expanded;
            mQsExpanded = expanded;
            updateQsState();
            updateQsState();
            updateExpandedHeightToMaxHeight();
            updateExpandedHeightToMaxHeight();
            mFalsingCollector.setQsExpanded(expanded);
            setStatusAccessibilityImportance(expanded
            mCentralSurfaces.setQsExpanded(expanded);
                    ? View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
            mNotificationsQSContainerController.setQsExpanded(expanded);
                    : View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
            mPulseExpansionHandler.setQsExpanded(expanded);
            updateSystemUiStateFlags();
            mKeyguardBypassController.setQSExpanded(expanded);
            NavigationBarView navigationBarView =
            mPrivacyDotViewController.setQsExpanded(expanded);
                    mNavigationBarController.getNavigationBarView(mDisplayId);
            if (navigationBarView != null) {
                navigationBarView.onStatusBarPanelStateChanged();
            }
            mShadeExpansionStateManager.onQsExpansionChanged(expanded);
        }
        }
    }
    }


@@ -5139,7 +5148,8 @@ public final class NotificationPanelViewController {
     */
     */
    public void updatePanelExpansionAndVisibility() {
    public void updatePanelExpansionAndVisibility() {
        mShadeExpansionStateManager.onPanelExpansionChanged(
        mShadeExpansionStateManager.onPanelExpansionChanged(
                mExpandedFraction, isExpanded(), mTracking, mExpansionDragDownAmountPx);
                mExpandedFraction, isExpanded(),
                mTracking, mExpansionDragDownAmountPx);
        updateVisibility();
        updateVisibility();
    }
    }


+4 −3
Original line number Original line Diff line number Diff line
@@ -135,7 +135,8 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW
            DumpManager dumpManager,
            DumpManager dumpManager,
            KeyguardStateController keyguardStateController,
            KeyguardStateController keyguardStateController,
            ScreenOffAnimationController screenOffAnimationController,
            ScreenOffAnimationController screenOffAnimationController,
            AuthController authController) {
            AuthController authController,
            ShadeExpansionStateManager shadeExpansionStateManager) {
        mContext = context;
        mContext = context;
        mWindowManager = windowManager;
        mWindowManager = windowManager;
        mActivityManager = activityManager;
        mActivityManager = activityManager;
@@ -156,6 +157,7 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW
                .addCallback(mStateListener,
                .addCallback(mStateListener,
                        SysuiStatusBarStateController.RANK_STATUS_BAR_WINDOW_CONTROLLER);
                        SysuiStatusBarStateController.RANK_STATUS_BAR_WINDOW_CONTROLLER);
        configurationController.addCallback(this);
        configurationController.addCallback(this);
        shadeExpansionStateManager.addQsExpansionListener(this::onQsExpansionChanged);


        float desiredPreferredRefreshRate = context.getResources()
        float desiredPreferredRefreshRate = context.getResources()
                .getInteger(R.integer.config_keyguardRefreshRate);
                .getInteger(R.integer.config_keyguardRefreshRate);
@@ -607,8 +609,7 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW
        apply(mCurrentState);
        apply(mCurrentState);
    }
    }


    @Override
    private void onQsExpansionChanged(Boolean expanded) {
    public void setQsExpanded(boolean expanded) {
        mCurrentState.mQsExpanded = expanded;
        mCurrentState.mQsExpanded = expanded;
        apply(mCurrentState);
        apply(mCurrentState);
    }
    }
Loading