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

Commit 9a2a81df authored by Jay Patel's avatar Jay Patel Committed by Automerger Merge Worker
Browse files

Merge "Remove pending actions when standby" am: 9575e877 am: ce155616 am:...

Merge "Remove pending actions when standby" am: 9575e877 am: ce155616 am: 9896cb3e am: 099fc4db

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

Change-Id: I6efe06ed09391dd4814d6e4ed6f742ee00667382
parents c479dc5b 099fc4db
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -556,9 +556,11 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
            }
        }

        if (!mService.isPowerStandbyOrTransient()) {
            addAndStartAction(new NewDeviceAction(this, activeSource.logicalAddress,
                    activeSource.physicalAddress, deviceType));
        }
    }

    private boolean handleNewDeviceAtTheTailOfActivePath(int path) {
        // Seq #22
@@ -709,12 +711,14 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
    @ServiceThreadOnly
    void onNewAvrAdded(HdmiDeviceInfo avr) {
        assertRunOnServiceThread();
        if (!mService.isPowerStandbyOrTransient()) {
            addAndStartAction(new SystemAudioAutoInitiationAction(this, avr.getLogicalAddress()));
            if (isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId())
                    && !hasAction(SetArcTransmissionStateAction.class)) {
                startArcAction(true);
            }
        }
    }

    // Clear all device info.
    @ServiceThreadOnly
@@ -1263,6 +1267,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
        // Remove recording actions.
        removeAction(OneTouchRecordAction.class);
        removeAction(TimerRecordingAction.class);
        removeAction(NewDeviceAction.class);

        disableSystemAudioIfExist();
        disableArcIfExist();
@@ -1303,12 +1308,20 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
        setArcStatus(false);

        // Seq #44.
        removeAction(RequestArcInitiationAction.class);
        removeAllRunningArcAction();
        if (!hasAction(RequestArcTerminationAction.class) && isArcEstablished()) {
            addAndStartAction(new RequestArcTerminationAction(this, avr.getLogicalAddress()));
        }
    }

    @ServiceThreadOnly
    private void removeAllRunningArcAction() {
        // Running or pending actions make TV fail to broadcast <Standby> to connected devices
        removeAction(RequestArcTerminationAction.class);
        removeAction(RequestArcInitiationAction.class);
        removeAction(SetArcTransmissionStateAction.class);
    }

    @Override
    @ServiceThreadOnly
    protected void onStandby(boolean initiatedByCec, int standbyAction) {