Merge "Update incompatible charger checking rule" into udc-dev am: 82a93d6a8c

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23487504

Change-Id: I8e24a136cc49fd769d0d45d8d6b5b288dabfc97c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
YK Hung
2023-06-02 01:22:04 +00:00
committed by Automerger Merge Worker
2 changed files with 26 additions and 5 deletions

View File

@@ -688,8 +688,12 @@ public class Utils {
continue;
}
for (int complianceWarningType : complianceWarnings) {
if (complianceWarningType != 0) {
return true;
switch (complianceWarningType) {
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
public void containsIncompatibleChargers_returnTrue() {
setupIncompatibleCharging();
public void containsIncompatibleChargers_complianeWarningOther_returnTrue() {
setupIncompatibleCharging(UsbPortStatus.COMPLIANCE_WARNING_OTHER);
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
public void containsIncompatibleChargers_emptyComplianceWarnings_returnFalse() {
setupIncompatibleCharging();
@@ -494,12 +506,17 @@ public class UtilsTest {
}
private void setupIncompatibleCharging() {
setupIncompatibleCharging(UsbPortStatus.COMPLIANCE_WARNING_OTHER);
}
private void setupIncompatibleCharging(int complianceWarningType) {
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});
when(mUsbPortStatus.getComplianceWarnings())
.thenReturn(new int[]{complianceWarningType});
}
}