Merge "Remove pending actions when standby" am: 9575e87746
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1317235 Change-Id: I25e03c823b1b1d870547b4f226b3d63262b198b4
This commit is contained in:
@@ -619,8 +619,10 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addAndStartAction(new NewDeviceAction(this, activeSource.logicalAddress,
|
if (!mService.isPowerStandbyOrTransient()) {
|
||||||
activeSource.physicalAddress, deviceType));
|
addAndStartAction(new NewDeviceAction(this, activeSource.logicalAddress,
|
||||||
|
activeSource.physicalAddress, deviceType));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean handleNewDeviceAtTheTailOfActivePath(int path) {
|
private boolean handleNewDeviceAtTheTailOfActivePath(int path) {
|
||||||
@@ -796,10 +798,12 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
|||||||
@ServiceThreadOnly
|
@ServiceThreadOnly
|
||||||
void onNewAvrAdded(HdmiDeviceInfo avr) {
|
void onNewAvrAdded(HdmiDeviceInfo avr) {
|
||||||
assertRunOnServiceThread();
|
assertRunOnServiceThread();
|
||||||
addAndStartAction(new SystemAudioAutoInitiationAction(this, avr.getLogicalAddress()));
|
if (!mService.isPowerStandbyOrTransient()) {
|
||||||
if (isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId())
|
addAndStartAction(new SystemAudioAutoInitiationAction(this, avr.getLogicalAddress()));
|
||||||
&& !hasAction(SetArcTransmissionStateAction.class)) {
|
if (isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId())
|
||||||
startArcAction(true);
|
&& !hasAction(SetArcTransmissionStateAction.class)) {
|
||||||
|
startArcAction(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1656,6 +1660,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
|||||||
// Remove recording actions.
|
// Remove recording actions.
|
||||||
removeAction(OneTouchRecordAction.class);
|
removeAction(OneTouchRecordAction.class);
|
||||||
removeAction(TimerRecordingAction.class);
|
removeAction(TimerRecordingAction.class);
|
||||||
|
removeAction(NewDeviceAction.class);
|
||||||
|
|
||||||
disableSystemAudioIfExist();
|
disableSystemAudioIfExist();
|
||||||
disableArcIfExist();
|
disableArcIfExist();
|
||||||
@@ -1696,12 +1701,20 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
|||||||
setArcStatus(false);
|
setArcStatus(false);
|
||||||
|
|
||||||
// Seq #44.
|
// Seq #44.
|
||||||
removeAction(RequestArcInitiationAction.class);
|
removeAllRunningArcAction();
|
||||||
if (!hasAction(RequestArcTerminationAction.class) && isArcEstablished()) {
|
if (!hasAction(RequestArcTerminationAction.class) && isArcEstablished()) {
|
||||||
addAndStartAction(new RequestArcTerminationAction(this, avr.getLogicalAddress()));
|
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
|
@Override
|
||||||
@ServiceThreadOnly
|
@ServiceThreadOnly
|
||||||
protected void onStandby(boolean initiatedByCec, int standbyAction) {
|
protected void onStandby(boolean initiatedByCec, int standbyAction) {
|
||||||
|
|||||||
Reference in New Issue
Block a user