diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 441ce317d357a15d1ef59141b616052f83321216..fe31bf078717e3a46946a98bf6b0a999550ee24e 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -6131,6 +6131,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { private class HdmiVideoExtconUEventObserver extends ExtconStateObserver { private static final String HDMI_EXIST = "HDMI=1"; + private static final String DP_EXIST = "DP=1"; private static final String NAME = "hdmi"; private boolean init(ExtconInfo hdmi) { @@ -6161,7 +6162,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { public Boolean parseState(ExtconInfo extconIfno, String state) { // extcon event state changes from kernel4.9 // new state will be like STATE=HDMI=1 - return state.contains(HDMI_EXIST); + // or like STATE=DP=1 for newer kernel + return state.contains(HDMI_EXIST) || state.contains(DP_EXIST); } }