summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author daren.liao <daren.liao@mediatek.com> 2021-07-20 15:11:53 +0800
committer Daren Liao <daren.liao@mediatek.com> 2021-09-29 05:46:33 +0000
commitc5093cfb71ececda4eaa1cd3771f5661b09336ed (patch)
treebb96fe5f03d9a8e73e5180aa2752dff6c5801f6a
parent2adba7dd4a621ab3160623523cbdde8fa280b7cf (diff)
Fix SystemAudioAutoInitiationAction not started
[Description] revert part of solution in 55bc36d33c284f50190641792ac90a26c8d8e0ed On Android R, TV's power status is TRANSIENT_TO_STANDBY by default, in this case, device information related actions should be started as well, that's why we allow SystemAudioAutoInitiationAction and NewDeviceAction to be started When TV boot up, SystemAudioAutoInitiationAction is not started if power statusof HdmiControlService is not ON This happens if onNewAvrAdded is called before SystemService.PHASE_BOOT_COMPLETED Bug: 194429425 Test: Build PASS Boot with ARC device plugged PASS Change-Id: I79cd1d4f5a180a052be49df186505e579f7d1339
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java20
1 files changed, 8 insertions, 12 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
index 8bb5204ee083..66227d384f3c 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
@@ -619,10 +619,8 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
}
}
- if (!mService.isPowerStandbyOrTransient()) {
- addAndStartAction(new NewDeviceAction(this, activeSource.logicalAddress,
- activeSource.physicalAddress, deviceType));
- }
+ addAndStartAction(new NewDeviceAction(this, activeSource.logicalAddress,
+ activeSource.physicalAddress, deviceType));
}
private boolean handleNewDeviceAtTheTailOfActivePath(int path) {
@@ -798,14 +796,12 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
@ServiceThreadOnly
void onNewAvrAdded(HdmiDeviceInfo avr) {
assertRunOnServiceThread();
- if (!mService.isPowerStandbyOrTransient()) {
- addAndStartAction(new SystemAudioAutoInitiationAction(this, avr.getLogicalAddress()));
- if (!isDirectConnectAddress(avr.getPhysicalAddress())) {
- startArcAction(false);
- } else if (isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId())
- && !hasAction(SetArcTransmissionStateAction.class)) {
- startArcAction(true);
- }
+ addAndStartAction(new SystemAudioAutoInitiationAction(this, avr.getLogicalAddress()));
+ if (!isDirectConnectAddress(avr.getPhysicalAddress())) {
+ startArcAction(false);
+ } else if (isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId())
+ && !hasAction(SetArcTransmissionStateAction.class)) {
+ startArcAction(true);
}
}