Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb366191 authored by Heemin Seog's avatar Heemin Seog Committed by Android (Google) Code Review
Browse files

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

parents b157e3ce 4acb971f
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -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();
    }
}
+6 −7
Original line number Diff line number Diff line
@@ -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();
    }