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

Commit 46c918f7 authored by Heemin Seog's avatar Heemin Seog Committed by Automerger Merge Worker
Browse files

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

Merge "Remove CarStatusBar reference from HUNs container" into rvc-dev am: bb366191 am: 5d517eed am: 4f06b619 am: 16883129

Change-Id: I7427bbb8d2375f0e3927a575e26d7b0341f4ce8b
parents 6b057621 16883129
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();
    }