NetworkControllerDataTest.java revision f13b4b39f266e43239e40e3bf7d6997600555068
1package com.android.systemui.statusbar.policy;
2
3import android.telephony.TelephonyManager;
4
5// WARNING: Many of these tests may fail with config showMin3G.
6// TODO: Maybe fix the above.
7public class NetworkControllerDataTest extends NetworkControllerBaseTest {
8
9    public void test3gDataIcon() {
10        setupDefaultSignal();
11
12        verifyDataIndicators(TelephonyIcons.DATA_3G[1][0 /* No direction */],
13                TelephonyIcons.QS_DATA_3G[1]);
14    }
15
16    public void testRoamingDataIcon() {
17        setupDefaultSignal();
18        setGsmRoaming(true);
19
20        verifyLastMobileDataIndicators(true,
21                TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING[1][DEFAULT_LEVEL],
22                TelephonyIcons.ROAMING_ICON);
23        verifyLastQsMobileDataIndicators(true,
24                TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][DEFAULT_LEVEL],
25                TelephonyIcons.QS_DATA_R[1], false, false, false);
26    }
27
28    public void test2gDataIcon() {
29        setupDefaultSignal();
30        updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
31                TelephonyManager.NETWORK_TYPE_GSM);
32
33        verifyDataIndicators(TelephonyIcons.DATA_G[1][0 /* No direction */],
34                TelephonyIcons.QS_DATA_G[1]);
35    }
36
37    public void testCdmaDataIcon() {
38        setupDefaultSignal();
39        updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
40                TelephonyManager.NETWORK_TYPE_CDMA);
41
42        verifyDataIndicators(TelephonyIcons.DATA_1X[1][0 /* No direction */],
43                TelephonyIcons.QS_DATA_1X[1]);
44    }
45
46    public void testEdgeDataIcon() {
47        setupDefaultSignal();
48        updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
49                TelephonyManager.NETWORK_TYPE_EDGE);
50
51        verifyDataIndicators(TelephonyIcons.DATA_E[1][0 /* No direction */],
52                TelephonyIcons.QS_DATA_E[1]);
53    }
54
55    public void testLteDataIcon() {
56        setupDefaultSignal();
57        updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
58                TelephonyManager.NETWORK_TYPE_LTE);
59
60        // WARNING: May fail depending on config.
61        verifyDataIndicators(TelephonyIcons.DATA_LTE[1][0 /* No direction */],
62                TelephonyIcons.QS_DATA_LTE[1]);
63    }
64
65    public void testHspaDataIcon() {
66        setupDefaultSignal();
67        updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
68                TelephonyManager.NETWORK_TYPE_HSPA);
69
70        // WARNING: May fail depending on config.
71        verifyDataIndicators(TelephonyIcons.DATA_H[1][0 /* No direction */],
72                TelephonyIcons.QS_DATA_H[1]);
73    }
74
75    public void testDataActivity() {
76        setupDefaultSignal();
77
78        testDataActivity(TelephonyManager.DATA_ACTIVITY_NONE, false, false);
79        testDataActivity(TelephonyManager.DATA_ACTIVITY_IN, true, false);
80        testDataActivity(TelephonyManager.DATA_ACTIVITY_OUT, false, true);
81        testDataActivity(TelephonyManager.DATA_ACTIVITY_INOUT, true, true);
82    }
83
84    private void testDataActivity(int direction, boolean in, boolean out) {
85        updateDataActivity(direction);
86
87        verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, DEFAULT_ICON);
88        verifyLastQsMobileDataIndicators(true, DEFAULT_QS_SIGNAL_STRENGTH,
89                DEFAULT_QS_ICON, in, out, false);
90
91    }
92
93    private void verifyDataIndicators(int dataIcon, int qsDataIcon) {
94        verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, dataIcon);
95        verifyLastQsMobileDataIndicators(true, DEFAULT_QS_SIGNAL_STRENGTH, qsDataIcon, false,
96                false, false);
97    }
98
99}
100