OSDN Git Service

DO NOT MERGE: Do not reply with <Feature Abort> to CEC Broadcast message
authorJinsuk Kim <jinsukkim@google.com>
Wed, 28 May 2014 21:52:45 +0000 (06:52 +0900)
committerJungshik Jang <jayjang@google.com>
Mon, 2 Jun 2014 02:01:45 +0000 (11:01 +0900)
Broadcast message is not targeted to a specific device but for
announcement. Individual reponse with <Feature Abort> is neither
necessary nor useful. Changed to send the message back only for
direct messages.

Change-Id: I927aa8e58a9868e158ed945c753492207e7c97f6

services/core/java/com/android/server/hdmi/HdmiCecController.java

index 292f1cd..e0a01f0 100644 (file)
@@ -499,14 +499,14 @@ final class HdmiCecController {
             return;
         }
 
-        // TODO: Use device's source address for broadcast message.
-        int sourceAddress = message.getDestination() != HdmiCec.ADDR_BROADCAST ?
-                message.getDestination() : 0;
-        // Reply <Feature Abort> to initiator (source) for all requests.
-        HdmiCecMessage cecMessage = HdmiCecMessageBuilder.buildFeatureAbortCommand
-                (sourceAddress, message.getSource(), message.getOpcode(),
-                        HdmiCecMessageBuilder.ABORT_REFUSED);
-        sendCommand(cecMessage, null);
+        if (message.getDestination() != HdmiCec.ADDR_BROADCAST) {
+            int sourceAddress = message.getDestination();
+            // Reply <Feature Abort> to initiator (source) for all requests.
+            HdmiCecMessage cecMessage = HdmiCecMessageBuilder.buildFeatureAbortCommand(
+                    sourceAddress, message.getSource(), message.getOpcode(),
+                    HdmiCecMessageBuilder.ABORT_REFUSED);
+            sendCommand(cecMessage, null);
+        }
     }
 
     void sendCommand(HdmiCecMessage cecMessage) {