summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jinsuk Kim <jinsukkim@google.com> 2015-03-30 05:07:13 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-03-30 05:07:17 +0000
commitc45fd20f55290d2292a0e3c84e3afab60d7e9e60 (patch)
tree894e484d9ba301142f3f10c1feedd8ac4a8a9f15
parentf37c099c70c0b1bb86c11256efd5878ca01ee980 (diff)
parent71651d37125a5fe7339fb5f140876c891a8275df (diff)
Merge "CEC: Do not send <ARC Terminated> when init request gets rejected"
-rw-r--r--services/core/java/com/android/server/hdmi/RequestArcAction.java12
-rw-r--r--services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java6
-rw-r--r--services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java1
3 files changed, 11 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/hdmi/RequestArcAction.java b/services/core/java/com/android/server/hdmi/RequestArcAction.java
index cbbf91b6cc94..75a79cb0213c 100644
--- a/services/core/java/com/android/server/hdmi/RequestArcAction.java
+++ b/services/core/java/com/android/server/hdmi/RequestArcAction.java
@@ -58,14 +58,16 @@ abstract class RequestArcAction extends HdmiCecFeatureAction {
// received without <Request ARC Initiation> or <Request ARC Termination>.
case Constants.MESSAGE_FEATURE_ABORT:
int originalOpcode = cmd.getParams()[0] & 0xFF;
- if (originalOpcode == Constants.MESSAGE_REQUEST_ARC_INITIATION
- || originalOpcode == Constants.MESSAGE_REQUEST_ARC_TERMINATION) {
+ if (originalOpcode == Constants.MESSAGE_REQUEST_ARC_TERMINATION) {
disableArcTransmission();
finish();
return true;
- } else {
- return false;
+ } else if (originalOpcode == Constants.MESSAGE_REQUEST_ARC_INITIATION) {
+ tv().setArcStatus(false);
+ finish();
+ return true;
}
+ return false;
}
return false;
}
@@ -82,7 +84,7 @@ abstract class RequestArcAction extends HdmiCecFeatureAction {
if (mState != state || state != STATE_WATING_FOR_REQUEST_ARC_REQUEST_RESPONSE) {
return;
}
- HdmiLogger.debug("[T]RequestArcAction.");
+ HdmiLogger.debug("[T] RequestArcAction.");
disableArcTransmission();
finish();
}
diff --git a/services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java b/services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java
index d9e1f24d95e9..f69f975a4b67 100644
--- a/services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java
+++ b/services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java
@@ -35,6 +35,7 @@ final class RequestArcInitiationAction extends RequestArcAction {
@Override
boolean start() {
+ // Seq #38
mState = STATE_WATING_FOR_REQUEST_ARC_REQUEST_RESPONSE;
addTimer(mState, HdmiConfig.TIMEOUT_MS);
@@ -44,9 +45,8 @@ final class RequestArcInitiationAction extends RequestArcAction {
@Override
public void onSendCompleted(int error) {
if (error != Constants.SEND_RESULT_SUCCESS) {
- // If failed to send <Request ARC Initiation>, start "Disabled"
- // ARC transmission action.
- disableArcTransmission();
+ // Turn off ARC status if <Request ARC Initiation> fails.
+ tv().setArcStatus(false);
finish();
}
}
diff --git a/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java b/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java
index bffa854b79e5..d200d359bffb 100644
--- a/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java
+++ b/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java
@@ -52,6 +52,7 @@ final class SetArcTransmissionStateAction extends HdmiCecFeatureAction {
@Override
boolean start() {
+ // Seq #37.
if (mEnabled) {
// Enable ARC status immediately after sending <Report Arc Initiated>.
// If AVR responds with <Feature Abort>, disable ARC status again.