diff options
| author | 2015-03-30 05:07:13 +0000 | |
|---|---|---|
| committer | 2015-03-30 05:07:17 +0000 | |
| commit | c45fd20f55290d2292a0e3c84e3afab60d7e9e60 (patch) | |
| tree | 894e484d9ba301142f3f10c1feedd8ac4a8a9f15 | |
| parent | f37c099c70c0b1bb86c11256efd5878ca01ee980 (diff) | |
| parent | 71651d37125a5fe7339fb5f140876c891a8275df (diff) | |
Merge "CEC: Do not send <ARC Terminated> when init request gets rejected"
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.  |