From c9f71aa8e44902acc9793efc5fb7131b5911622f Mon Sep 17 00:00:00 2001 From: Jonathan Koo Date: Mon, 6 May 2019 08:20:14 -0700 Subject: [PATCH] Implement pending notification indicator Bug: 131262206 Test: Manual. Change-Id: I25a2892b55ea9761823dee1596cbf5d189b95dd7 (cherry picked from commit 61d832588a575a108cc86709edca5a4e8a512aad) --- .../systemui/statusbar/car/CarStatusBar.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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 91053466f3980..febf8b801726a 100644 --- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java @@ -423,6 +423,14 @@ public class CarStatusBar extends StatusBar implements new CarUxRestrictionManagerWrapper(); carUxRestrictionManagerWrapper.setCarUxRestrictionsManager(carUxRestrictionsManager); NotificationDataManager notificationDataManager = new NotificationDataManager(); + + notificationDataManager.setOnUnseenCountUpdateListener( + () -> { + // TODO: Update Notification Icon based on unseen count + Log.d(TAG, "unseen count: " + + notificationDataManager.getUnseenNotificationCount()); + }); + CarHeadsUpNotificationManager carHeadsUpNotificationManager = new CarSystemUIHeadsUpNotificationManager(mContext, clickHandlerFactory, notificationDataManager); @@ -433,6 +441,7 @@ public class CarStatusBar extends StatusBar implements mNotificationView = mStatusBarWindow.findViewById(R.id.notification_view); View glassPane = mStatusBarWindow.findViewById(R.id.glass_pane); mNotificationView.setClickHandlerFactory(clickHandlerFactory); + mNotificationView.setNotificationDataManager(notificationDataManager); // The glass pane is used to view touch events before passed to the notification list. // This allows us to initialize gesture listeners and detect when to close the notifications @@ -518,7 +527,8 @@ public class CarStatusBar extends StatusBar implements mNotificationView, PreprocessingManager.getInstance(mContext), carNotificationListener, - carUxRestrictionManagerWrapper); + carUxRestrictionManagerWrapper, + notificationDataManager); mNotificationViewController.enable(); } @@ -538,7 +548,6 @@ public class CarStatusBar extends StatusBar implements mNotificationList.scrollToPosition(0); mStatusBarWindowController.setPanelVisible(true); mNotificationView.setVisibility(View.VISIBLE); - animateNotificationPanel(mOpeningVelocity, false); setPanelExpanded(true); @@ -625,6 +634,7 @@ public class CarStatusBar extends StatusBar implements setPanelExpanded(false); } else { // let the status bar know that the panel is open + mNotificationView.setVisibleNotificationsAsSeen(); setPanelExpanded(true); } } @@ -825,7 +835,6 @@ public class CarStatusBar extends StatusBar implements } } - @Override public void showBatteryView() { if (Log.isLoggable(TAG, Log.DEBUG)) {