blob: 93cf3e8317ce768a574048532afecabad6a130f6 [file] [log] [blame]
Lorenzo Colittid46bb582015-04-27 20:32:01 +09001package com.android.systemui.statusbar.policy;
2
Brett Chabot84151d92019-02-27 15:37:59 -08003import static junit.framework.Assert.assertEquals;
4
Lorenzo Colittid46bb582015-04-27 20:32:01 +09005import android.net.NetworkCapabilities;
Jason Monke427cb82015-07-28 09:18:08 -04006import android.test.suitebuilder.annotation.SmallTest;
Jason Monk2515f472017-09-19 09:52:43 -04007import android.testing.AndroidTestingRunner;
8import android.testing.TestableLooper.RunWithLooper;
Lorenzo Colittid46bb582015-04-27 20:32:01 +09009
Jason Monk33f8ae72015-05-08 10:45:15 -040010import com.android.systemui.statusbar.policy.NetworkController.IconState;
Jason Monk07b75fe2015-05-14 16:47:03 -040011
Geoffrey Pitsch2c403db2016-08-26 09:09:39 -040012import org.junit.Test;
13import org.junit.runner.RunWith;
Lorenzo Colittid46bb582015-04-27 20:32:01 +090014import org.mockito.ArgumentCaptor;
15import org.mockito.Mockito;
16
Jason Monke427cb82015-07-28 09:18:08 -040017@SmallTest
Jason Monk2515f472017-09-19 09:52:43 -040018@RunWith(AndroidTestingRunner.class)
19@RunWithLooper
Lorenzo Colittid46bb582015-04-27 20:32:01 +090020public class NetworkControllerEthernetTest extends NetworkControllerBaseTest {
21
Geoffrey Pitsch2c403db2016-08-26 09:09:39 -040022 @Test
Lorenzo Colittid46bb582015-04-27 20:32:01 +090023 public void testEthernetIcons() {
24 verifyLastEthernetIcon(false, 0);
25
26 setEthernetState(true, false); // Connected, unvalidated.
27 verifyLastEthernetIcon(true, EthernetIcons.ETHERNET_ICONS[0][0]);
28
29 setEthernetState(true, true); // Connected, validated.
30 verifyLastEthernetIcon(true, EthernetIcons.ETHERNET_ICONS[1][0]);
31
32 setEthernetState(true, false); // Connected, unvalidated.
33 verifyLastEthernetIcon(true, EthernetIcons.ETHERNET_ICONS[0][0]);
34
35 setEthernetState(false, false); // Disconnected.
36 verifyLastEthernetIcon(false, 0);
37 }
38
39 protected void setEthernetState(boolean connected, boolean validated) {
Anarghya Mitra678722f2018-05-11 14:29:54 -070040 setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_ETHERNET, validated, connected);
Lorenzo Colittid46bb582015-04-27 20:32:01 +090041 }
42
43 protected void verifyLastEthernetIcon(boolean visible, int icon) {
Jason Monk07b75fe2015-05-14 16:47:03 -040044 ArgumentCaptor<IconState> iconArg = ArgumentCaptor.forClass(IconState.class);
Lorenzo Colittid46bb582015-04-27 20:32:01 +090045
Jason Monk07b75fe2015-05-14 16:47:03 -040046 Mockito.verify(mCallbackHandler, Mockito.atLeastOnce()).setEthernetIndicators(
47 iconArg.capture());
48 IconState iconState = iconArg.getValue();
49 assertEquals("Ethernet visible, in status bar", visible, iconState.visible);
50 assertEquals("Ethernet icon, in status bar", icon, iconState.icon);
Lorenzo Colittid46bb582015-04-27 20:32:01 +090051 }
52}