diff options
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/Utils.java | 3 | ||||
| -rw-r--r-- | packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java | 36 |
2 files changed, 29 insertions, 10 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/Utils.java b/packages/SettingsLib/src/com/android/settingslib/Utils.java index 8a30a3bbe784..888b09fafd3b 100644 --- a/packages/SettingsLib/src/com/android/settingslib/Utils.java +++ b/packages/SettingsLib/src/com/android/settingslib/Utils.java @@ -653,6 +653,9 @@ public class Utils { } for (UsbPort usbPort : usbPortList) { Log.d(tag, "usbPort: " + usbPort); + if (!usbPort.supportsComplianceWarnings()) { + continue; + } final UsbPortStatus usbStatus = usbPort.getStatus(); if (usbStatus == null || !usbStatus.isConnected()) { continue; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java index 68a1e194c15b..dce1e206e321 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java @@ -448,25 +448,41 @@ public class UtilsTest { @Test public void containsIncompatibleChargers_returnTrue() { - final List<UsbPort> usbPorts = new ArrayList<>(); - usbPorts.add(mUsbPort); - when(mUsbManager.getPorts()).thenReturn(usbPorts); - when(mUsbPort.getStatus()).thenReturn(mUsbPortStatus); - when(mUsbPortStatus.isConnected()).thenReturn(true); - when(mUsbPortStatus.getComplianceWarnings()).thenReturn(new int[]{1}); - + setupIncompatibleCharging(); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isTrue(); } @Test public void containsIncompatibleChargers_emptyComplianceWarnings_returnFalse() { + setupIncompatibleCharging(); + when(mUsbPortStatus.getComplianceWarnings()).thenReturn(new int[1]); + + assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); + } + + @Test + public void containsIncompatibleChargers_notSupportComplianceWarnings_returnFalse() { + setupIncompatibleCharging(); + when(mUsbPort.supportsComplianceWarnings()).thenReturn(false); + + assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); + } + + @Test + public void containsIncompatibleChargers_usbNotConnected_returnFalse() { + setupIncompatibleCharging(); + when(mUsbPortStatus.isConnected()).thenReturn(false); + + assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); + } + + private void setupIncompatibleCharging() { final List<UsbPort> usbPorts = new ArrayList<>(); usbPorts.add(mUsbPort); when(mUsbManager.getPorts()).thenReturn(usbPorts); when(mUsbPort.getStatus()).thenReturn(mUsbPortStatus); + when(mUsbPort.supportsComplianceWarnings()).thenReturn(true); when(mUsbPortStatus.isConnected()).thenReturn(true); - when(mUsbPortStatus.getComplianceWarnings()).thenReturn(new int[1]); - - assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); + when(mUsbPortStatus.getComplianceWarnings()).thenReturn(new int[]{1}); } } |