blob: 360562c8a96721a8558364413c0150707efe8ee6 [file] [log] [blame]
Jason Monkf13b4b32014-11-07 16:39:34 -05001package com.android.systemui.statusbar.policy;
2
Jason Monk07b75fe2015-05-14 16:47:03 -04003import android.os.Looper;
Jason Monkf13b4b32014-11-07 16:39:34 -05004import android.telephony.TelephonyManager;
5
Jason Monk33f8ae72015-05-08 10:45:15 -04006import org.mockito.Mockito;
7
Jason Monkf13b4b32014-11-07 16:39:34 -05008public class NetworkControllerDataTest extends NetworkControllerBaseTest {
9
10 public void test3gDataIcon() {
11 setupDefaultSignal();
12
13 verifyDataIndicators(TelephonyIcons.DATA_3G[1][0 /* No direction */],
Jason Monk33f8ae72015-05-08 10:45:15 -040014 TelephonyIcons.QS_DATA_3G);
Jason Monkf13b4b32014-11-07 16:39:34 -050015 }
16
17 public void testRoamingDataIcon() {
18 setupDefaultSignal();
19 setGsmRoaming(true);
20
21 verifyLastMobileDataIndicators(true,
22 TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING[1][DEFAULT_LEVEL],
23 TelephonyIcons.ROAMING_ICON);
24 verifyLastQsMobileDataIndicators(true,
25 TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][DEFAULT_LEVEL],
Jason Monk33f8ae72015-05-08 10:45:15 -040026 TelephonyIcons.QS_DATA_R, false, false);
Jason Monkf13b4b32014-11-07 16:39:34 -050027 }
28
29 public void test2gDataIcon() {
30 setupDefaultSignal();
31 updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
32 TelephonyManager.NETWORK_TYPE_GSM);
33
34 verifyDataIndicators(TelephonyIcons.DATA_G[1][0 /* No direction */],
Jason Monk33f8ae72015-05-08 10:45:15 -040035 TelephonyIcons.QS_DATA_G);
Jason Monkf13b4b32014-11-07 16:39:34 -050036 }
37
38 public void testCdmaDataIcon() {
39 setupDefaultSignal();
40 updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
41 TelephonyManager.NETWORK_TYPE_CDMA);
42
43 verifyDataIndicators(TelephonyIcons.DATA_1X[1][0 /* No direction */],
Jason Monk33f8ae72015-05-08 10:45:15 -040044 TelephonyIcons.QS_DATA_1X);
Jason Monkf13b4b32014-11-07 16:39:34 -050045 }
46
47 public void testEdgeDataIcon() {
48 setupDefaultSignal();
49 updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
50 TelephonyManager.NETWORK_TYPE_EDGE);
51
52 verifyDataIndicators(TelephonyIcons.DATA_E[1][0 /* No direction */],
Jason Monk33f8ae72015-05-08 10:45:15 -040053 TelephonyIcons.QS_DATA_E);
Jason Monkf13b4b32014-11-07 16:39:34 -050054 }
55
56 public void testLteDataIcon() {
57 setupDefaultSignal();
58 updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
59 TelephonyManager.NETWORK_TYPE_LTE);
60
Jason Monkf13b4b32014-11-07 16:39:34 -050061 verifyDataIndicators(TelephonyIcons.DATA_LTE[1][0 /* No direction */],
Jason Monk33f8ae72015-05-08 10:45:15 -040062 TelephonyIcons.QS_DATA_LTE);
Jason Monkf13b4b32014-11-07 16:39:34 -050063 }
64
65 public void testHspaDataIcon() {
66 setupDefaultSignal();
67 updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
68 TelephonyManager.NETWORK_TYPE_HSPA);
69
Jason Monkf13b4b32014-11-07 16:39:34 -050070 verifyDataIndicators(TelephonyIcons.DATA_H[1][0 /* No direction */],
Jason Monk33f8ae72015-05-08 10:45:15 -040071 TelephonyIcons.QS_DATA_H);
Jason Monkf13b4b32014-11-07 16:39:34 -050072 }
73
Jason Monk7150d7f2015-07-09 10:14:12 -040074 public void testWfcNoDataIcon() {
75 setupDefaultSignal();
76 updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
77 TelephonyManager.NETWORK_TYPE_IWLAN);
78
79 verifyDataIndicators(0, 0);
80 }
81
Jason Monk3aaabd72014-12-12 11:11:44 -050082 public void test4gDataIcon() {
83 // Switch to showing 4g icon and re-initialize the NetworkController.
84 mConfig.show4gForLte = true;
85 mNetworkController = new NetworkControllerImpl(mContext, mMockCm, mMockTm, mMockWm, mMockSm,
Jason Monk07b75fe2015-05-14 16:47:03 -040086 mConfig, Looper.getMainLooper(), mCallbackHandler,
87 Mockito.mock(AccessPointControllerImpl.class),
Jason Monkc6cc6262015-06-11 11:10:15 -040088 Mockito.mock(MobileDataControllerImpl.class), mMockSubDefaults);
Jason Monk3aaabd72014-12-12 11:11:44 -050089 setupNetworkController();
90
91 setupDefaultSignal();
92 updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
93 TelephonyManager.NETWORK_TYPE_LTE);
94
95 verifyDataIndicators(TelephonyIcons.DATA_4G[1][0 /* No direction */],
Jason Monk33f8ae72015-05-08 10:45:15 -040096 TelephonyIcons.QS_DATA_4G);
Jason Monk3aaabd72014-12-12 11:11:44 -050097 }
98
99 public void test4gDataIconConfigChange() {
100 setupDefaultSignal();
101 updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
102 TelephonyManager.NETWORK_TYPE_LTE);
103
104 // Switch to showing 4g icon and re-initialize the NetworkController.
105 mConfig.show4gForLte = true;
106 // Can't send the broadcast as that would actually read the config from
107 // the context. Instead we'll just poke at a function that does all of
108 // the after work.
109 mNetworkController.handleConfigurationChanged();
110
111 verifyDataIndicators(TelephonyIcons.DATA_4G[1][0 /* No direction */],
Jason Monk33f8ae72015-05-08 10:45:15 -0400112 TelephonyIcons.QS_DATA_4G);
Jason Monk3aaabd72014-12-12 11:11:44 -0500113 }
114
Jason Monkf13b4b32014-11-07 16:39:34 -0500115 public void testDataActivity() {
116 setupDefaultSignal();
117
118 testDataActivity(TelephonyManager.DATA_ACTIVITY_NONE, false, false);
119 testDataActivity(TelephonyManager.DATA_ACTIVITY_IN, true, false);
120 testDataActivity(TelephonyManager.DATA_ACTIVITY_OUT, false, true);
121 testDataActivity(TelephonyManager.DATA_ACTIVITY_INOUT, true, true);
122 }
123
124 private void testDataActivity(int direction, boolean in, boolean out) {
125 updateDataActivity(direction);
126
127 verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, DEFAULT_ICON);
128 verifyLastQsMobileDataIndicators(true, DEFAULT_QS_SIGNAL_STRENGTH,
Jason Monkb5746272014-11-12 16:50:31 -0500129 DEFAULT_QS_ICON, in, out);
Jason Monkf13b4b32014-11-07 16:39:34 -0500130
131 }
132
133 private void verifyDataIndicators(int dataIcon, int qsDataIcon) {
134 verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, dataIcon);
135 verifyLastQsMobileDataIndicators(true, DEFAULT_QS_SIGNAL_STRENGTH, qsDataIcon, false,
Jason Monkb5746272014-11-12 16:50:31 -0500136 false);
Jason Monkf13b4b32014-11-07 16:39:34 -0500137 }
138
139}