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

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

Merge "DO NOT MERGE Rearrange listener logic so it can be overriden" into qt-qpr1-dev

parents 6e7337a1 19f5398e
Loading
Loading
Loading
Loading
+24 −18
Original line number Diff line number Diff line
@@ -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
     */