Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffd6d6a7 authored by YK Hung's avatar YK Hung Committed by Automerger Merge Worker
Browse files

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

parents d4c51c2f 82a93d6a
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -688,8 +688,12 @@ public class Utils {
                continue;
                continue;
            }
            }
            for (int complianceWarningType : complianceWarnings) {
            for (int complianceWarningType : complianceWarnings) {
                if (complianceWarningType != 0) {
                switch (complianceWarningType) {
                    case UsbPortStatus.COMPLIANCE_WARNING_OTHER:
                    case UsbPortStatus.COMPLIANCE_WARNING_DEBUG_ACCESSORY:
                        return true;
                        return true;
                    default:
                        break;
                }
                }
            }
            }
        }
        }
+20 −3
Original line number Original line Diff line number Diff line
@@ -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();
    }

    @Test
    public void containsIncompatibleChargers_complianeWarningDebug_returnTrue() {
        setupIncompatibleCharging(UsbPortStatus.COMPLIANCE_WARNING_DEBUG_ACCESSORY);
        assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isTrue();
        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});
    }
    }
}
}