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
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user