|
18 | 18 |
|
19 | 19 | import static com.android.server.hdmi.Constants.DISABLED; |
20 | 20 | import static com.android.server.hdmi.Constants.ENABLED; |
21 | | -import static com.android.server.hdmi.Constants.OPTION_CEC_AUTO_DEVICE_OFF; |
22 | 21 | import static com.android.server.hdmi.Constants.OPTION_CEC_AUTO_WAKEUP; |
23 | 22 | import static com.android.server.hdmi.Constants.OPTION_CEC_ENABLE; |
24 | 23 | import static com.android.server.hdmi.Constants.OPTION_CEC_SERVICE_CONTROL; |
|
33 | 32 | import android.content.Intent; |
34 | 33 | import android.content.IntentFilter; |
35 | 34 | import android.database.ContentObserver; |
36 | | -import android.hardware.hdmi.HdmiDeviceInfo; |
37 | 35 | import android.hardware.hdmi.HdmiControlManager; |
| 36 | +import android.hardware.hdmi.HdmiDeviceInfo; |
38 | 37 | import android.hardware.hdmi.HdmiHotplugEvent; |
39 | 38 | import android.hardware.hdmi.HdmiPortInfo; |
40 | 39 | import android.hardware.hdmi.IHdmiControlCallback; |
|
55 | 54 | import android.os.PowerManager; |
56 | 55 | import android.os.RemoteException; |
57 | 56 | import android.os.SystemClock; |
| 57 | +import android.os.SystemProperties; |
58 | 58 | import android.os.UserHandle; |
59 | 59 | import android.provider.Settings.Global; |
| 60 | +import android.text.TextUtils; |
60 | 61 | import android.util.ArraySet; |
61 | 62 | import android.util.Slog; |
62 | 63 | import android.util.SparseArray; |
@@ -244,11 +245,24 @@ public void onReceive(Context context, Intent intent) { |
244 | 245 |
|
245 | 246 | public HdmiControlService(Context context) { |
246 | 247 | super(context); |
247 | | - mLocalDevices = HdmiUtils.asImmutableList(getContext().getResources().getIntArray( |
248 | | - com.android.internal.R.array.config_hdmiCecLogicalDeviceType)); |
| 248 | + mLocalDevices = getIntList(SystemProperties.get(Constants.PROPERTY_DEVICE_TYPE)); |
249 | 249 | mSettingsObserver = new SettingsObserver(mHandler); |
250 | 250 | } |
251 | 251 |
|
| 252 | + private static List<Integer> getIntList(String string) { |
| 253 | + ArrayList<Integer> list = new ArrayList<>(); |
| 254 | + TextUtils.SimpleStringSplitter splitter = new TextUtils.SimpleStringSplitter(','); |
| 255 | + splitter.setString(string); |
| 256 | + for (String item : splitter) { |
| 257 | + try { |
| 258 | + list.add(Integer.parseInt(item)); |
| 259 | + } catch (NumberFormatException e) { |
| 260 | + Slog.w(TAG, "Can't parseInt: " + item); |
| 261 | + } |
| 262 | + } |
| 263 | + return Collections.unmodifiableList(list); |
| 264 | + } |
| 265 | + |
252 | 266 | @Override |
253 | 267 | public void onStart() { |
254 | 268 | mIoThread.start(); |
|
0 commit comments