Loading services/core/java/com/android/server/hdmi/Constants.java +2 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,8 @@ final class Constants { static final int UNKNOWN_VOLUME = -1; static final String PROPERTY_PREFERRED_ADDRESS_AUDIO_SYSTEM = "persist.sys.hdmi.addr.audiosystem"; static final String PROPERTY_PREFERRED_ADDRESS_PLAYBACK = "persist.sys.hdmi.addr.playback"; static final String PROPERTY_PREFERRED_ADDRESS_TV = "persist.sys.hdmi.addr.tv"; Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java +2 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,8 @@ abstract class HdmiCecLocalDevice { return new HdmiCecLocalDeviceTv(service); case HdmiDeviceInfo.DEVICE_PLAYBACK: return new HdmiCecLocalDevicePlayback(service); case HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM: return new HdmiCecLocalDeviceAudioSystem(service); default: return null; } Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.hdmi; import android.hardware.hdmi.HdmiDeviceInfo; import android.os.SystemProperties; /** * Represent a logical device of type {@link HdmiDeviceInfo#DEVICE_AUDIO_SYSTEM} residing in * Android system. */ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDevice { protected HdmiCecLocalDeviceAudioSystem(HdmiControlService service) { super(service, HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM); } @Override @HdmiAnnotations.ServiceThreadOnly protected void onAddressAllocated(int logicalAddress, int reason) { assertRunOnServiceThread(); mService.sendCecCommand(HdmiCecMessageBuilder.buildReportPhysicalAddressCommand( mAddress, mService.getPhysicalAddress(), mDeviceType)); mService.sendCecCommand(HdmiCecMessageBuilder.buildDeviceVendorIdCommand( mAddress, mService.getVendorId())); startQueuedActions(); } @Override @HdmiAnnotations.ServiceThreadOnly protected int getPreferredAddress() { assertRunOnServiceThread(); return SystemProperties.getInt(Constants.PROPERTY_PREFERRED_ADDRESS_AUDIO_SYSTEM, Constants.ADDR_UNREGISTERED); } @Override @HdmiAnnotations.ServiceThreadOnly protected void setPreferredAddress(int addr) { assertRunOnServiceThread(); SystemProperties.set(Constants.PROPERTY_PREFERRED_ADDRESS_AUDIO_SYSTEM, String.valueOf(addr)); } } Loading
services/core/java/com/android/server/hdmi/Constants.java +2 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,8 @@ final class Constants { static final int UNKNOWN_VOLUME = -1; static final String PROPERTY_PREFERRED_ADDRESS_AUDIO_SYSTEM = "persist.sys.hdmi.addr.audiosystem"; static final String PROPERTY_PREFERRED_ADDRESS_PLAYBACK = "persist.sys.hdmi.addr.playback"; static final String PROPERTY_PREFERRED_ADDRESS_TV = "persist.sys.hdmi.addr.tv"; Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java +2 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,8 @@ abstract class HdmiCecLocalDevice { return new HdmiCecLocalDeviceTv(service); case HdmiDeviceInfo.DEVICE_PLAYBACK: return new HdmiCecLocalDevicePlayback(service); case HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM: return new HdmiCecLocalDeviceAudioSystem(service); default: return null; } Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.hdmi; import android.hardware.hdmi.HdmiDeviceInfo; import android.os.SystemProperties; /** * Represent a logical device of type {@link HdmiDeviceInfo#DEVICE_AUDIO_SYSTEM} residing in * Android system. */ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDevice { protected HdmiCecLocalDeviceAudioSystem(HdmiControlService service) { super(service, HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM); } @Override @HdmiAnnotations.ServiceThreadOnly protected void onAddressAllocated(int logicalAddress, int reason) { assertRunOnServiceThread(); mService.sendCecCommand(HdmiCecMessageBuilder.buildReportPhysicalAddressCommand( mAddress, mService.getPhysicalAddress(), mDeviceType)); mService.sendCecCommand(HdmiCecMessageBuilder.buildDeviceVendorIdCommand( mAddress, mService.getVendorId())); startQueuedActions(); } @Override @HdmiAnnotations.ServiceThreadOnly protected int getPreferredAddress() { assertRunOnServiceThread(); return SystemProperties.getInt(Constants.PROPERTY_PREFERRED_ADDRESS_AUDIO_SYSTEM, Constants.ADDR_UNREGISTERED); } @Override @HdmiAnnotations.ServiceThreadOnly protected void setPreferredAddress(int addr) { assertRunOnServiceThread(); SystemProperties.set(Constants.PROPERTY_PREFERRED_ADDRESS_AUDIO_SYSTEM, String.valueOf(addr)); } }