am bbfec56d: Merge "CEC: Make TV try to allocate logical address 0 first" into lmp-mr1-dev

* commit 'bbfec56dfcb1fdcb0307b3df83e2ad855c0b0b88':
  CEC: Make TV try to allocate logical address 0 first
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
index 7f2f5a9..4673b8c 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
@@ -222,18 +222,13 @@
     }
 
     @Override
-    @ServiceThreadOnly
     protected int getPreferredAddress() {
-        assertRunOnServiceThread();
-        return SystemProperties.getInt(Constants.PROPERTY_PREFERRED_ADDRESS_TV,
-                Constants.ADDR_UNREGISTERED);
+        return Constants.ADDR_TV;
     }
 
     @Override
-    @ServiceThreadOnly
     protected void setPreferredAddress(int addr) {
-        assertRunOnServiceThread();
-        SystemProperties.set(Constants.PROPERTY_PREFERRED_ADDRESS_TV, String.valueOf(addr));
+        Slog.w(TAG, "Preferred addres will not be stored for TV");
     }
 
     @Override
@@ -1631,7 +1626,7 @@
             Slog.w(TAG, "Invalid record source." + Arrays.toString(recordSource));
             announceOneTouchRecordResult(recorderAddress,
                     ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN);
-            return Constants.ABORT_UNABLE_TO_DETERMINE;
+            return Constants.ABORT_CANNOT_PROVIDE_SOURCE;
         }
 
         addAndStartAction(new OneTouchRecordAction(this, recorderAddress, recordSource));
diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java
index 37909cc..2e7f0a5 100644
--- a/services/core/java/com/android/server/hdmi/HdmiControlService.java
+++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java
@@ -1192,7 +1192,8 @@
             }
             int activePath = tv.getActivePath();
             if (activePath != HdmiDeviceInfo.PATH_INVALID) {
-                return new HdmiDeviceInfo(activePath, tv.getActivePortId());
+                HdmiDeviceInfo info = tv.getDeviceInfoByPath(activePath);
+                return (info != null) ? info : new HdmiDeviceInfo(activePath, tv.getActivePortId());
             }
             return null;
         }