Loading services/core/java/com/android/server/hdmi/Constants.java +39 −0 Original line number Original line Diff line number Diff line Loading @@ -507,6 +507,15 @@ final class Constants { static final int ALL_DEVICE_TYPES_PLAYBACK = 4; static final int ALL_DEVICE_TYPES_PLAYBACK = 4; static final int ALL_DEVICE_TYPES_AUDIO_SYSTEM = 3; static final int ALL_DEVICE_TYPES_AUDIO_SYSTEM = 3; static final int ALL_DEVICE_TYPES_SWITCH = 2; static final int ALL_DEVICE_TYPES_SWITCH = 2; @IntDef({ ALL_DEVICE_TYPES_TV, ALL_DEVICE_TYPES_RECORDER, ALL_DEVICE_TYPES_TUNER, ALL_DEVICE_TYPES_PLAYBACK, ALL_DEVICE_TYPES_AUDIO_SYSTEM, ALL_DEVICE_TYPES_SWITCH }) @interface DeviceType {} static final int DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN = 6; static final int DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN = 6; static final int DEVICE_FEATURE_TV_SUPPORTS_SET_OSD_STRING = 5; static final int DEVICE_FEATURE_TV_SUPPORTS_SET_OSD_STRING = 5; Loading @@ -514,21 +523,51 @@ final class Constants { static final int DEVICE_FEATURE_SUPPORTS_SET_AUDIO_RATE = 3; static final int DEVICE_FEATURE_SUPPORTS_SET_AUDIO_RATE = 3; static final int DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX = 2; static final int DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX = 2; static final int DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX = 1; static final int DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX = 1; @IntDef({ DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN, DEVICE_FEATURE_TV_SUPPORTS_SET_OSD_STRING, DEVICE_FEATURE_SUPPORTS_DECK_CONTROL, DEVICE_FEATURE_SUPPORTS_SET_AUDIO_RATE, DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX, DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX }) @interface DeviceFeature {} static final int RC_PROFILE_TV = 0; static final int RC_PROFILE_TV = 0; static final int RC_PROFILE_SOURCE = 1; static final int RC_PROFILE_SOURCE = 1; @IntDef({ RC_PROFILE_TV, RC_PROFILE_SOURCE }) @interface RcProfile {} static final int RC_PROFILE_TV_NONE = 0x0; static final int RC_PROFILE_TV_NONE = 0x0; static final int RC_PROFILE_TV_ONE = 0x2; static final int RC_PROFILE_TV_ONE = 0x2; static final int RC_PROFILE_TV_TWO = 0x6; static final int RC_PROFILE_TV_TWO = 0x6; static final int RC_PROFILE_TV_THREE = 0xA; static final int RC_PROFILE_TV_THREE = 0xA; static final int RC_PROFILE_TV_FOUR = 0xE; static final int RC_PROFILE_TV_FOUR = 0xE; @IntDef({ RC_PROFILE_TV_NONE, RC_PROFILE_TV_ONE, RC_PROFILE_TV_TWO, RC_PROFILE_TV_THREE, RC_PROFILE_TV_FOUR }) @interface RcProfileTv {} static final int RC_PROFILE_SOURCE_HANDLES_ROOT_MENU = 4; static final int RC_PROFILE_SOURCE_HANDLES_ROOT_MENU = 4; static final int RC_PROFILE_SOURCE_HANDLES_SETUP_MENU = 3; static final int RC_PROFILE_SOURCE_HANDLES_SETUP_MENU = 3; static final int RC_PROFILE_SOURCE_HANDLES_CONTENTS_MENU = 2; static final int RC_PROFILE_SOURCE_HANDLES_CONTENTS_MENU = 2; static final int RC_PROFILE_SOURCE_HANDLES_TOP_MENU = 1; static final int RC_PROFILE_SOURCE_HANDLES_TOP_MENU = 1; static final int RC_PROFILE_SOURCE_HANDLES_MEDIA_CONTEXT_SENSITIVE_MENU = 0; static final int RC_PROFILE_SOURCE_HANDLES_MEDIA_CONTEXT_SENSITIVE_MENU = 0; @IntDef({ RC_PROFILE_SOURCE_HANDLES_ROOT_MENU, RC_PROFILE_SOURCE_HANDLES_SETUP_MENU, RC_PROFILE_SOURCE_HANDLES_CONTENTS_MENU, RC_PROFILE_SOURCE_HANDLES_TOP_MENU, RC_PROFILE_SOURCE_HANDLES_MEDIA_CONTEXT_SENSITIVE_MENU }) @interface RcProfileSource {} private Constants() { private Constants() { /* cannot be instantiated */ /* cannot be instantiated */ Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -554,6 +554,7 @@ abstract class HdmiCecLocalDevice { return false; return false; } } @Constants.RcProfile protected abstract int getRcProfile(); protected abstract int getRcProfile(); protected abstract List<Integer> getRcFeatures(); protected abstract List<Integer> getRcFeatures(); Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +7 −3 Original line number Original line Diff line number Diff line Loading @@ -47,8 +47,6 @@ import com.android.server.hdmi.HdmiAnnotations.ServiceThreadOnly; import com.android.server.hdmi.HdmiUtils.CodecSad; import com.android.server.hdmi.HdmiUtils.CodecSad; import com.android.server.hdmi.HdmiUtils.DeviceConfig; import com.android.server.hdmi.HdmiUtils.DeviceConfig; import com.google.android.collect.Lists; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException; import java.io.File; import java.io.File; Loading Loading @@ -179,7 +177,13 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { @Override @Override protected List<Integer> getDeviceFeatures() { protected List<Integer> getDeviceFeatures() { return Lists.newArrayList(Constants.DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX); List<Integer> deviceFeatures = new ArrayList<>(); if (SystemProperties.getBoolean(Constants.PROPERTY_ARC_SUPPORT, true)) { deviceFeatures.add(Constants.DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX); } return deviceFeatures; } } @Override @Override Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java +3 −4 Original line number Original line Diff line number Diff line Loading @@ -296,6 +296,7 @@ abstract class HdmiCecLocalDeviceSource extends HdmiCecLocalDevice { // do nothing // do nothing } } @Constants.RcProfile @Override @Override protected int getRcProfile() { protected int getRcProfile() { return Constants.RC_PROFILE_SOURCE; return Constants.RC_PROFILE_SOURCE; Loading @@ -303,10 +304,8 @@ abstract class HdmiCecLocalDeviceSource extends HdmiCecLocalDevice { @Override @Override protected List<Integer> getRcFeatures() { protected List<Integer> getRcFeatures() { return Lists.newArrayList(Constants.RC_PROFILE_SOURCE_HANDLES_CONTENTS_MENU, return Lists.newArrayList(Constants.RC_PROFILE_SOURCE_HANDLES_ROOT_MENU, Constants.RC_PROFILE_SOURCE_HANDLES_ROOT_MENU, Constants.RC_PROFILE_SOURCE_HANDLES_SETUP_MENU); Constants.RC_PROFILE_SOURCE_HANDLES_SETUP_MENU, Constants.RC_PROFILE_SOURCE_HANDLES_TOP_MENU); } } @Override @Override Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java +17 −2 Original line number Original line Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.server.hdmi.HdmiControlService.SendMessageCallback; import com.google.android.collect.Lists; import com.google.android.collect.Lists; import java.util.ArrayList; import java.util.Arrays; import java.util.Arrays; import java.util.HashMap; import java.util.HashMap; import java.util.List; import java.util.List; Loading Loading @@ -1480,6 +1481,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { return true; return true; } } @Constants.RcProfile @Override @Override protected int getRcProfile() { protected int getRcProfile() { return Constants.RC_PROFILE_TV; return Constants.RC_PROFILE_TV; Loading @@ -1492,8 +1494,21 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { @Override @Override protected List<Integer> getDeviceFeatures() { protected List<Integer> getDeviceFeatures() { return Lists.newArrayList(Constants.DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX, List<Integer> deviceFeatures = new ArrayList<>(); Constants.DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN); boolean hasArcPort = false; List<HdmiPortInfo> ports = mService.getPortInfo(); for (HdmiPortInfo port : ports) { if (isArcFeatureEnabled(port.getId())) { hasArcPort = true; break; } } if (hasArcPort) { deviceFeatures.add(Constants.DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX); } deviceFeatures.add(Constants.DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN); return deviceFeatures; } } @Override @Override Loading Loading
services/core/java/com/android/server/hdmi/Constants.java +39 −0 Original line number Original line Diff line number Diff line Loading @@ -507,6 +507,15 @@ final class Constants { static final int ALL_DEVICE_TYPES_PLAYBACK = 4; static final int ALL_DEVICE_TYPES_PLAYBACK = 4; static final int ALL_DEVICE_TYPES_AUDIO_SYSTEM = 3; static final int ALL_DEVICE_TYPES_AUDIO_SYSTEM = 3; static final int ALL_DEVICE_TYPES_SWITCH = 2; static final int ALL_DEVICE_TYPES_SWITCH = 2; @IntDef({ ALL_DEVICE_TYPES_TV, ALL_DEVICE_TYPES_RECORDER, ALL_DEVICE_TYPES_TUNER, ALL_DEVICE_TYPES_PLAYBACK, ALL_DEVICE_TYPES_AUDIO_SYSTEM, ALL_DEVICE_TYPES_SWITCH }) @interface DeviceType {} static final int DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN = 6; static final int DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN = 6; static final int DEVICE_FEATURE_TV_SUPPORTS_SET_OSD_STRING = 5; static final int DEVICE_FEATURE_TV_SUPPORTS_SET_OSD_STRING = 5; Loading @@ -514,21 +523,51 @@ final class Constants { static final int DEVICE_FEATURE_SUPPORTS_SET_AUDIO_RATE = 3; static final int DEVICE_FEATURE_SUPPORTS_SET_AUDIO_RATE = 3; static final int DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX = 2; static final int DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX = 2; static final int DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX = 1; static final int DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX = 1; @IntDef({ DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN, DEVICE_FEATURE_TV_SUPPORTS_SET_OSD_STRING, DEVICE_FEATURE_SUPPORTS_DECK_CONTROL, DEVICE_FEATURE_SUPPORTS_SET_AUDIO_RATE, DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX, DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX }) @interface DeviceFeature {} static final int RC_PROFILE_TV = 0; static final int RC_PROFILE_TV = 0; static final int RC_PROFILE_SOURCE = 1; static final int RC_PROFILE_SOURCE = 1; @IntDef({ RC_PROFILE_TV, RC_PROFILE_SOURCE }) @interface RcProfile {} static final int RC_PROFILE_TV_NONE = 0x0; static final int RC_PROFILE_TV_NONE = 0x0; static final int RC_PROFILE_TV_ONE = 0x2; static final int RC_PROFILE_TV_ONE = 0x2; static final int RC_PROFILE_TV_TWO = 0x6; static final int RC_PROFILE_TV_TWO = 0x6; static final int RC_PROFILE_TV_THREE = 0xA; static final int RC_PROFILE_TV_THREE = 0xA; static final int RC_PROFILE_TV_FOUR = 0xE; static final int RC_PROFILE_TV_FOUR = 0xE; @IntDef({ RC_PROFILE_TV_NONE, RC_PROFILE_TV_ONE, RC_PROFILE_TV_TWO, RC_PROFILE_TV_THREE, RC_PROFILE_TV_FOUR }) @interface RcProfileTv {} static final int RC_PROFILE_SOURCE_HANDLES_ROOT_MENU = 4; static final int RC_PROFILE_SOURCE_HANDLES_ROOT_MENU = 4; static final int RC_PROFILE_SOURCE_HANDLES_SETUP_MENU = 3; static final int RC_PROFILE_SOURCE_HANDLES_SETUP_MENU = 3; static final int RC_PROFILE_SOURCE_HANDLES_CONTENTS_MENU = 2; static final int RC_PROFILE_SOURCE_HANDLES_CONTENTS_MENU = 2; static final int RC_PROFILE_SOURCE_HANDLES_TOP_MENU = 1; static final int RC_PROFILE_SOURCE_HANDLES_TOP_MENU = 1; static final int RC_PROFILE_SOURCE_HANDLES_MEDIA_CONTEXT_SENSITIVE_MENU = 0; static final int RC_PROFILE_SOURCE_HANDLES_MEDIA_CONTEXT_SENSITIVE_MENU = 0; @IntDef({ RC_PROFILE_SOURCE_HANDLES_ROOT_MENU, RC_PROFILE_SOURCE_HANDLES_SETUP_MENU, RC_PROFILE_SOURCE_HANDLES_CONTENTS_MENU, RC_PROFILE_SOURCE_HANDLES_TOP_MENU, RC_PROFILE_SOURCE_HANDLES_MEDIA_CONTEXT_SENSITIVE_MENU }) @interface RcProfileSource {} private Constants() { private Constants() { /* cannot be instantiated */ /* cannot be instantiated */ Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -554,6 +554,7 @@ abstract class HdmiCecLocalDevice { return false; return false; } } @Constants.RcProfile protected abstract int getRcProfile(); protected abstract int getRcProfile(); protected abstract List<Integer> getRcFeatures(); protected abstract List<Integer> getRcFeatures(); Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +7 −3 Original line number Original line Diff line number Diff line Loading @@ -47,8 +47,6 @@ import com.android.server.hdmi.HdmiAnnotations.ServiceThreadOnly; import com.android.server.hdmi.HdmiUtils.CodecSad; import com.android.server.hdmi.HdmiUtils.CodecSad; import com.android.server.hdmi.HdmiUtils.DeviceConfig; import com.android.server.hdmi.HdmiUtils.DeviceConfig; import com.google.android.collect.Lists; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException; import java.io.File; import java.io.File; Loading Loading @@ -179,7 +177,13 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { @Override @Override protected List<Integer> getDeviceFeatures() { protected List<Integer> getDeviceFeatures() { return Lists.newArrayList(Constants.DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX); List<Integer> deviceFeatures = new ArrayList<>(); if (SystemProperties.getBoolean(Constants.PROPERTY_ARC_SUPPORT, true)) { deviceFeatures.add(Constants.DEVICE_FEATURE_SOURCE_SUPPORTS_ARC_RX); } return deviceFeatures; } } @Override @Override Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java +3 −4 Original line number Original line Diff line number Diff line Loading @@ -296,6 +296,7 @@ abstract class HdmiCecLocalDeviceSource extends HdmiCecLocalDevice { // do nothing // do nothing } } @Constants.RcProfile @Override @Override protected int getRcProfile() { protected int getRcProfile() { return Constants.RC_PROFILE_SOURCE; return Constants.RC_PROFILE_SOURCE; Loading @@ -303,10 +304,8 @@ abstract class HdmiCecLocalDeviceSource extends HdmiCecLocalDevice { @Override @Override protected List<Integer> getRcFeatures() { protected List<Integer> getRcFeatures() { return Lists.newArrayList(Constants.RC_PROFILE_SOURCE_HANDLES_CONTENTS_MENU, return Lists.newArrayList(Constants.RC_PROFILE_SOURCE_HANDLES_ROOT_MENU, Constants.RC_PROFILE_SOURCE_HANDLES_ROOT_MENU, Constants.RC_PROFILE_SOURCE_HANDLES_SETUP_MENU); Constants.RC_PROFILE_SOURCE_HANDLES_SETUP_MENU, Constants.RC_PROFILE_SOURCE_HANDLES_TOP_MENU); } } @Override @Override Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java +17 −2 Original line number Original line Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.server.hdmi.HdmiControlService.SendMessageCallback; import com.google.android.collect.Lists; import com.google.android.collect.Lists; import java.util.ArrayList; import java.util.Arrays; import java.util.Arrays; import java.util.HashMap; import java.util.HashMap; import java.util.List; import java.util.List; Loading Loading @@ -1480,6 +1481,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { return true; return true; } } @Constants.RcProfile @Override @Override protected int getRcProfile() { protected int getRcProfile() { return Constants.RC_PROFILE_TV; return Constants.RC_PROFILE_TV; Loading @@ -1492,8 +1494,21 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { @Override @Override protected List<Integer> getDeviceFeatures() { protected List<Integer> getDeviceFeatures() { return Lists.newArrayList(Constants.DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX, List<Integer> deviceFeatures = new ArrayList<>(); Constants.DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN); boolean hasArcPort = false; List<HdmiPortInfo> ports = mService.getPortInfo(); for (HdmiPortInfo port : ports) { if (isArcFeatureEnabled(port.getId())) { hasArcPort = true; break; } } if (hasArcPort) { deviceFeatures.add(Constants.DEVICE_FEATURE_SINK_SUPPORTS_ARC_TX); } deviceFeatures.add(Constants.DEVICE_FEATURE_TV_SUPPORTS_RECORD_TV_SCREEN); return deviceFeatures; } } @Override @Override Loading