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

Commit 0d96dc18 authored by Heemin Seog's avatar Heemin Seog Committed by Android (Google) Code Review
Browse files

Merge "Rearrange listener logic so it can be overriden"

parents 0fc0ed81 ba4cd51a
Loading
Loading
Loading
Loading
+13 −9
Original line number Diff line number Diff line
@@ -562,15 +562,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
        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);
@@ -691,6 +683,18 @@ 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 (mNotificationDataManager != null) {
            boolean hasUnseen = mNotificationDataManager.getUnseenNotificationCount() > 0;
            mCarNavigationBarController.toggleAllNotificationsUnseenIndicator(
                    mDeviceProvisionedController.isCurrentUserSetup(), hasUnseen);
        }
    }

    /**
     * @return true if the notification panel is currently visible
     */