Merge "DO NOT MERGE Hold onto NotificationListener when reconnecting notifications UI." into qt-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b896072638
@@ -41,7 +41,6 @@ import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Log;
|
||||
import android.view.Display;
|
||||
import android.view.GestureDetector;
|
||||
@@ -654,20 +653,22 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
|
||||
}
|
||||
});
|
||||
|
||||
if (mCarNotificationListener != null) {
|
||||
try {
|
||||
// If we already had a notification listener we need to unreigster is before
|
||||
// making a new one
|
||||
mCarNotificationListener.unregisterAsSystemService();
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "Error unregistering notification listener.");
|
||||
}
|
||||
}
|
||||
|
||||
mCarNotificationListener = new CarNotificationListener();
|
||||
mCarUxRestrictionManagerWrapper = new CarUxRestrictionManagerWrapper();
|
||||
|
||||
mNotificationDataManager = new NotificationDataManager();
|
||||
if (mCarNotificationListener == null) {
|
||||
// Only make and register a listener if we don't already have one since
|
||||
// #connectNotificationsUI can be called multiple times on locale change.
|
||||
mCarNotificationListener = new CarNotificationListener();
|
||||
mNotificationDataManager = new NotificationDataManager();
|
||||
|
||||
CarHeadsUpNotificationManager carHeadsUpNotificationManager =
|
||||
new CarSystemUIHeadsUpNotificationManager(mContext,
|
||||
mNotificationClickHandlerFactory, mNotificationDataManager);
|
||||
mCarNotificationListener.registerAsSystemService(mContext,
|
||||
mCarUxRestrictionManagerWrapper,
|
||||
carHeadsUpNotificationManager, mNotificationDataManager);
|
||||
}
|
||||
|
||||
mNotificationDataManager.setOnUnseenCountUpdateListener(() -> {
|
||||
if (mNavigationBarView != null && mNotificationDataManager != null) {
|
||||
onUseenCountUpdate(mNotificationDataManager.getUnseenNotificationCount());
|
||||
@@ -676,13 +677,8 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
|
||||
|
||||
mEnableHeadsUpNotificationWhenNotificationShadeOpen = mContext.getResources().getBoolean(
|
||||
R.bool.config_enableHeadsUpNotificationWhenNotificationShadeOpen);
|
||||
CarHeadsUpNotificationManager carHeadsUpNotificationManager =
|
||||
new CarSystemUIHeadsUpNotificationManager(mContext,
|
||||
mNotificationClickHandlerFactory, mNotificationDataManager);
|
||||
mNotificationClickHandlerFactory.setNotificationDataManager(mNotificationDataManager);
|
||||
|
||||
mCarNotificationListener.registerAsSystemService(mContext, mCarUxRestrictionManagerWrapper,
|
||||
carHeadsUpNotificationManager, mNotificationDataManager);
|
||||
mNotificationClickHandlerFactory.setNotificationDataManager(mNotificationDataManager);
|
||||
|
||||
mNotificationView = mStatusBarWindow.findViewById(R.id.notification_view);
|
||||
View glassPane = mStatusBarWindow.findViewById(R.id.glass_pane);
|
||||
|
||||
Reference in New Issue
Block a user