Convert signal icon to be custom drawable
This will make it really easy to change the number of bars it
displays.
Test: runtest systemui
Change-Id: If0b8a606f56430ea08fa0887af85aa0e90de1d40
Fixes: 35902355
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
index 19b4b17..505e1d8 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
@@ -31,6 +31,7 @@
import android.util.Log;
import com.android.internal.telephony.cdma.EriInfo;
import com.android.settingslib.net.DataUsageController;
+import com.android.systemui.statusbar.phone.SignalDrawable;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
@@ -66,12 +67,10 @@
public class NetworkControllerBaseTest extends SysuiTestCase {
private static final String TAG = "NetworkControllerBaseTest";
protected static final int DEFAULT_LEVEL = 2;
- protected static final int DEFAULT_SIGNAL_STRENGTH =
- TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][DEFAULT_LEVEL];
- protected static final int DEFAULT_QS_SIGNAL_STRENGTH =
- TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][DEFAULT_LEVEL];
+ protected static final int DEFAULT_SIGNAL_STRENGTH = DEFAULT_LEVEL;
+ protected static final int DEFAULT_QS_SIGNAL_STRENGTH = DEFAULT_LEVEL;
protected static final int DEFAULT_ICON = TelephonyIcons.ICON_3G;
- protected static final int DEFAULT_QS_ICON = TelephonyIcons.QS_ICON_3G;
+ protected static final int DEFAULT_QS_ICON = TelephonyIcons.QS_DATA_3G;
protected NetworkControllerImpl mNetworkController;
protected MobileSignalController mMobileSignalController;
@@ -315,8 +314,10 @@
typeIconArg.capture(), dataInArg.capture(), dataOutArg.capture(),
anyString(), anyString(), anyBoolean(), anyInt(), anyBoolean());
IconState iconState = iconArg.getValue();
+ int state = SignalDrawable.getState(icon, SignalStrength.NUM_SIGNAL_STRENGTH_BINS,
+ false);
assertEquals("Visibility in, quick settings", visible, iconState.visible);
- assertEquals("Signal icon in, quick settings", icon, iconState.icon);
+ assertEquals("Signal icon in, quick settings", state, iconState.icon);
assertEquals("Data icon in, quick settings", typeIcon, (int) typeIconArg.getValue());
assertEquals("Data direction in, in quick settings", dataIn,
(boolean) dataInArg.getValue());
@@ -330,6 +331,11 @@
protected void verifyLastMobileDataIndicators(boolean visible, int icon, int typeIcon,
boolean roaming) {
+ verifyLastMobileDataIndicators(visible, icon, typeIcon, roaming, true);
+ }
+
+ protected void verifyLastMobileDataIndicators(boolean visible, int icon, int typeIcon,
+ boolean roaming, boolean inet) {
ArgumentCaptor<IconState> iconArg = ArgumentCaptor.forClass(IconState.class);
ArgumentCaptor<Integer> typeIconArg = ArgumentCaptor.forClass(Integer.class);
@@ -342,7 +348,9 @@
anyInt(), eq(roaming));
IconState iconState = iconArg.getValue();
- assertEquals("Signal icon in status bar", icon, iconState.icon);
+ int state = icon == -1 ? 0
+ : SignalDrawable.getState(icon, SignalStrength.NUM_SIGNAL_STRENGTH_BINS, !inet);
+ assertEquals("Signal icon in status bar", state, iconState.icon);
assertEquals("Data icon in status bar", typeIcon, (int) typeIconArg.getValue());
assertEquals("Visibility in status bar", visible, iconState.visible);
}
@@ -367,13 +375,15 @@
IconState iconState = iconArg.getValue();
+ int state = SignalDrawable.getState(icon, SignalStrength.NUM_SIGNAL_STRENGTH_BINS,
+ false);
assertEquals("Data icon in status bar", typeIcon, (int) typeIconArg.getValue());
- assertEquals("Signal icon in status bar", icon, iconState.icon);
+ assertEquals("Signal icon in status bar", state, iconState.icon);
assertEquals("Visibility in status bar", visible, iconState.visible);
iconState = qsIconArg.getValue();
assertEquals("Visibility in quick settings", qsVisible, iconState.visible);
- assertEquals("Signal icon in quick settings", qsIcon, iconState.icon);
+ assertEquals("Signal icon in quick settings", state, iconState.icon);
assertEquals("Data icon in quick settings", qsTypeIcon, (int) qsTypeIconArg.getValue());
assertEquals("Data direction in in quick settings", dataIn,
(boolean) dataInArg.getValue());
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
index e47f750..dfe00f9 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
@@ -24,7 +24,7 @@
public void test3gDataIcon() {
setupDefaultSignal();
- verifyDataIndicators(TelephonyIcons.DATA_3G[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_3G,
TelephonyIcons.QS_DATA_3G);
}
@@ -34,7 +34,7 @@
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_GSM);
- verifyDataIndicators(TelephonyIcons.DATA_G[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_G,
TelephonyIcons.QS_DATA_G);
}
@@ -44,7 +44,7 @@
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_CDMA);
- verifyDataIndicators(TelephonyIcons.DATA_1X[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_1X,
TelephonyIcons.QS_DATA_1X);
}
@@ -54,7 +54,7 @@
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_EDGE);
- verifyDataIndicators(TelephonyIcons.DATA_E[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_E,
TelephonyIcons.QS_DATA_E);
}
@@ -64,7 +64,7 @@
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
- verifyDataIndicators(TelephonyIcons.DATA_LTE[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_LTE,
TelephonyIcons.QS_DATA_LTE);
}
@@ -74,7 +74,7 @@
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_HSPA);
- verifyDataIndicators(TelephonyIcons.DATA_H[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_H,
TelephonyIcons.QS_DATA_H);
}
@@ -103,7 +103,7 @@
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
- verifyDataIndicators(TelephonyIcons.DATA_4G[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_4G,
TelephonyIcons.QS_DATA_4G);
}
@@ -147,7 +147,7 @@
// the after work.
mNetworkController.handleConfigurationChanged();
- verifyDataIndicators(TelephonyIcons.DATA_4G[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_4G,
TelephonyIcons.QS_DATA_4G);
}
@@ -157,13 +157,13 @@
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
- verifyDataIndicators(TelephonyIcons.DATA_LTE[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_LTE,
TelephonyIcons.QS_DATA_LTE);
when(mServiceState.getDataNetworkType())
.thenReturn(TelephonyManager.NETWORK_TYPE_HSPA);
updateServiceState();
- verifyDataIndicators(TelephonyIcons.DATA_H[1][0 /* No direction */],
+ verifyDataIndicators(TelephonyIcons.ICON_H,
TelephonyIcons.QS_DATA_H);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java
index 1555856..1627925 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java
@@ -30,6 +30,7 @@
import com.android.internal.telephony.TelephonyIntents;
import com.android.settingslib.net.DataUsageController;
import com.android.systemui.R;
+import com.android.systemui.statusbar.phone.SignalDrawable;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -60,7 +61,7 @@
mMockSubDefaults, mock(DeviceProvisionedController.class));
setupNetworkController();
- verifyLastMobileDataIndicators(false, 0, 0);
+ verifyLastMobileDataIndicators(false, -1, 0);
}
@Test
@@ -132,45 +133,45 @@
@Test
public void testSignalStrength() {
- for (int testStrength = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
- testStrength <= SignalStrength.SIGNAL_STRENGTH_GREAT; testStrength++) {
+ for (int testStrength = 0;
+ testStrength < SignalStrength.NUM_SIGNAL_STRENGTH_BINS; testStrength++) {
setupDefaultSignal();
setLevel(testStrength);
verifyLastMobileDataIndicators(true,
- TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][testStrength], DEFAULT_ICON);
+ testStrength, DEFAULT_ICON);
// Verify low inet number indexing.
setConnectivity(NetworkCapabilities.TRANSPORT_CELLULAR, false, true);
verifyLastMobileDataIndicators(true,
- TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[0][testStrength], DEFAULT_ICON);
+ testStrength, DEFAULT_ICON, false, false);
}
}
@Test
public void testCdmaSignalStrength() {
- for (int testStrength = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
- testStrength <= SignalStrength.SIGNAL_STRENGTH_GREAT; testStrength++) {
+ for (int testStrength = 0;
+ testStrength < SignalStrength.NUM_SIGNAL_STRENGTH_BINS; testStrength++) {
setupDefaultSignal();
setCdma();
setLevel(testStrength);
verifyLastMobileDataIndicators(true,
- TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][testStrength],
- TelephonyIcons.DATA_1X[1][0 /* No direction */]);
+ testStrength,
+ TelephonyIcons.ICON_1X);
}
}
@Test
public void testSignalRoaming() {
- for (int testStrength = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
- testStrength <= SignalStrength.SIGNAL_STRENGTH_GREAT; testStrength++) {
+ for (int testStrength = 0;
+ testStrength < SignalStrength.NUM_SIGNAL_STRENGTH_BINS; testStrength++) {
setupDefaultSignal();
setGsmRoaming(true);
setLevel(testStrength);
verifyLastMobileDataIndicators(true,
- TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING[1][testStrength],
+ testStrength,
DEFAULT_ICON, true);
}
}
@@ -185,8 +186,8 @@
setLevel(testStrength);
verifyLastMobileDataIndicators(true,
- TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING[1][testStrength],
- TelephonyIcons.DATA_1X[1][0 /* No direction */], true);
+ testStrength,
+ TelephonyIcons.ICON_1X, true);
}
}
@@ -198,7 +199,7 @@
setLevel(testStrength);
verifyLastQsMobileDataIndicators(true,
- TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][testStrength],
+ testStrength,
DEFAULT_QS_ICON, false, false);
}
}
@@ -212,8 +213,8 @@
setLevel(testStrength);
verifyLastQsMobileDataIndicators(true,
- TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][testStrength],
- TelephonyIcons.QS_ICON_1X, false, false);
+ testStrength,
+ TelephonyIcons.QS_DATA_1X, false, false);
}
}
@@ -223,7 +224,7 @@
setConnectivity(mMobileSignalController.mTransportType, false, false);
setConnectivity(NetworkCapabilities.TRANSPORT_WIFI, true, true);
- verifyLastMobileDataIndicators(true, TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][2], 0);
+ verifyLastMobileDataIndicators(true, DEFAULT_LEVEL, 0);
}
// Some tests of actual NetworkController code, just internals not display stuff
@@ -418,7 +419,7 @@
updateDataActivity(TelephonyManager.DATA_ACTIVITY_IN);
verifyLastQsMobileDataIndicators(true /* visible */,
- TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][DEFAULT_LEVEL] /* icon */,
+ DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
true /* dataIn */,
false /* dataOut */);
@@ -432,11 +433,10 @@
updateDataActivity(TelephonyManager.DATA_ACTIVITY_OUT);
verifyLastQsMobileDataIndicators(true /* visible */,
- TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][DEFAULT_LEVEL] /* icon */,
+ DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
false /* dataIn */,
true /* dataOut */);
-
}
@Test
@@ -446,7 +446,7 @@
updateDataActivity(TelephonyManager.DATA_ACTIVITY_INOUT);
verifyLastQsMobileDataIndicators(true /* visible */,
- TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][DEFAULT_LEVEL] /* icon */,
+ DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
true /* dataIn */,
true /* dataOut */);
@@ -460,7 +460,7 @@
updateDataActivity(TelephonyManager.DATA_ACTIVITY_NONE);
verifyLastQsMobileDataIndicators(true /* visible */,
- TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][DEFAULT_LEVEL] /* icon */,
+ DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
false /* dataIn */,
false /* dataOut */);
@@ -476,7 +476,7 @@
// Verify baseline
verifyLastMobileDataIndicators(true /* visible */,
- TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][strength] /* strengthIcon */,
+ strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */);
// API call is made
@@ -484,7 +484,7 @@
// Carrier network change is true, show special indicator
verifyLastMobileDataIndicators(true /* visible */,
- TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE[0][0] /* strengthIcon */,
+ SignalDrawable.getCarrierChangeState(SignalStrength.NUM_SIGNAL_STRENGTH_BINS),
0 /* typeIcon */);
// Revert back
@@ -492,7 +492,7 @@
// Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */,
- TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][strength] /* strengthIcon */,
+ strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java
index 483a837..73fa5aa1 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java
@@ -218,7 +218,7 @@
setConnectivity(NetworkCapabilities.TRANSPORT_WIFI, true, true);
setConnectivity(NetworkCapabilities.TRANSPORT_CELLULAR, false, false);
verifyLastMobileDataIndicators(true,
- TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING[1][DEFAULT_LEVEL],
+ DEFAULT_LEVEL,
0, true);
}