diff options
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerTest.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerTest.java index b0cf0612b2d2..9bf27a26a682 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerTest.java @@ -19,6 +19,8 @@ package com.android.systemui.navigationbar; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.INVALID_DISPLAY; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession; + import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; @@ -30,20 +32,25 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import android.content.res.Configuration; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper.RunWithLooper; import android.util.SparseArray; import androidx.test.filters.SmallTest; +import com.android.dx.mockito.inline.extended.StaticMockitoSession; import com.android.systemui.Dependency; import com.android.systemui.SysuiTestCase; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.model.SysUiState; import com.android.systemui.recents.OverviewProxyService; +import com.android.systemui.shared.recents.utilities.Utilities; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.phone.AutoHideController; import com.android.systemui.statusbar.phone.LightBarController; @@ -72,11 +79,14 @@ public class NavigationBarControllerTest extends SysuiTestCase { private NavigationBarController mNavigationBarController; private NavigationBar mDefaultNavBar; private NavigationBar mSecondaryNavBar; + private StaticMockitoSession mMockitoSession; @Mock private CommandQueue mCommandQueue; @Mock private NavigationBarComponent.Factory mNavigationBarFactory; + @Mock + TaskbarDelegate mTaskbarDelegate; @Before public void setUp() { @@ -90,7 +100,7 @@ public class NavigationBarControllerTest extends SysuiTestCase { Dependency.get(Dependency.MAIN_HANDLER), mock(ConfigurationController.class), mock(NavBarHelper.class), - mock(TaskbarDelegate.class), + mTaskbarDelegate, mNavigationBarFactory, mock(StatusBarKeyguardViewManager.class), mock(DumpManager.class), @@ -100,6 +110,7 @@ public class NavigationBarControllerTest extends SysuiTestCase { Optional.of(mock(BackAnimation.class)), mock(FeatureFlags.class))); initializeNavigationBars(); + mMockitoSession = mockitoSession().mockStatic(Utilities.class).startMocking(); } private void initializeNavigationBars() { @@ -120,6 +131,7 @@ public class NavigationBarControllerTest extends SysuiTestCase { mNavigationBarController = null; mDefaultNavBar = null; mSecondaryNavBar = null; + mMockitoSession.finishMocking(); } @Test @@ -268,4 +280,22 @@ public class NavigationBarControllerTest extends SysuiTestCase { public void test3ButtonTaskbarFlagDisabledNoRegister() { verify(mCommandQueue, never()).addCallback(any(TaskbarDelegate.class)); } + + + @Test + public void testConfigurationChange_taskbarNotInitialized() { + Configuration configuration = mContext.getResources().getConfiguration(); + when(Utilities.isTablet(any())).thenReturn(true); + mNavigationBarController.onConfigChanged(configuration); + verify(mTaskbarDelegate, never()).onConfigurationChanged(configuration); + } + + @Test + public void testConfigurationChange_taskbarInitialized() { + Configuration configuration = mContext.getResources().getConfiguration(); + when(Utilities.isTablet(any())).thenReturn(true); + when(mTaskbarDelegate.isInitialized()).thenReturn(true); + mNavigationBarController.onConfigChanged(configuration); + verify(mTaskbarDelegate, times(1)).onConfigurationChanged(configuration); + } } |