Merge "Remove pending actions when standby" am: 9575e87746 am: ce15561657 am: 9896cb3eaf
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1317235 Change-Id: Ia551711180c2896ee3f6ec0128ed67ccb2f9e51b
This commit is contained in:
@@ -556,8 +556,10 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
}
|
||||
}
|
||||
|
||||
addAndStartAction(new NewDeviceAction(this, activeSource.logicalAddress,
|
||||
activeSource.physicalAddress, deviceType));
|
||||
if (!mService.isPowerStandbyOrTransient()) {
|
||||
addAndStartAction(new NewDeviceAction(this, activeSource.logicalAddress,
|
||||
activeSource.physicalAddress, deviceType));
|
||||
}
|
||||
}
|
||||
|
||||
private boolean handleNewDeviceAtTheTailOfActivePath(int path) {
|
||||
@@ -709,10 +711,12 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
@ServiceThreadOnly
|
||||
void onNewAvrAdded(HdmiDeviceInfo avr) {
|
||||
assertRunOnServiceThread();
|
||||
addAndStartAction(new SystemAudioAutoInitiationAction(this, avr.getLogicalAddress()));
|
||||
if (isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId())
|
||||
&& !hasAction(SetArcTransmissionStateAction.class)) {
|
||||
startArcAction(true);
|
||||
if (!mService.isPowerStandbyOrTransient()) {
|
||||
addAndStartAction(new SystemAudioAutoInitiationAction(this, avr.getLogicalAddress()));
|
||||
if (isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId())
|
||||
&& !hasAction(SetArcTransmissionStateAction.class)) {
|
||||
startArcAction(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user