DO NOT MERGE Rearrange listener logic so it can be overriden

Bug: 144567659
Test: build, manual
Change-Id: I81a5e0c169b0d916a3f86bfc4d63fffd3eb225af
This commit is contained in:
Heemin Seog
2019-11-19 17:13:33 -08:00
parent 599634a26b
commit 19f5398e51

View File

@@ -546,24 +546,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
mCarUxRestrictionManagerWrapper = new CarUxRestrictionManagerWrapper();
mNotificationDataManager = new NotificationDataManager();
mNotificationDataManager.setOnUnseenCountUpdateListener(
() -> {
if (mNavigationBarView != null && mNotificationDataManager != null) {
Boolean hasUnseen =
mNotificationDataManager.getUnseenNotificationCount() > 0;
if (mNavigationBarView != null) {
mNavigationBarView.toggleNotificationUnseenIndicator(hasUnseen);
}
if (mLeftNavigationBarView != null) {
mLeftNavigationBarView.toggleNotificationUnseenIndicator(hasUnseen);
}
if (mRightNavigationBarView != null) {
mRightNavigationBarView.toggleNotificationUnseenIndicator(hasUnseen);
}
}
});
mNotificationDataManager.setOnUnseenCountUpdateListener(this::onUnseenCountUpdate);
mEnableHeadsUpNotificationWhenNotificationShadeOpen = mContext.getResources().getBoolean(
R.bool.config_enableHeadsUpNotificationWhenNotificationShadeOpen);
@@ -688,6 +671,29 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
});
}
/**
* This method is called whenever there is an update to the number of unseen notifications.
* This method can be extended by OEMs to customize the desired logic.
*/
protected void onUnseenCountUpdate() {
if (mNavigationBarView != null && mNotificationDataManager != null) {
Boolean hasUnseen =
mNotificationDataManager.getUnseenNotificationCount() > 0;
if (mNavigationBarView != null) {
mNavigationBarView.toggleNotificationUnseenIndicator(hasUnseen);
}
if (mLeftNavigationBarView != null) {
mLeftNavigationBarView.toggleNotificationUnseenIndicator(hasUnseen);
}
if (mRightNavigationBarView != null) {
mRightNavigationBarView.toggleNotificationUnseenIndicator(hasUnseen);
}
}
}
/**
* @return true if the notification panel is currently visible
*/