Merge "Update incompatible charger checking rule" into udc-dev

This commit is contained in:
YK Hung
2023-06-02 00:50:18 +00:00
committed by Android (Google) Code Review
2 changed files with 26 additions and 5 deletions

View File

@@ -688,8 +688,12 @@ public class Utils {
continue; continue;
} }
for (int complianceWarningType : complianceWarnings) { for (int complianceWarningType : complianceWarnings) {
if (complianceWarningType != 0) { switch (complianceWarningType) {
return true; case UsbPortStatus.COMPLIANCE_WARNING_OTHER:
case UsbPortStatus.COMPLIANCE_WARNING_DEBUG_ACCESSORY:
return true;
default:
break;
} }
} }
} }

View File

@@ -455,11 +455,23 @@ public class UtilsTest {
} }
@Test @Test
public void containsIncompatibleChargers_returnTrue() { public void containsIncompatibleChargers_complianeWarningOther_returnTrue() {
setupIncompatibleCharging(); setupIncompatibleCharging(UsbPortStatus.COMPLIANCE_WARNING_OTHER);
assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isTrue(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isTrue();
} }
@Test
public void containsIncompatibleChargers_complianeWarningDebug_returnTrue() {
setupIncompatibleCharging(UsbPortStatus.COMPLIANCE_WARNING_DEBUG_ACCESSORY);
assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isTrue();
}
@Test
public void containsIncompatibleChargers_unexpectedWarningType_returnFalse() {
setupIncompatibleCharging(UsbPortStatus.COMPLIANCE_WARNING_BC_1_2);
assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse();
}
@Test @Test
public void containsIncompatibleChargers_emptyComplianceWarnings_returnFalse() { public void containsIncompatibleChargers_emptyComplianceWarnings_returnFalse() {
setupIncompatibleCharging(); setupIncompatibleCharging();
@@ -494,12 +506,17 @@ public class UtilsTest {
} }
private void setupIncompatibleCharging() { private void setupIncompatibleCharging() {
setupIncompatibleCharging(UsbPortStatus.COMPLIANCE_WARNING_OTHER);
}
private void setupIncompatibleCharging(int complianceWarningType) {
final List<UsbPort> usbPorts = new ArrayList<>(); final List<UsbPort> usbPorts = new ArrayList<>();
usbPorts.add(mUsbPort); usbPorts.add(mUsbPort);
when(mUsbManager.getPorts()).thenReturn(usbPorts); when(mUsbManager.getPorts()).thenReturn(usbPorts);
when(mUsbPort.getStatus()).thenReturn(mUsbPortStatus); when(mUsbPort.getStatus()).thenReturn(mUsbPortStatus);
when(mUsbPort.supportsComplianceWarnings()).thenReturn(true); when(mUsbPort.supportsComplianceWarnings()).thenReturn(true);
when(mUsbPortStatus.isConnected()).thenReturn(true); when(mUsbPortStatus.isConnected()).thenReturn(true);
when(mUsbPortStatus.getComplianceWarnings()).thenReturn(new int[]{1}); when(mUsbPortStatus.getComplianceWarnings())
.thenReturn(new int[]{complianceWarningType});
} }
} }