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

Commit f8128807 authored by Dave Mankoff's avatar Dave Mankoff
Browse files

Restore StatusBarStatePolicy.

The StatusBarStatePolicy used to be injected into StatusBar but never
used. It turns out it registered listeners during its construction,
so there were side-effects to this.

Move those registrations into their own #init method and call it
excplitly in StatusBar.

Fixes: 203527754
Test: manual
Change-Id: Iaacd3f03c57d3943be8f362d3252395c3dfaba5c
parent 8dfb06f1
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -506,6 +506,7 @@ public class StatusBar extends SystemUI implements
    private final NotificationsController mNotificationsController;
    private final OngoingCallController mOngoingCallController;
    private final SystemStatusAnimationScheduler mAnimationScheduler;
    private final StatusBarSignalPolicy mStatusBarSignalPolicy;
    private final StatusBarLocationPublisher mStatusBarLocationPublisher;
    private final StatusBarIconController mStatusBarIconController;
    private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
@@ -693,6 +694,7 @@ public class StatusBar extends SystemUI implements
            AutoHideController autoHideController,
            StatusBarWindowController statusBarWindowController,
            KeyguardUpdateMonitor keyguardUpdateMonitor,
            StatusBarSignalPolicy statusBarSignalPolicy,
            PulseExpansionHandler pulseExpansionHandler,
            NotificationWakeUpCoordinator notificationWakeUpCoordinator,
            KeyguardBypassController keyguardBypassController,
@@ -870,6 +872,7 @@ public class StatusBar extends SystemUI implements
        mWallpaperController = wallpaperController;
        mOngoingCallController = ongoingCallController;
        mAnimationScheduler = animationScheduler;
        mStatusBarSignalPolicy = statusBarSignalPolicy;
        mStatusBarLocationPublisher = locationPublisher;
        mStatusBarIconController = statusBarIconController;
        mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager;
@@ -923,6 +926,7 @@ public class StatusBar extends SystemUI implements
            mBubblesOptional.get().setExpandListener(mBubbleExpandListener);
        }

        mStatusBarSignalPolicy.init();
        mKeyguardIndicationController.init();

        mColorExtractor.addOnColorsChangedListener(mOnColorsChangedListener);
+12 −8
Original line number Diff line number Diff line
@@ -72,17 +72,15 @@ public class StatusBarSignalPolicy implements SignalCallback,
    private boolean mHideWifi;
    private boolean mHideEthernet;
    private boolean mActivityEnabled;
    private boolean mForceHideWifi;

    // Track as little state as possible, and only for padding purposes
    private boolean mIsAirplaneMode = false;
    private boolean mIsWifiEnabled = false;
    private boolean mWifiVisible = false;

    private ArrayList<MobileIconState> mMobileStates = new ArrayList<MobileIconState>();
    private ArrayList<CallIndicatorIconState> mCallIndicatorStates =
            new ArrayList<CallIndicatorIconState>();
    private ArrayList<MobileIconState> mMobileStates = new ArrayList<>();
    private ArrayList<CallIndicatorIconState> mCallIndicatorStates = new ArrayList<>();
    private WifiIconState mWifiIconState = new WifiIconState();
    private boolean mInitialized;

    @Inject
    public StatusBarSignalPolicy(
@@ -112,9 +110,15 @@ public class StatusBarSignalPolicy implements SignalCallback,
        mSlotCallStrength =
                mContext.getString(com.android.internal.R.string.status_bar_call_strength);
        mActivityEnabled = mContext.getResources().getBoolean(R.bool.config_showActivity);
    }


        tunerService.addTunable(this, StatusBarIconController.ICON_HIDE_LIST);
    /** Call to initilaize and register this classw with the system. */
    public void init() {
        if (mInitialized) {
            return;
        }
        mInitialized = true;
        mTunerService.addTunable(this, StatusBarIconController.ICON_HIDE_LIST);
        mNetworkController.addCallback(this);
        mSecurityController.addCallback(this);
    }
@@ -162,7 +166,7 @@ public class StatusBarSignalPolicy implements SignalCallback,
            mHideAirplane = hideAirplane;
            mHideMobile = hideMobile;
            mHideEthernet = hideEthernet;
            mHideWifi = hideWifi || mForceHideWifi;
            mHideWifi = hideWifi;
            // Re-register to get new callbacks.
            mNetworkController.removeCallback(this);
            mNetworkController.addCallback(this);
+3 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.StatusBarLocationPublisher;
import com.android.systemui.statusbar.phone.StatusBarNotificationActivityStarter;
import com.android.systemui.statusbar.phone.StatusBarSignalPolicy;
import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager;
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragmentLogger;
@@ -146,6 +147,7 @@ public interface StatusBarPhoneModule {
            AutoHideController autoHideController,
            StatusBarWindowController statusBarWindowController,
            KeyguardUpdateMonitor keyguardUpdateMonitor,
            StatusBarSignalPolicy statusBarSignalPolicy,
            PulseExpansionHandler pulseExpansionHandler,
            NotificationWakeUpCoordinator notificationWakeUpCoordinator,
            KeyguardBypassController keyguardBypassController,
@@ -247,6 +249,7 @@ public interface StatusBarPhoneModule {
                autoHideController,
                statusBarWindowController,
                keyguardUpdateMonitor,
                statusBarSignalPolicy,
                pulseExpansionHandler,
                notificationWakeUpCoordinator,
                keyguardBypassController,
+2 −0
Original line number Diff line number Diff line
@@ -207,6 +207,7 @@ public class StatusBarTest extends SysuiTestCase {
    @Mock private AmbientDisplayConfiguration mAmbientDisplayConfiguration;
    @Mock private NotificationLogger.ExpansionStateLogger mExpansionStateLogger;
    @Mock private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
    @Mock private StatusBarSignalPolicy mStatusBarSignalPolicy;
    @Mock private NotificationShadeWindowView mNotificationShadeWindowView;
    @Mock private BroadcastDispatcher mBroadcastDispatcher;
    @Mock private AssistManager mAssistManager;
@@ -369,6 +370,7 @@ public class StatusBarTest extends SysuiTestCase {
                mAutoHideController,
                mStatusBarWindowController,
                mKeyguardUpdateMonitor,
                mStatusBarSignalPolicy,
                mPulseExpansionHandler,
                mNotificationWakeUpCoordinator,
                mKeyguardBypassController,