summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author ykhung <ykhung@google.com> 2022-12-21 11:44:36 +0800
committer YK Hung <ykhung@google.com> 2022-12-21 06:29:21 +0000
commitc203010bd32f37e6ac350c821fbd83f6f4e6afaf (patch)
treefd64c427625924769c814e88c66268df2d2e3b91
parent0e348c484a0f6d2e805bfb626ed32de1c5131789 (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.java3
-rw-r--r--packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java36
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});
}
}