Merge "Remove CarStatusBar reference from HUNs container" into rvc-dev am: bb36619129

Change-Id: I28dfddd7748ef37bf3d44a7a69717cb6253cec18
This commit is contained in:
Heemin Seog
2020-04-21 20:43:01 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 18 deletions

View File

@@ -30,7 +30,6 @@ import com.android.car.notification.R;
import com.android.car.notification.headsup.CarHeadsUpNotificationContainer;
import com.android.systemui.car.CarDeviceProvisionedController;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.statusbar.car.CarStatusBar;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -43,7 +42,7 @@ import dagger.Lazy;
@Singleton
public class CarHeadsUpNotificationSystemContainer implements CarHeadsUpNotificationContainer {
private final CarDeviceProvisionedController mCarDeviceProvisionedController;
private final Lazy<CarStatusBar> mCarStatusBarLazy;
private final Lazy<NotificationPanelViewController> mNotificationPanelViewControllerLazy;
private final ViewGroup mWindow;
private final FrameLayout mHeadsUpContentFrame;
@@ -55,10 +54,9 @@ public class CarHeadsUpNotificationSystemContainer implements CarHeadsUpNotifica
@Main Resources resources,
CarDeviceProvisionedController deviceProvisionedController,
WindowManager windowManager,
// TODO: Remove dependency on CarStatusBar
Lazy<CarStatusBar> carStatusBarLazy) {
Lazy<NotificationPanelViewController> notificationPanelViewControllerLazy) {
mCarDeviceProvisionedController = deviceProvisionedController;
mCarStatusBarLazy = carStatusBarLazy;
mNotificationPanelViewControllerLazy = notificationPanelViewControllerLazy;
boolean showOnBottom = resources.getBoolean(R.bool.config_showHeadsUpNotificationOnBottom);
@@ -87,7 +85,8 @@ public class CarHeadsUpNotificationSystemContainer implements CarHeadsUpNotifica
private void animateShow() {
if ((mEnableHeadsUpNotificationWhenNotificationShadeOpen
|| !mCarStatusBarLazy.get().isPanelExpanded()) && isCurrentUserSetup()) {
|| !mNotificationPanelViewControllerLazy.get().isPanelExpanded())
&& mCarDeviceProvisionedController.isCurrentUserFullySetup()) {
mWindow.setVisibility(View.VISIBLE);
}
}
@@ -114,9 +113,4 @@ public class CarHeadsUpNotificationSystemContainer implements CarHeadsUpNotifica
public boolean isVisible() {
return mWindow.getVisibility() == View.VISIBLE;
}
private boolean isCurrentUserSetup() {
return mCarDeviceProvisionedController.isCurrentUserSetup()
&& !mCarDeviceProvisionedController.isCurrentUserSetupInProgress();
}
}

View File

@@ -31,7 +31,6 @@ import androidx.test.filters.SmallTest;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.car.CarDeviceProvisionedController;
import com.android.systemui.statusbar.car.CarStatusBar;
import org.junit.Before;
import org.junit.Test;
@@ -48,7 +47,7 @@ public class CarHeadsUpNotificationSystemContainerTest extends SysuiTestCase {
@Mock
private CarDeviceProvisionedController mCarDeviceProvisionedController;
@Mock
private CarStatusBar mCarStatusBar;
private NotificationPanelViewController mNotificationPanelViewController;
@Mock
private WindowManager mWindowManager;
@@ -61,7 +60,7 @@ public class CarHeadsUpNotificationSystemContainerTest extends SysuiTestCase {
public void setUp() {
MockitoAnnotations.initMocks(this);
when(mCarStatusBar.isPanelExpanded()).thenReturn(false);
when(mNotificationPanelViewController.isPanelExpanded()).thenReturn(false);
when(mCarDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
when(mCarDeviceProvisionedController.isCurrentUserSetupInProgress()).thenReturn(false);
@@ -72,14 +71,14 @@ public class CarHeadsUpNotificationSystemContainerTest extends SysuiTestCase {
mDefaultController = new CarHeadsUpNotificationSystemContainer(mContext,
testableResources.getResources(), mCarDeviceProvisionedController, mWindowManager,
() -> mCarStatusBar);
() -> mNotificationPanelViewController);
testableResources.addOverride(
R.bool.config_enableHeadsUpNotificationWhenNotificationShadeOpen, true);
mOverrideEnabledController = new CarHeadsUpNotificationSystemContainer(mContext,
testableResources.getResources(), mCarDeviceProvisionedController, mWindowManager,
() -> mCarStatusBar);
() -> mNotificationPanelViewController);
}
@Test
@@ -120,14 +119,14 @@ public class CarHeadsUpNotificationSystemContainerTest extends SysuiTestCase {
@Test
public void testDisplayNotification_notificationPanelExpanded_isInvisible() {
when(mCarStatusBar.isPanelExpanded()).thenReturn(true);
when(mNotificationPanelViewController.isPanelExpanded()).thenReturn(true);
mDefaultController.displayNotification(mNotificationView);
assertThat(mDefaultController.isVisible()).isFalse();
}
@Test
public void testDisplayNotification_notificationPanelExpandedEnabledHUNWhenOpen_isVisible() {
when(mCarStatusBar.isPanelExpanded()).thenReturn(true);
when(mNotificationPanelViewController.isPanelExpanded()).thenReturn(true);
mOverrideEnabledController.displayNotification(mNotificationView);
assertThat(mOverrideEnabledController.isVisible()).isTrue();
}