Merge "Add test to ensure config changes passed down to TaskbarDelegate" into tm-qpr-dev am: a986bd8cb8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20154522 Change-Id: Id1395a3bcb7de34de9bec8d69584b4239711b2a9 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user