Merge "Add test to ensure config changes passed down to TaskbarDelegate" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a986bd8cb8
@@ -19,6 +19,8 @@ package com.android.systemui.navigationbar;
|
|||||||
import static android.view.Display.DEFAULT_DISPLAY;
|
import static android.view.Display.DEFAULT_DISPLAY;
|
||||||
import static android.view.Display.INVALID_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.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
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.mock;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.testing.AndroidTestingRunner;
|
import android.testing.AndroidTestingRunner;
|
||||||
import android.testing.TestableLooper.RunWithLooper;
|
import android.testing.TestableLooper.RunWithLooper;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
|
|
||||||
|
import com.android.dx.mockito.inline.extended.StaticMockitoSession;
|
||||||
import com.android.systemui.Dependency;
|
import com.android.systemui.Dependency;
|
||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.flags.FeatureFlags;
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
import com.android.systemui.model.SysUiState;
|
import com.android.systemui.model.SysUiState;
|
||||||
import com.android.systemui.recents.OverviewProxyService;
|
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.CommandQueue;
|
||||||
import com.android.systemui.statusbar.phone.AutoHideController;
|
import com.android.systemui.statusbar.phone.AutoHideController;
|
||||||
import com.android.systemui.statusbar.phone.LightBarController;
|
import com.android.systemui.statusbar.phone.LightBarController;
|
||||||
@@ -72,11 +79,14 @@ public class NavigationBarControllerTest extends SysuiTestCase {
|
|||||||
private NavigationBarController mNavigationBarController;
|
private NavigationBarController mNavigationBarController;
|
||||||
private NavigationBar mDefaultNavBar;
|
private NavigationBar mDefaultNavBar;
|
||||||
private NavigationBar mSecondaryNavBar;
|
private NavigationBar mSecondaryNavBar;
|
||||||
|
private StaticMockitoSession mMockitoSession;
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private CommandQueue mCommandQueue;
|
private CommandQueue mCommandQueue;
|
||||||
@Mock
|
@Mock
|
||||||
private NavigationBarComponent.Factory mNavigationBarFactory;
|
private NavigationBarComponent.Factory mNavigationBarFactory;
|
||||||
|
@Mock
|
||||||
|
TaskbarDelegate mTaskbarDelegate;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
@@ -90,7 +100,7 @@ public class NavigationBarControllerTest extends SysuiTestCase {
|
|||||||
Dependency.get(Dependency.MAIN_HANDLER),
|
Dependency.get(Dependency.MAIN_HANDLER),
|
||||||
mock(ConfigurationController.class),
|
mock(ConfigurationController.class),
|
||||||
mock(NavBarHelper.class),
|
mock(NavBarHelper.class),
|
||||||
mock(TaskbarDelegate.class),
|
mTaskbarDelegate,
|
||||||
mNavigationBarFactory,
|
mNavigationBarFactory,
|
||||||
mock(StatusBarKeyguardViewManager.class),
|
mock(StatusBarKeyguardViewManager.class),
|
||||||
mock(DumpManager.class),
|
mock(DumpManager.class),
|
||||||
@@ -100,6 +110,7 @@ public class NavigationBarControllerTest extends SysuiTestCase {
|
|||||||
Optional.of(mock(BackAnimation.class)),
|
Optional.of(mock(BackAnimation.class)),
|
||||||
mock(FeatureFlags.class)));
|
mock(FeatureFlags.class)));
|
||||||
initializeNavigationBars();
|
initializeNavigationBars();
|
||||||
|
mMockitoSession = mockitoSession().mockStatic(Utilities.class).startMocking();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeNavigationBars() {
|
private void initializeNavigationBars() {
|
||||||
@@ -120,6 +131,7 @@ public class NavigationBarControllerTest extends SysuiTestCase {
|
|||||||
mNavigationBarController = null;
|
mNavigationBarController = null;
|
||||||
mDefaultNavBar = null;
|
mDefaultNavBar = null;
|
||||||
mSecondaryNavBar = null;
|
mSecondaryNavBar = null;
|
||||||
|
mMockitoSession.finishMocking();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -268,4 +280,22 @@ public class NavigationBarControllerTest extends SysuiTestCase {
|
|||||||
public void test3ButtonTaskbarFlagDisabledNoRegister() {
|
public void test3ButtonTaskbarFlagDisabledNoRegister() {
|
||||||
verify(mCommandQueue, never()).addCallback(any(TaskbarDelegate.class));
|
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