From 12e016a5f83226cdaa6a7ab861a03490f9668cbf Mon Sep 17 00:00:00 2001 From: JianYang Liu Date: Wed, 6 May 2020 10:49:06 -0700 Subject: [PATCH] Add notification panel mediator that does not have any drag open behavior. Bug: 151691433 Test: Manual Change-Id: I157cb8dc404418a73ab924af702bd6857d9c7a75 --- .../notification/NotificationPanelViewMediator.java | 12 ++++++++++-- .../systemui/car/window/OverlayWindowModule.java | 8 ++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/CarSystemUI/src/com/android/systemui/car/notification/NotificationPanelViewMediator.java b/packages/CarSystemUI/src/com/android/systemui/car/notification/NotificationPanelViewMediator.java index 8f52638afdf1e..41349b284147c 100644 --- a/packages/CarSystemUI/src/com/android/systemui/car/notification/NotificationPanelViewMediator.java +++ b/packages/CarSystemUI/src/com/android/systemui/car/notification/NotificationPanelViewMediator.java @@ -26,8 +26,15 @@ import com.android.systemui.car.navigationbar.CarNavigationBarController; import com.android.systemui.car.window.OverlayViewMediator; import com.android.systemui.statusbar.policy.ConfigurationController; -/** The view mediator which attaches the view controller to other elements of the system ui. */ -public abstract class NotificationPanelViewMediator implements OverlayViewMediator, +import javax.inject.Inject; +import javax.inject.Singleton; + +/** + * The view mediator which attaches the view controller to other elements of the system ui. Disables + * drag open behavior of the notification panel from any navigation bar. + */ +@Singleton +public class NotificationPanelViewMediator implements OverlayViewMediator, ConfigurationController.ConfigurationListener { private final CarNavigationBarController mCarNavigationBarController; @@ -36,6 +43,7 @@ public abstract class NotificationPanelViewMediator implements OverlayViewMediat private final CarDeviceProvisionedController mCarDeviceProvisionedController; private final ConfigurationController mConfigurationController; + @Inject public NotificationPanelViewMediator( CarNavigationBarController carNavigationBarController, NotificationPanelViewController notificationPanelViewController, diff --git a/packages/CarSystemUI/src/com/android/systemui/car/window/OverlayWindowModule.java b/packages/CarSystemUI/src/com/android/systemui/car/window/OverlayWindowModule.java index e1918ceeaea4a..484aa63e8bdab 100644 --- a/packages/CarSystemUI/src/com/android/systemui/car/window/OverlayWindowModule.java +++ b/packages/CarSystemUI/src/com/android/systemui/car/window/OverlayWindowModule.java @@ -18,6 +18,7 @@ package com.android.systemui.car.window; import com.android.systemui.car.keyguard.CarKeyguardViewMediator; import com.android.systemui.car.notification.BottomNotificationPanelViewMediator; +import com.android.systemui.car.notification.NotificationPanelViewMediator; import com.android.systemui.car.notification.TopNotificationPanelViewMediator; import com.android.systemui.car.userswitcher.FullscreenUserSwitcherViewMediator; @@ -32,6 +33,13 @@ import dagger.multibindings.IntoMap; @Module public abstract class OverlayWindowModule { + /** Injects NotificationPanelViewMediator. */ + @Binds + @IntoMap + @ClassKey(NotificationPanelViewMediator.class) + public abstract OverlayViewMediator bindNotificationPanelViewMediator( + NotificationPanelViewMediator notificationPanelViewMediator); + /** Injects TopNotificationPanelViewMediator. */ @Binds @IntoMap