From 0cbc3786f37cc47fcdddc99c26455d5fb37c318f Mon Sep 17 00:00:00 2001 From: Nick Chalko Date: Wed, 25 Sep 2019 12:07:23 -0700 Subject: Use HdmiProperties class for ro.hdmi.device_type Bug: 141581191 Test: m services.core Change-Id: Iff969f5f698d1308842dc91ef55220eb002b1244 Merged-In: Iff969f5f698d1308842dc91ef55220eb002b1244 --- services/core/java/com/android/server/hdmi/Constants.java | 4 ---- .../java/com/android/server/hdmi/HdmiControlService.java | 12 +++++++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/hdmi/Constants.java b/services/core/java/com/android/server/hdmi/Constants.java index 7c42cc2465e0..3006ef41931f 100644 --- a/services/core/java/com/android/server/hdmi/Constants.java +++ b/services/core/java/com/android/server/hdmi/Constants.java @@ -306,10 +306,6 @@ final class Constants { static final String PROPERTY_PREFERRED_ADDRESS_PLAYBACK = "persist.sys.hdmi.addr.playback"; static final String PROPERTY_PREFERRED_ADDRESS_TV = "persist.sys.hdmi.addr.tv"; - // Property name for the local device configurations. - // TODO(OEM): OEM should provide this property, and the value is the comma separated integer - // values which denotes the device type in HDMI Spec 1.4. - static final String PROPERTY_DEVICE_TYPE = "ro.hdmi.device_type"; // TODO(OEM): Set this to false to keep the playback device in sleep upon hotplug event. // True by default. diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java index a83dd215593f..d489c395cb8a 100644 --- a/services/core/java/com/android/server/hdmi/HdmiControlService.java +++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java @@ -67,6 +67,7 @@ import android.os.SystemClock; import android.os.SystemProperties; import android.os.UserHandle; import android.provider.Settings.Global; +import android.sysprop.HdmiProperties; import android.text.TextUtils; import android.util.ArraySet; import android.util.Slog; @@ -94,6 +95,8 @@ import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * Provides a service for sending and processing HDMI control messages, @@ -435,7 +438,14 @@ public class HdmiControlService extends SystemService { public HdmiControlService(Context context) { super(context); - mLocalDevices = getIntList(SystemProperties.get(Constants.PROPERTY_DEVICE_TYPE)); + List deviceTypes = HdmiProperties.device_type(); + if (deviceTypes.contains(null)) { + Slog.w(TAG, "Error parsing ro.hdmi.device.type: " + SystemProperties.get( + "ro.hdmi.device_type")); + deviceTypes = deviceTypes.stream().filter(Objects::nonNull).collect( + Collectors.toList()); + } + mLocalDevices = deviceTypes; mSettingsObserver = new SettingsObserver(mHandler); } -- cgit v1.2.3-59-g8ed1b