From af4c19394e841b7ec89e7bf4859a943634d45bc6 Mon Sep 17 00:00:00 2001 From: Amin Shaikh Date: Thu, 8 Mar 2018 10:29:56 -0500 Subject: [PATCH] Remove upper left X icon on mobile signal. Use the signal drawable cutout to represent both data disabled and no internet state. ag/3690757 displays the description of these icons ("No internet" or "Mobile data off") in the secondary text of the mobile data tile. Bug: 72540392 Test: visual && runtest systemui Change-Id: I806c41bc96420c42461c0a75b93a485f9a2186f7 --- .../res/drawable/ic_qs_data_disabled.xml | 25 ------------------- .../res/drawable/stat_sys_data_disabled.xml | 25 ------------------- .../policy/MobileSignalController.java | 7 ++++-- .../statusbar/policy/TelephonyIcons.java | 8 ++---- .../policy/NetworkControllerBaseTest.java | 9 ++++++- .../policy/NetworkControllerDataTest.java | 20 +++++++++++++-- 6 files changed, 33 insertions(+), 61 deletions(-) delete mode 100644 packages/SystemUI/res/drawable/ic_qs_data_disabled.xml delete mode 100644 packages/SystemUI/res/drawable/stat_sys_data_disabled.xml diff --git a/packages/SystemUI/res/drawable/ic_qs_data_disabled.xml b/packages/SystemUI/res/drawable/ic_qs_data_disabled.xml deleted file mode 100644 index 89089757bcc9f..0000000000000 --- a/packages/SystemUI/res/drawable/ic_qs_data_disabled.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - diff --git a/packages/SystemUI/res/drawable/stat_sys_data_disabled.xml b/packages/SystemUI/res/drawable/stat_sys_data_disabled.xml deleted file mode 100644 index ea794d47312ff..0000000000000 --- a/packages/SystemUI/res/drawable/stat_sys_data_disabled.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java index f0854edeaece4..d3f74ef7f0747 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java @@ -251,8 +251,11 @@ public class MobileSignalController extends SignalController< if (mConfig.inflateSignalStrengths) { level++; } - return SignalDrawable.getState(level, getNumLevels(), - mCurrentState.inetCondition == 0); + boolean dataDisabled = mCurrentState.userSetup + && mCurrentState.iconGroup == TelephonyIcons.DATA_DISABLED; + boolean noInternet = mCurrentState.inetCondition == 0; + boolean cutOut = dataDisabled || noInternet; + return SignalDrawable.getState(level, getNumLevels(), cutOut); } else if (mCurrentState.enabled) { return SignalDrawable.getEmptyState(getNumLevels()); } else { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java index aaa0568a72cde..09a1e44e4c4b5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java @@ -44,10 +44,6 @@ class TelephonyIcons { static final int ICON_4G_PLUS = R.drawable.stat_sys_data_fully_connected_4g_plus; static final int ICON_1X = R.drawable.stat_sys_data_fully_connected_1x; - static final int ICON_DATA_DISABLED = R.drawable.stat_sys_data_disabled; - - static final int QS_ICON_DATA_DISABLED = R.drawable.ic_qs_data_disabled; - static final MobileIconGroup CARRIER_NETWORK_CHANGE = new MobileIconGroup( "CARRIER_NETWORK_CHANGE", null, @@ -232,9 +228,9 @@ class TelephonyIcons { 0, AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0], R.string.accessibility_cell_data_off, - TelephonyIcons.ICON_DATA_DISABLED, + 0, false, - TelephonyIcons.QS_ICON_DATA_DISABLED + 0 ); } 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 8aab837cb7d8c..27cd9a04aaca1 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 @@ -353,6 +353,13 @@ public class NetworkControllerBaseTest extends SysuiTestCase { protected void verifyLastMobileDataIndicators(boolean visible, int icon, int typeIcon, boolean qsVisible, int qsIcon, int qsTypeIcon, boolean dataIn, boolean dataOut) { + verifyLastMobileDataIndicators( + visible, icon, typeIcon, qsVisible, qsIcon, qsTypeIcon, dataIn, dataOut, false); + } + + protected void verifyLastMobileDataIndicators(boolean visible, int icon, int typeIcon, + boolean qsVisible, int qsIcon, int qsTypeIcon, boolean dataIn, boolean dataOut, + boolean cutOut) { ArgumentCaptor iconArg = ArgumentCaptor.forClass(IconState.class); ArgumentCaptor typeIconArg = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor qsIconArg = ArgumentCaptor.forClass(IconState.class); @@ -372,7 +379,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase { IconState iconState = iconArg.getValue(); int state = SignalDrawable.getState(icon, SignalStrength.NUM_SIGNAL_STRENGTH_BINS, - false); + cutOut); assertEquals("Data icon in status bar", typeIcon, (int) typeIconArg.getValue()); assertEquals("Signal icon in status bar", state, iconState.icon); assertEquals("Visibility in status bar", visible, iconState.visible); 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 3b796caa98df1..cf3620d1b2b88 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 @@ -110,6 +110,20 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { TelephonyIcons.QS_DATA_4G); } + @Test + public void testNoInternetIcon() { + setupNetworkController(); + when(mMockTm.getDataEnabled(mSubId)).thenReturn(false); + setupDefaultSignal(); + updateDataConnectionState(TelephonyManager.DATA_CONNECTED, 0); + setConnectivity(NetworkCapabilities.TRANSPORT_CELLULAR, false, false); + + // Verify that a SignalDrawable with a cut out is used to display data disabled. + verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, 0, + true, DEFAULT_QS_SIGNAL_STRENGTH, 0, false, + false, true); + } + @Test public void testDataDisabledIcon() { setupNetworkController(); @@ -118,8 +132,10 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0); setConnectivity(NetworkCapabilities.TRANSPORT_CELLULAR, false, false); - verifyDataIndicators(TelephonyIcons.ICON_DATA_DISABLED, - TelephonyIcons.QS_ICON_DATA_DISABLED); + // Verify that a SignalDrawable with a cut out is used to display data disabled. + verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, 0, + true, DEFAULT_QS_SIGNAL_STRENGTH, 0, false, + false, true); } @Test