Merge "Rearrange listener logic so it can be overriden"
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
index bef769d..bcb76d7 100644
--- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
+++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
@@ -562,15 +562,7 @@
         mCarUxRestrictionManagerWrapper = new CarUxRestrictionManagerWrapper();
 
         mNotificationDataManager = new NotificationDataManager();
-        mNotificationDataManager.setOnUnseenCountUpdateListener(
-                () -> {
-                    if (mNotificationDataManager != null) {
-                        boolean hasUnseen =
-                                mNotificationDataManager.getUnseenNotificationCount() > 0;
-                        mCarNavigationBarController.toggleAllNotificationsUnseenIndicator(
-                                mDeviceProvisionedController.isCurrentUserSetup(), hasUnseen);
-                    }
-                });
+        mNotificationDataManager.setOnUnseenCountUpdateListener(this::onUnseenCountUpdate);
 
         mEnableHeadsUpNotificationWhenNotificationShadeOpen = mContext.getResources().getBoolean(
                 R.bool.config_enableHeadsUpNotificationWhenNotificationShadeOpen);
@@ -692,6 +684,18 @@
     }
 
     /**
+     * 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 (mNotificationDataManager != null) {
+            boolean hasUnseen = mNotificationDataManager.getUnseenNotificationCount() > 0;
+            mCarNavigationBarController.toggleAllNotificationsUnseenIndicator(
+                    mDeviceProvisionedController.isCurrentUserSetup(), hasUnseen);
+        }
+    }
+
+    /**
      * @return true if the notification panel is currently visible
      */
     boolean isNotificationPanelOpen() {