diff options
| author | 2022-12-21 11:44:36 +0800 | |
|---|---|---|
| committer | 2022-12-21 06:29:21 +0000 | |
| commit | c203010bd32f37e6ac350c821fbd83f6f4e6afaf (patch) | |
| tree | fd64c427625924769c814e88c66268df2d2e3b91 | |
| parent | 0e348c484a0f6d2e805bfb626ed32de1c5131789 (diff) | |
Add supportsComplianceWarnings() new checking condition
Add supportsComplianceWarnings() new checking condition based on the
https://b.corp.google.com/issues/246960554#comment19 (updated from the Usb firmware)
ADB command:
```
adb shell dumpsys usb add-port "matrix" dual --compliance-warnings; adb shell dumpsys usb connect-port "matrix" ufp? sink? device?; adb shell dumpsys usb set-compliance-reasons "matrix" 4
```
Bug: 246960554
Test: make test RunSettingsLibRoboTests -j40
Change-Id: Idea8f2ba2d79fbb8838e9a1abeee0ddd78d01ba8
| -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}); } } |