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.Handler;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.os.RemoteException;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.Display;
|
import android.view.Display;
|
||||||
import android.view.GestureDetector;
|
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();
|
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(() -> {
|
mNotificationDataManager.setOnUnseenCountUpdateListener(() -> {
|
||||||
if (mNavigationBarView != null && mNotificationDataManager != null) {
|
if (mNavigationBarView != null && mNotificationDataManager != null) {
|
||||||
onUseenCountUpdate(mNotificationDataManager.getUnseenNotificationCount());
|
onUseenCountUpdate(mNotificationDataManager.getUnseenNotificationCount());
|
||||||
@@ -676,13 +677,8 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
|
|||||||
|
|
||||||
mEnableHeadsUpNotificationWhenNotificationShadeOpen = mContext.getResources().getBoolean(
|
mEnableHeadsUpNotificationWhenNotificationShadeOpen = mContext.getResources().getBoolean(
|
||||||
R.bool.config_enableHeadsUpNotificationWhenNotificationShadeOpen);
|
R.bool.config_enableHeadsUpNotificationWhenNotificationShadeOpen);
|
||||||
CarHeadsUpNotificationManager carHeadsUpNotificationManager =
|
|
||||||
new CarSystemUIHeadsUpNotificationManager(mContext,
|
|
||||||
mNotificationClickHandlerFactory, mNotificationDataManager);
|
|
||||||
mNotificationClickHandlerFactory.setNotificationDataManager(mNotificationDataManager);
|
|
||||||
|
|
||||||
mCarNotificationListener.registerAsSystemService(mContext, mCarUxRestrictionManagerWrapper,
|
mNotificationClickHandlerFactory.setNotificationDataManager(mNotificationDataManager);
|
||||||
carHeadsUpNotificationManager, mNotificationDataManager);
|
|
||||||
|
|
||||||
mNotificationView = mStatusBarWindow.findViewById(R.id.notification_view);
|
mNotificationView = mStatusBarWindow.findViewById(R.id.notification_view);
|
||||||
View glassPane = mStatusBarWindow.findViewById(R.id.glass_pane);
|
View glassPane = mStatusBarWindow.findViewById(R.id.glass_pane);
|
||||||
|
|||||||
Reference in New Issue
Block a user