diff options
-rw-r--r-- | services/core/java/com/android/server/hdmi/HdmiCecController.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecController.java b/services/core/java/com/android/server/hdmi/HdmiCecController.java index 5696fbaf3679..f2e2f653f929 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecController.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecController.java @@ -1207,9 +1207,11 @@ final class HdmiCecController { @Override public void onValues(int result, short addr) { - if (result == Result.SUCCESS) { - synchronized (mLock) { - mPhysicalAddress = new Short(addr).intValue(); + synchronized (mLock) { + if (result == Result.SUCCESS) { + mPhysicalAddress = Short.toUnsignedInt(addr); + } else { + mPhysicalAddress = INVALID_PHYSICAL_ADDRESS; } } } @@ -1605,9 +1607,11 @@ final class HdmiCecController { @Override public void onValues(int result, short addr) { - if (result == Result.SUCCESS) { - synchronized (mLock) { - mPhysicalAddress = new Short(addr).intValue(); + synchronized (mLock) { + if (result == Result.SUCCESS) { + mPhysicalAddress = Short.toUnsignedInt(addr); + } else { + mPhysicalAddress = INVALID_PHYSICAL_ADDRESS; } } } |