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

Commit 1d56c581 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of ['googleplex-android-review.googlesource.com/23428200',...

Merge cherrypicks of ['googleplex-android-review.googlesource.com/23428200', 'googleplex-android-review.googlesource.com/23479325'] into sparse-10217051-L92600000960987363.
SPARSE_CHANGE: I02ddaa5e823379510e9c81a8d803d5269e6d85ad
SPARSE_CHANGE: If1c14cc0a4e3fbdfbed2c105d37ece9a866f18ed

Change-Id: Idb5cfe95571ccd635488ebdcbf0de1dff247dca3
parents ab24d7c1 bf75a058
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -214,7 +214,6 @@ open class ControlsProviderSelectorActivity @Inject constructor(
                    putExtra(ControlsFavoritingActivity.EXTRA_FROM_PROVIDER_SELECTOR, true)
                }
                startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle())
                animateExitAndFinish()
            }
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ class ControlsProviderSelectorActivityTest : SysuiTestCase() {
        assertThat(activityRule.activity.lastStartedActivity?.component?.className)
            .isEqualTo(ControlsFavoritingActivity::class.java.name)

        assertThat(activityRule.activity.triedToFinish).isTrue()
        assertThat(activityRule.activity.triedToFinish).isFalse()
    }

    @Test
+34 −8
Original line number Diff line number Diff line
@@ -584,15 +584,34 @@ public final class UsbDescriptorParser {
    }

    /**
     * Returns true only if there is a terminal whose subtype and terminal type are the same as
     * the given values.
     * @hide
     */
    public boolean hasAudioTerminal(int subType) {
    public boolean hasAudioTerminal(int subType, int terminalType) {
        for (UsbDescriptor descriptor : mDescriptors) {
            if (descriptor instanceof UsbACInterface) {
                if (((UsbACInterface) descriptor).getSubclass()
                        == UsbDescriptor.AUDIO_AUDIOCONTROL
                        && ((UsbACInterface) descriptor).getSubtype()
                        == subType) {
            if (descriptor instanceof UsbACTerminal) {
                if (((UsbACTerminal) descriptor).getSubclass() == UsbDescriptor.AUDIO_AUDIOCONTROL
                        && ((UsbACTerminal) descriptor).getSubtype() == subType
                        && ((UsbACTerminal) descriptor).getTerminalType() == terminalType) {
                    return true;
                }
            }
        }
        return false;
    }

    /**
     * Returns true only if there is an interface whose subtype is the same as the given one and
     * terminal type is different from the given one.
     * @hide
     */
    public boolean hasAudioTerminalExcludeType(int subType, int excludedTerminalType) {
        for (UsbDescriptor descriptor : mDescriptors) {
            if (descriptor instanceof UsbACTerminal) {
                if (((UsbACTerminal) descriptor).getSubclass() == UsbDescriptor.AUDIO_AUDIOCONTROL
                        && ((UsbACTerminal) descriptor).getSubtype() == subType
                        && ((UsbACTerminal) descriptor).getTerminalType() != excludedTerminalType) {
                    return true;
                }
            }
@@ -604,14 +623,21 @@ public final class UsbDescriptorParser {
     * @hide
     */
    public boolean hasAudioPlayback() {
        return hasAudioTerminal(UsbACInterface.ACI_OUTPUT_TERMINAL);
        return hasAudioTerminalExcludeType(
                UsbACInterface.ACI_OUTPUT_TERMINAL, UsbTerminalTypes.TERMINAL_USB_STREAMING)
                && hasAudioTerminal(
                        UsbACInterface.ACI_INPUT_TERMINAL, UsbTerminalTypes.TERMINAL_USB_STREAMING);
    }

    /**
     * @hide
     */
    public boolean hasAudioCapture() {
        return hasAudioTerminal(UsbACInterface.ACI_INPUT_TERMINAL);
        return hasAudioTerminalExcludeType(
                UsbACInterface.ACI_INPUT_TERMINAL, UsbTerminalTypes.TERMINAL_USB_STREAMING)
                && hasAudioTerminal(
                        UsbACInterface.ACI_OUTPUT_TERMINAL,
                        UsbTerminalTypes.TERMINAL_USB_STREAMING);
    }

    /**